Commit Graph
122 Commits
Author SHA1 Message Date
Oleksii Kliukin a8a5c104ce write pg_hba.conf for the replica initialized from WAL-E. Temporarily use WAL-e always as a mean to create replica for testing purposes. 2015-05-19 14:24:01 +02:00
Oleksii Kliukin 36282a10b2 fix a typo. 2015-05-19 14:04:51 +02:00
Oleksii Kliukin 380f0a27ac save postgresql.conf not only on initdb, but on any start of the server. 2015-05-19 13:56:42 +02:00
Oleksii Kliukin ae631aae69 save/restore postgresql.conf for WAL-e backups, since WAL-E excludes postgresql.conf from the backup/restore. 2015-05-19 12:01:45 +02:00
Oleksii Kliukin 9fc412a673 some arithmetics and type conversion fixes. 2015-05-19 10:32:48 +02:00
Oleksii Kliukin ea5b4e9725 fix a typo. 2015-05-19 10:07:12 +02:00
Oleksii Kliukin 20fa4b21ca split arguments for check_output when checking for the latest backup. 2015-05-19 09:19:53 +02:00
Oleksii Kliukin 169288c46c add functionality to fetch base backup from wal-e for the new replica creation and code to decide whether to use wal-e or pg_basebackup. 2015-05-18 18:05:04 +02:00
Alexander Kukushkin f6d168f65e Create connection users 2015-05-18 10:36:09 +02:00
Alexander Kukushkin e997911b8d Merge branch 'master' of github.com:CyberDem0n/governor
Conflicts:
	helpers/postgresql.py
2015-05-15 16:21:59 +02:00
Alexander Kukushkin 348100752b Open connection to self via listen address 2015-05-15 16:18:31 +02:00
Feike Steenbergen 613b8793ce Merge pull request #8 from zalando/feature/connect_address
Feature/connect address
2015-05-15 13:54:00 +02:00
Feike Steenbergen 0b669e0d20 Cleanup
Removed aws reference from Dockerfile, remove unnecessary steps.
Connect using libpq parameters, therefore providing nice application name for Governor.
2015-05-15 13:52:20 +02:00
Alexander Kukushkin 494d675f38 Merge pull request #7 from zalando/features/refactoring
Merge changes from compose/governer
2015-05-15 13:00:15 +02:00
Alexander Kukushkin 5ab99c6589 Get rid from all AWS references here.
connect_address give possibility to specify listen address and connect
address separetely, so there is no need to determine your external
address by doing requests to amazon api.
2015-05-15 12:39:05 +02:00
Alexander Kukushkin af9ebfa3b9 Use connect_address instead of listen when building connection_string 2015-05-15 12:20:24 +02:00
Alexander Kukushkin 75ff91d017 rename connection_address to connect_address 2015-05-15 12:13:05 +02:00
Alexander Kukushkin 08865512f8 Differentiate between connection address and listen address
For example you can listen on 0.0.0.0 but provide service on some
didicated ip. This should cover all possible use-cases when you are
running behind firewall, load balancer or inside for example docker.
2015-05-15 12:06:04 +02:00
Alexander Kukushkin 2fd81a5135 Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring 2015-05-15 11:39:25 +02:00
Alexander Kukushkin 274bc14bfb Do not check maximum_lag_on_failover if it is not defined in config file 2015-05-15 11:38:50 +02:00
Alexander Kukushkin 8e5beb5883 Small optimization 2015-05-15 11:25:26 +02:00
Alexander Kukushkin 9487aec842 Bugfix: get_client_path might get into infinite loop when response code is not 200 2015-05-15 11:23:02 +02:00
Alexander Kukushkin 4e8a0873a7 Handle sigchld, so we can run governor and postgres inside docker safely 2015-05-13 18:05:42 +02:00
Alexander Kukushkin e6e19359df Bugfix, write state_handler.name into leader key 2015-05-13 18:04:27 +02:00
Alexander Kukushkin 0c040b8ce2 Merge branch 'master' of github.com:compose/governor
Conflicts:
	governor.py
	helpers/etcd.py
	helpers/ha.py
	helpers/postgresql.py
