Oleksii Kliukin
3d123b41df
add unittests.
2015-06-04 17:19:33 +02:00
Oleksii Kliukin
ac46600816
more bugfixes.
2015-06-03 16:26:38 +02:00
Oleksii Kliukin
fb3bf799e9
Autodetect the host role during start from the existence of recovery.conf. Fix some typos.
2015-06-03 16:18:47 +02:00
Oleksii Kliukin
e06cd49deb
autodetect the host role during start from the existence of recovery.conf.
2015-06-03 16:13:03 +02:00
Oleksii Kliukin
1d3a946ffb
Fix wrong number of arguments for the EBS instance.
2015-06-03 15:52:35 +02:00
Oleksii Kliukin
c68beda75c
make sure on role change is called during the initial start of the server.
2015-06-03 15:49:38 +02:00
Oleksii Kliukin
0f518f87e7
fix a typo.
2015-06-03 14:45:02 +02:00
Oleksii Kliukin
eb3a120db1
add code to set tags on AWS objects (instances and EBS storage), as well as an ability for the postgres state_handler to call a callback when the state is changed, and use the new AWS code in a callback.
2015-06-03 12:56:00 +02:00
Oleksii Kliukin
9ae5998a25
Merge pull request #20 from zalando/features/refactoring
...
Try to avoid of double promote
2015-06-01 14:43:20 +02:00
Alexander Kukushkin
ccdff5ea99
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
tests/test_postgresql.py
2015-06-01 14:14:53 +02:00
Alexander Kukushkin
adcc7ac256
Try to avoid "double" promotion.
...
Also check presence of trigger_file on master after promotion when
pg_is_in_recovery() = false and if it is there - remove it.
Plus check presence of trigger_file on a new slave (after running
pg_basebackup) and if it is there - also remove it.
2015-06-01 13:48:44 +02:00
Alexander Kukushkin
8c4e547d7a
Handle KeyboardInterrupt in the main loop
2015-06-01 12:02:46 +02:00
Alexander Kukushkin
939254021e
Code cleanup: do not modify os.environ but pass copy of it to subprocess.call
2015-06-01 11:03:06 +02:00
Alexander Kukushkin
f8c3582715
Refactor api:
...
Call is_running only when it's not possible to execute query against
governed postgres.
2015-06-01 10:48:16 +02:00
Alexander Kukushkin
b85262637d
Bugfix: do not create replication slot for master
2015-06-01 09:20:24 +02:00
Feike Steenbergen
f8d4a22921
Merge pull request #19 from zalando/features/refactoring
...
Wrap time.sleep into wrapper function
2015-05-28 16:07:41 +02:00
Alexander Kukushkin
5fcb19b817
Merge branch 'sleep-sigchld' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
tests/test_governor.py
2015-05-28 15:55:03 +02:00
Alexander Kukushkin
aa486194ae
Wrap time.sleep into wrapper function
...
In case if it was interrupted by SIGCHLD but scheduled awake time is not
reached it will continue sleeping. For all other signals behaviuor is
not changed.
2015-05-28 15:47:51 +02:00
Alexander Kukushkin
9cd7000d7f
Merge branch 'master' of github.com:CyberDem0n/governor
2015-05-28 13:04:49 +02:00
Alexander Kukushkin
cd5e589620
Revert previous commit (restore sigchld_handler)
2015-05-28 13:04:21 +02:00
Feike Steenbergen
119c56e5d3
Merge pull request #18 from CyberDem0n/master
...
Set handler of SIGCHLD to SIG_IGN
2015-05-28 12:43:05 +02:00
Alexander Kukushkin
f76f77e964
Ignore SIGCHLD instead of processing it.
...
This way time.sleep wont be interrupted when some external process is
finished and terminated childs would be reaped automatically.
2015-05-28 12:25:49 +02:00
Feike Steenbergen
3d11fe1fe6
Merge pull request #17 from zalando/features/refactoring
...
Store api url of each governor together with connect url of postgres
2015-05-28 09:26:09 +02:00
Alexander Kukushkin
01e3beff1c
Merge pull request #2 from CyberDem0n/restapi
...
Restapi
2015-05-27 18:31:42 +02:00
Alexander Kukushkin
9971d214fe
Merge branch 'restapi' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
governor.py
2015-05-27 14:54:08 +02:00
Alexander Kukushkin
bdc4374ae3
connect address for rest api could be different from listen address
2015-05-27 14:51:41 +02:00
Alexander Kukushkin
5a817fad0d
Store in etcd endpoint of restapi
...
In order to have backward compatibility connection url of restapi is
passed as application_name parameter in connection url of database.
Value in etcd will look like:
postgres://user:passwd@host:5432/postgres?application_name=http://host:8080/governor
Sure, this is a hack, but I guess it worth it.
2015-05-27 14:46:35 +02:00
Alexander Kukushkin
77911144c7
Improve test of governor against real config files
2015-05-27 14:44:52 +02:00
Feike Steenbergen
c69f9459c6
Merge pull request #16 from zalando/features/refactoring
...
Replace os.system with subprocess.call
2015-05-27 11:32:53 +02:00
Alexander Kukushkin
b163a8896b
Merge branch 'restapi' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
2015-05-27 11:20:51 +02:00
Alexander Kukushkin
56a9f52a15
Replace os.system with subprocess.call
2015-05-27 11:16:16 +02:00
Alexander Kukushkin
0cd81a1ecf
Merge branch 'restapi' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
tests/test_postgresql.py
2015-05-27 11:15:15 +02:00
Alexander Kukushkin
9968a66048
helpers/postgresql.py
...
Replace os.system with subprocess.call
2015-05-27 11:08:06 +02:00
Alexander Kukushkin
56daec0d6c
Api: Bugfix for current_xlog_location in slaves.
2015-05-26 15:53:57 +02:00
Feike Steenbergen
ea416d98d7
Api: Bugfix for current_xlog_location in slaves.
2015-05-26 15:40:32 +02:00
Alexander Kukushkin
8cc0aa90b1
Fix typos when passing connection parameters to psycopg2.
2015-05-26 10:39:16 +02:00
Oleksii Kliukin
6072a8a07b
Merge pull request #15 from zalando/features/refactoring
...
More accurate exceptions handling
2015-05-26 10:36:57 +02:00
Oleksii Kliukin
7217d0b0c1
Fix typos when passing connection parameters to psycopg2.
2015-05-26 10:35:42 +02:00
Alexander Kukushkin
bbf1110518
Merge branch 'restapi' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
governor.py
helpers/postgresql.py
postgres0.yml
postgres1.yml
tests/test_postgresql.py
2015-05-26 09:56:35 +02:00
Feike Steenbergen
1322413863
Added some small TODO items.
2015-05-26 09:49:40 +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
45c4ba85b4
port for http servert must be integer
2015-05-26 09:17:58 +02:00
Alexander Kukushkin
cca5bdef8f
Configure listen address for restapi via a yaml file
2015-05-26 09:07:39 +02:00
Alexander Kukushkin
3e3acc3d3a
Do not start listening port during test
2015-05-26 08:59:42 +02:00
Alexander Kukushkin
faf295dcd0
Add initialize key into Cluster
2015-05-24 19:26:35 +02:00
Alexander Kukushkin
1096e04343
Bigfix, cursor.closed contains boolean value
2015-05-24 16:00:31 +02:00
Alexander Kukushkin
db34e1f458
Write get_postgresql_status exception into log file
2015-05-24 15:57:10 +02:00
Alexander Kukushkin
755f54f266
Improve test coverage for governor.py
2015-05-24 15:42:41 +02:00
Alexander Kukushkin
8dd99170bf
Refactor exceptions handling in etcd.py and ha.py
...
update_leader can throw EtcdError exception
unused HealthiestMemberError exception is removed
2015-05-24 15:40:36 +02:00
Alexander Kukushkin
188741de5a
Merge branch 'master' of github.com:CyberDem0n/governor into restapi
2015-05-24 09:02:42 +02:00