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
Alexander Kukushkin
ce267d9f1e
query method will retry only in case of communication error
2015-05-24 09:01:23 +02:00
Alexander Kukushkin
d202f72a42
Added simple web server which shows current state of postgres
...
Server always returns json which contains some status of postgres:
* instance type: master/slave
* xlog location for master
* xlog received_location, replayed_location
This server could be used by haproxy
GET / returns 200 if there is postgres master behind governor.
GET /slave returns 200 is there is postgres slave behind governor
In all other cases it returns 503
Currently server always listening on 0.0.0.0:8080, but it should be
configurable. In the next versions this rest api could also report some
status of etcd and could be used by is_healthiest_node method
2015-05-23 20:29:51 +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
Feike Steenbergen
4b19daa83d
Merge pull request #14 from zalando/features/refactoring
...
Demote master when it can not access etcd
2015-05-22 13:25:41 +02:00
Alexander Kukushkin
7f9c10e33f
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
2015-05-22 12:27:02 +02:00
Alexander Kukushkin
b00846affc
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
2015-05-22 12:26:55 +02:00
Alexander Kukushkin
34f9b666cf
Demote master when etcd is not accessible
2015-05-22 12:26:19 +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
62d17d68de
Use "member_ttl" with default value=3600 for members
2015-05-22 12:00:07 +02:00
Alexander Kukushkin
096e6e4556
Eventually member will expire in etcd
2015-05-22 11:55:20 +02:00
Alexander Kukushkin
bb884bac00
Move is_unlocked method from Ha into Cluster class
2015-05-22 11:45:09 +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
Feike Steenbergen
e318b06409
Merge pull request #13 from zalando/feature/unittests
...
Add Tests for testing the statuspage, extend the PostgreSQL test to r…
2015-05-21 15:03:31 +02:00
Feike Steenbergen
f3e1c74d9b
Unittests: Remove some more unneccesary code.
2015-05-21 14:59:54 +02:00
Feike Steenbergen
ebfa29b89b
Remove "testing" code from the helpers
2015-05-21 14:58:24 +02:00
Feike Steenbergen
7f458a84bb
Remove unnessecary functions from unittest, fix one bug (return tuples) in cursor.
2015-05-21 14:53:25 +02:00
Feike Steenbergen
836a681157
Fixed the tests, by testing also found an squashed a bug in the StatusPage on python 3.
2015-05-21 14:40:07 +02:00
Feike Steenbergen
7afba469b4
Add Tests for testing the statuspage, extend the PostgreSQL test to return a wider result.
2015-05-21 13:56:08 +02:00
Feike Steenbergen
c05453cc98
Merge branch 'master' of github.com:zalando/governor
2015-05-21 12:17:56 +02:00
Feike Steenbergen
d958ed4fbc
Add badges to Governor showing test coverage and build status.
2015-05-21 09:31:35 +02:00
Alexander Kukushkin
d56b8772e5
Update unit tests
2015-05-20 18:21:08 +02:00
Alexander Kukushkin
1fb7b2cbe1
Compatibility with python3
2015-05-20 18:19:23 +02:00
Alexander Kukushkin
5d9a3d46a2
Format according to pep8
2015-05-20 18:18:45 +02:00
Alexander Kukushkin
86408f8dc4
Merge branch 'master' of github.com:zalando/governor
2015-05-20 17:59:56 +02:00
Oleksii Kliukin
eec61cbb83
Merge pull request #12 from zalando/s3_backups
...
S3 backups
2015-05-20 17:11:49 +02:00
Oleksii Kliukin
becce1dcf0
Merge branch 'master' of https://github.com/zalando/governor into s3_backups
2015-05-20 17:09:39 +02:00
Oleksii Kliukin
363b3c7122
Merge pull request #11 from CyberDem0n/master
...
some simple tests
2015-05-20 16:55:27 +02:00
Oleksii Kliukin
7dd1e295ca
re-add the encoding parameter to initdb.
2015-05-20 16:31:26 +02:00
Oleksii Kliukin
086ef4e0b1
Merge branch 's3_backups' of https://github.com/zalando/governor into s3_backups
2015-05-20 16:06:51 +02:00
Alexander Kukushkin
3533b790cb
Update list of success return codes for PUT and DELETE
2015-05-20 12:03:12 +02:00
Oleksii Kliukin
1c1a15908c
use governor yaml parameters and not environment variables to configure backups with WAL-E.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
8a36f17d21
retry with pg_basebackup if one cannot get data from WAL-E.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
3898610ea3
Put back the S3/pg_basebackup condition after testing.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
4af752d668
revert the S3/pg_basebackup choice to unconditionally prefer S3 for testing purposes.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
2efa97334b
returned the choice between S3 and pg_basebackup based on diff_in_bytes
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
e02eec91bf
save/restore both postgresql.conf and pg_hba.conf for WAL-e backup.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
42dfaaab3f
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-20 11:47:20 +02:00
Oleksii Kliukin
8a6a7b4cea
fix a typo.
2015-05-20 11:47:20 +02:00
Oleksii Kliukin
75b30d8014
save postgresql.conf not only on initdb, but on any start of the server.
2015-05-20 11:47:19 +02:00
Oleksii Kliukin
7a2be131bd
save/restore postgresql.conf for WAL-e backups, since WAL-E excludes postgresql.conf from the backup/restore.
2015-05-20 11:47:19 +02:00
Oleksii Kliukin
d4b366a7e2
some arithmetics and type conversion fixes.
2015-05-20 11:46:27 +02:00
Oleksii Kliukin
594efe3b64
fix a typo.
2015-05-20 11:46:26 +02:00
Oleksii Kliukin
19a04a81da
split arguments for check_output when checking for the latest backup.
2015-05-20 11:46:26 +02:00
Oleksii Kliukin
9e82c3ebd7
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-20 11:46:26 +02:00
Oleksii Kliukin
5a579b0c92
use governor yaml parameters and not environment variables to configure backups with WAL-E.
2015-05-20 10:20:52 +02:00
Oleksii Kliukin
6a08213948
retry with pg_basebackup if one cannot get data from WAL-E.
2015-05-19 17:16:07 +02:00
Oleksii Kliukin
2191b0227d
Put back the S3/pg_basebackup condition after testing.
2015-05-19 14:56:36 +02:00