2015-05-13 18:01:01 +02:00
Feike Steenbergen d33555242d Merge pull request #6 from zalando/features/refactoring
Remove member and leader (is I was the master) keys from etcd on stop of governor
2015-05-13 17:17:51 +02:00
Alexander Kukushkin b4f0909afa Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring 2015-05-13 17:12:32 +02:00
Alexander Kukushkin 40a4192504 Remove member and leader (is I was the master) keys from etcd on stop of governor 2015-05-13 17:12:17 +02:00
Alexander Kukushkin 2541fcd3f2 Merge pull request #5 from zalando/features/refactoring
Features/refactoring
2015-05-13 15:37:43 +02:00
Alexander Kukushkin 3fa0476d8c Merge branch 'master' of github.com:zalando/governor into features/refactoring 2015-05-13 14:58:54 +02:00
Oleksii Kliukin fce99b6ec3 Merge pull request #4 from zalando/handle_sigchld
Handle sigchld
2015-05-13 14:58:31 +02:00
Alexander Kukushkin b1f43c1461 Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
Conflicts:
	helpers/postgresql.py
2015-05-13 14:57:57 +02:00
Alexander Kukushkin d25ad17c32 Add support of python3 2015-05-13 14:53:23 +02:00
Oleksii Kliukin 609a4b2fc6 loop until we reap all terminated children. 2015-05-13 12:22:17 +02:00
Oleksii Kliukin 8ad751b661 add a simplest SIGCHLD handler in order to avoid zombies in the docker container governed by the script 2015-05-13 10:05:12 +02:00
Christopher Winslett f8c4993f16 add description of settings for yaml file 2015-05-12 18:53:57 -07:00
Christopher Winslett 2c69074652 move stale protection from is_healthy to is_healthiest to allow stale secondaries to rejoin cluster 2015-05-12 18:29:54 -07:00
Christopher Winslett 557bad37cd ensure a stale Postgres does not become leader 2015-05-12 18:11:12 -07:00
Christopher Winslett a1bc07db33 use TTLs with member listing to keep a current list of cluster members 2015-05-12 16:33:32 -07:00
Feike Steenbergen 127a03d23d Merge pull request #3 from zalando/feature/status_page
Refactoring of Governor, adding of a health check, setting default ports to sane values.
2015-05-12 15:50:28 +02:00
Feike Steenbergen 2b56379b85 Change default port for the health check to 8008. 2015-05-12 15:48:30 +02:00
Feike Steenbergen c4168bfeb5 Bugfix: Headers sent before http status for the pg_status page. 2015-05-12 14:56:02 +02:00
Feike Steenbergen 362b6b4fa2 Made healtcheck port configurable, fixed standalone status page. 2015-05-12 14:48:40 +02:00
Feike Steenbergen ed30684d85 Merge branch 'features/refactoring' of github.com:zalando/governor into feature/status_page
Conflicts:
	helpers/postgresql.py
2015-05-12 14:39:51 +02:00
Feike Steenbergen d25fdd41a6 Refactoring of the status page for the healthcheck.
Less functions, as the code is readable enough without them.
Always return some content to the client, instead of a response only.
2015-05-12 14:14:20 +02:00
Alexander Kukushkin 6043bf8c75 Fix imports 2015-05-12 14:07:10 +02:00
Alexander Kukushkin 788f65b406 Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
Conflicts:
	governor.py
2015-05-12 14:04:25 +02:00
Alexander Kukushkin 8b38dbd2b5 Put governor code into class and implement sigterm processing handler 2015-05-12 13:48:06 +02:00
Alexander Kukushkin 17112992d0 Merge branch 'master' of github.com:zalando/governor into features/refactoring
Conflicts:
	governor.py
2015-05-12 12:24:09 +02:00
Feike Steenbergen a56b346295 Hardened the health checks and implemented a real status page.
For the postgresql helper, hardened the code to get "the" cursor of the postgresql instance.
For the statuspage, a small status json is returned.
To find out what status a PostgreSQL cluster is in we use the cursor (instead of the provided query() function), as the query function does some retrying etc. For the healthcheck we want to simple provide an answer to a simple query, if we have to reconnect, we are not *that* healthy anyway.

Dropped catching exceptions in the do_GET block, as the HTTPServer will do that nicely for us anyway.
2015-05-12 11:58:47 +02:00