Commit Graph
51 Commits
Author SHA1 Message Date
Alexander Kukushkin 281b0b8455 Bugfix in has_lock: sometimes leader can be undefined 2015-05-12 11:07:52 +02:00
Alexander Kukushkin 9dcbc75fd2 Bugfix. It wasn't possible to start the old cluster if all its members were shutdown.
Basically this is rollback to the original decision tree with the small exception:
1 - If leader is defined and it's not me - then slave would be started immidiately
with the correct recovery conf.
2 - If leader is defined in and it's my host, then it will start instance in
readonly (but without primary_conninfo in recovery.conf)
3 - And the third case - if the leader is not defined - it also will start
instance in readonly, without primary_conninfo.
After performing 2 or 3 it will perform usual decision tree.
2015-05-12 10:19:45 +02: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 e2faf641d5 Start slave with the correct recovery.conf on governor start
Also governor is able to pick up already running master and slave
instances without restarting them.
In case is you have a lock and postgres is not running behaviour remains
the same: it will start master in read only mode and then promote if it
still has the lock.
2015-05-11 16:50:21 +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
Alexander Kukushkin 8cfbdcfcd4 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:44:57 +02:00
Alexander Kukushkin 588c951a86 Return True after success call of update_leader and check return code 2015-05-11 08:48:51 +02: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 72010f68cc Bugfix: two calls has_lock and update_lock are not atomic
Having a lock a few moments ago, doesn't mean that you will be able to
update it.
2015-05-08 16:21:09 +02:00
Alexander Kukushkin 810808a68a Format code according to pep8.
replace get_client_path("/members?recursive=true") with members()
replace do-plpgsq block by simple sql
2015-05-08 12:44:28 +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 1545cc834d Try to replace % formatting with .format() 2015-05-06 14:57:01 +02:00
Alexander Kukushkin 83ff6986d5 Format code according to pep8 2015-05-06 14:49:07 +02:00
Alexander Kukushkin a6d5732da3 Inerit HealthiestMemberError and CurrentLeaderError from EtcdError 2015-05-06 14:45:49 +02:00
Alexander Kukushkin c75bb2b297 Format code according to pep8 2015-05-06 14:39:15 +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 Winslett 772185728d update README based on @pires's recommendation #6 2015-04-22 14:26:09 -04:00
Christopher Winslett e5e12f9a99 Merge pull request #5 from bookest/logging
Use timestamped logs
2015-04-04 08:00:25 -07:00
Christopher Grim b979c12c9d Use timestamped logs 2015-04-03 17:27:47 -04:00
Christopher Winslett 6850bdce78 Merge pull request #4 from scalp42/fixes
Couple tweaks
2015-03-29 18:45:07 -07:00
Anthony Scalisi 378851eeff fix haproxy_status.sh to trim new lines 2015-03-26 12:35:36 -07: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 d07572e80e add a restarter to the ha loop 2015-03-19 08:46:14 -07:00
Dj Walker-Morgan 07c844e211 Add Python to Brew install list 2015-03-19 15:32:05 +00:00
Dj Walker-Morgan 4df1131647 Minor changes in headings 2015-03-19 10:39:30 +00:00
Dj Walker-Morgan eeeed5864d Added MIT Licence 2015-03-18 18:40:05 +00:00
Dj Walker-Morgan 81ca8a1d26 Changed title of Readme 2015-03-18 18:36:44 +00:00
Christopher Winslett 64b54dda39 change to governor name 2015-03-18 11:35:17 -07:00
Christopher Winslett 4501bbc761 Add a link to the PDF for the Readme 2015-03-17 11:43:23 -07:00
Christopher Winslett 3dd0bfde15 Add context for this project. 2015-03-17 11:40:04 -07:00
Christopher Winslett bcedaf3391 make README copy and pasteable 2015-03-16 16:23:42 -07:00
Christopher Winslett 04631800f2 add a haproxy router for a single connection point 2015-03-16 15:46:27 -07:00
Christopher Winslett d3f96ad2ca to to typo 2015-03-16 11:54:40 -07:00
Dj Walker-Morgan 3179c9dd30 Updated Readme.md
Added opening para  to set tone.
2015-03-16 18:53:28 +00:00
Christopher Winslett a62cf64c06 fix README linking 2015-03-16 09:49:36 -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 c96972ee3c add better information to the readme 2015-03-16 08:15:41 -07:00