Commit Graph
46 Commits
Author SHA1 Message Date
Alexander Kukushkin 56a9f52a15 Replace os.system with subprocess.call 2015-05-27 11:16:16 +02:00
Alexander Kukushkin 8cc0aa90b1 Fix typos when passing connection parameters to psycopg2. 2015-05-26 10:39:16 +02:00
Alexander Kukushkin 518ef68a53 Use connect_timeout=3s and statement_timeout=2s everywhere (even for local connections) 2015-05-26 09:19:20 +02:00
Alexander Kukushkin ce267d9f1e query method will retry only in case of communication error 2015-05-24 09:01:23 +02:00
Alexander Kukushkin f53c369c69 Connect timeout 5 seconds for psycopg2
Refactored query and is_healthiest_node methods
query method wont retry more then 3 times if OperationalError raised
is_healthiest_node takes into account that one of the nodes could be
still a master
2015-05-23 20:21:13 +02:00
Alexander Kukushkin 09163ac454 If there is no connect_address defined in yml file use address from listen as a fallback 2015-05-22 12:03:43 +02:00
Alexander Kukushkin 4a4d9b85e5 Make sure that there is the new line at the end of pg_hba.con 2015-05-22 11:23:11 +02:00
Alexander Kukushkin 0d5bb48ead Close connection when querying other members of cluster 2015-05-19 14:01:30 +02:00
Alexander Kukushkin f7b6c8df40 Merge branch 'master' of github.com:CyberDem0n/governor
Conflicts:
	helpers/postgresql.py
2015-05-18 15:58:38 +02:00
Alexander Kukushkin e9ffcf9efe Small refactoring of initdb call 2015-05-18 15:57:24 +02:00
Alexander Kukushkin 422512880f last_leader_operation is the propery of Cluster object and the value is set in get_cluster method 2015-05-18 13:43:14 +02:00
Alexander Kukushkin b24fb0488c last_leader_operation is the propery of Cluster object and the value is set in get_cluster method 2015-05-18 13:33:27 +02:00
Alexander Kukushkin d221d1de1c listen_address can have more then one value separated by comma. We will use the first one to connect 2015-05-18 10:53:27 +02:00
Alexander Kukushkin 348100752b Open connection to self via listen address 2015-05-15 16:18:31 +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 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 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
Alexander Kukushkin d25ad17c32 Add support of python3 2015-05-13 14:53:23 +02: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
Alexander Kukushkin be7677a1b8 Bugfix, hostname and address are not keys of dict but properties of Member object 2015-05-12 09:08:45 +02:00
Alexander Kukushkin eb1721f65f Minimize amount of requests to etcd 2015-05-11 15:15:08 +02:00
Alexander Kukushkin 6d17d39776 Backport from compose/governor: compare xlog positions based on bytes since 0/000000 based on feedback 2015-05-11 10:06:18 +02:00
Alexander Kukushkin 2e3eb333cb Shutdown fast 2015-05-11 09:48:59 +02:00
Alexander Kukushkin 0b288a7f3e Track list of already existing physical replication slots
Drop replication slot when it was removed from etcd.
Execute pg_create_physical_replication_slot only when something new appeared in etcd.
2015-05-11 09:48:15 +02:00
Christopher Winslett 36c4c31e83 compare xlog positions based on bytes since 0/000000 based on feedback 2015-05-10 19:36:59 -07:00
Alexander Kukushkin 3a6afe5a9b Set environment variable PGPASSFILE via os.environ before running pg_basebackup and unset it afterwards 2015-05-08 16:32:57 +02:00
Alexander Kukushkin 61f0cb2fb4 dempote and follow_the_leader have the same functionality
Now methods supporting the case when leader is not defined. There would
be no primary_conninfo in recovery.conf. I like it more comparing to
postgres://169.0.0.1:5432
2015-05-08 12:28:00 +02:00
Alexander Kukushkin 40b20ce5d7 Start postmaster and run initdb with pg_ctl
It will wait utill postgres started up and helps to get rid from magic time.sleep(5) in start method.
2015-05-06 18:26:28 +02:00
Alexander Kukushkin 2fd1614144 query method now allow to execute sql with parameters 2015-05-06 17:52:39 +02:00
Alexander Kukushkin 1d5f3b1fff Do not write primary_conninfo into recovery.conf during start 2015-05-06 16:21:49 +02:00
Alexander Kukushkin 0c776f5d86 Small bugfixes 2015-05-06 14:11:37 +02:00
Alexander Kukushkin e108fec30a Try to replace % formatting with .format() 2015-05-06 13:48:16 +02:00
Alexander Kukushkin 6f3476a924 Try to replace % formatting with .format() 2015-05-06 13:09:11 +02:00
Alexander Kukushkin 5fc770a370 Got rid of unneeded calls of os.system 2015-05-06 12:38:18 +02:00
Alexander Kukushkin 4e786c1519 Format code according to pep8 2015-05-06 12:12:37 +02:00
Anthony ScalisiandChristopher Winslett 5facf8638e support multiple recovery params 2015-04-24 13:42:18 -05:00
Christopher Grim b979c12c9d Use timestamped logs 2015-04-03 17:27:47 -04:00
Anthony Scalisi f167bbaddc python tweaks 2015-03-26 12:35:20 -07:00
Christopher Winslett 289620746b remove postgresql pid 2015-03-19 09:08:41 -07:00
Christopher Winslett 0d75152d54 make healthiest node work 2015-03-16 09:47:52 -07:00
Christopher Winslett 450b9912d7 clean up some debugging statements 2015-03-16 08:30:15 -07:00
Christopher Winslett 3749883328 first commit 2015-03-15 23:16:48 -07:00