Feike Steenbergen
e96265e4d1
Make Patroni suitable for packaging.
...
- Restructured the repository: Moved patroni into its own directory.
- Changed readme into reStructuredText
2015-09-01 17:05:05 +02:00
Alexander Kukushkin
353fc58bee
Do not inherit rest api port on fork
2015-08-26 15:14:44 +02:00
Alexander Kukushkin
420176aa75
Merge branch 'master' of github.com:zalando/patroni into feature/python-etcd
2015-08-25 10:11:29 +02:00
Alexander Kukushkin
befd33555d
Refactor helpers/etcd.py
...
Work with etcd cluster via high-level python-etcd module.
Plus change all unit tests accordingly.
2015-08-24 16:58:08 +02:00
Oleksii Kliukin
29434e24ea
Allow relative paths to external scripts.
2015-08-24 16:53:57 +02:00
Feike Steenbergen
b0707c8ddd
Merge branch 'master' of github.com:zalando/patroni into feature/external_backup
...
Conflicts:
requirements-py2.txt
2015-08-11 11:27:53 +02:00
Feike Steenbergen
e51ea4c1ca
Merge pull request #4 from zalando/feature/lost-dcs-data
...
Run is_healthiest_node against last know healthy configuration of cluster
2015-08-11 11:22:46 +02:00
Alexander Kukushkin
ce6d1c69d8
Merge branch 'master' of github.com:zalando/patroni into feature/six
2015-08-11 10:19:35 +02:00
Alexander Kukushkin
e9d46b0adb
Merge branch 'master' of github.com:zalando/patroni into feature/lost-dcs-data
2015-08-11 10:19:07 +02:00
Oleksii Kliukin
164b5760a4
remove line too long warnings where possible.
2015-08-07 16:35:00 +02:00
Oleksii Kliukin
5d1d59a42b
Add mock-based unit tests for the restore module.
...
- add unit tests for the restore module
- additional dependencies in requirement
- harden the code that calls restore callbacks
- remove WAL-E related code from postgresql.py
2015-08-07 16:05:17 +02:00
Oleksii Kliukin
7f2dcc0a95
Move replica creation code into a separte file. So far, only the class that makes replicas with pg_basebackup is called.
2015-08-03 11:44:11 +02:00
Oleksii Kliukin
5171964758
Merge branch 'master' into feature/callbacks
2015-07-27 16:19:03 +02:00
Oleksii Kliukin
d85451efae
Increase test coverage for aws script.
2015-07-27 13:04:45 +02:00
Oleksii Kliukin
b92bfb34a5
Futher test for postgresql module (includes callbacks)
2015-07-27 13:04:01 +02:00
Oleksii Kliukin
859da0db0a
Make unit tets run again.
2015-07-27 10:10:29 +02:00
Alexander Kukushkin
b6c2061f3a
Merge branch 'master' of github.com:zalando/patroni into feature/six
2015-07-15 12:49:51 +02:00
Alexander Kukushkin
26935c3725
Merge branch 'master' of github.com:zalando/patroni into feature/lost-dcs-data
2015-07-15 12:49:38 +02:00
Alexander Kukushkin
66f4f790d2
Improve test coverage
2015-07-15 12:49:17 +02:00
Alexander Kukushkin
9df783cf9d
use six module to support python 2 and 3 instead of conditional imports
2015-07-15 12:03:28 +02:00
Alexander Kukushkin
b54119b918
Run is_healthiest_node against last know healthy configuration of cluster
...
This will help to survive when everything was wiped from configuration
store.
2015-07-15 11:20:25 +02:00
Alexander Kukushkin
71fce312c2
Enforce flake8 check
2015-07-10 10:53:04 +02:00
Alexander Kukushkin
dcad7a3229
Add exhibitor support
...
List of ZooKeeper nodes could be periodically updated from Exhibitor
Since we know that each Exhibitor accompanies one ZooKeeper node, list
of Exhibitor nodes also maintained. Exhibitor assumes that all ZooKeeper
nodes are using the same client port, 2181. The same assumption is valid
for Exhibitor, it should always listen on the same port on all nodes.
Original list of Exhibitor nodes is cached and used as a fallback when
it failed ito query information with using maintained list.
2015-07-10 10:46:33 +02:00
Alexander Kukushkin
c49580d6a7
Rename governor into patroni
2015-07-08 10:37:35 +02:00
Alexander Kukushkin
54400c6dec
Merge branch 'multidcs' of github.com:CyberDem0n/governor into feature/multidcs
...
Conflicts:
governor.py
tests/test_governor.py
tests/test_postgresql.py
2015-07-08 08:47:26 +02:00
Alexander Kukushkin
43b12af3a7
Implement possibility to work against ZooKeeper
...
This implementation is using the same interface (AbstractDCS) as Etcd
class. It means that there should be no problem to implement another
plugin to work agains Consul for example.
2015-07-07 12:45:14 +02:00
Alexander Kukushkin
7445590546
Keep node name in AbstractDCS class
...
It eliminates need to pass this name into most of the methods
2015-07-07 12:26:52 +02:00
Alexander Kukushkin
c5edcb589b
return result of last_operation as a string
2015-07-07 12:24:02 +02:00
Alexander Kukushkin
ae689a2f83
Rename ha.etcd into ha.dcs
2015-07-02 15:33:21 +02:00
Alexander Kukushkin
cc71906009
Inherit Etcd from abstract class
2015-07-02 15:15:07 +02:00
Alexander Kukushkin
6079c8359f
refactoring: preparing to support ZooKeeper
...
move some common classes info separate file in preparation to support distributed configuration store other then Etcd
2015-07-02 12:06:07 +02:00
Alexander Kukushkin
c7210d35ff
Merge pull request #27 from CyberDem0n/master
...
BUGFIX: keep list of replication slots on slaves empty
2015-06-25 14:20:10 +02:00
Alexander Kukushkin
9732106e5d
BUGFIX: keep list of replication slots on slaves empty
...
Otherwise slaves accumulate wal files...
2015-06-25 14:01:06 +02:00
Alexander Kukushkin
ffdd3b3d8e
Merge branch 'master' of github.com:CyberDem0n/governor
2015-06-24 16:42:08 +02:00
Alexander Kukushkin
a02f9d497f
BUGFIX: it can be that /members request to etcd returns somesing strange with status_code 200
2015-06-24 16:41:37 +02:00
Alexander Kukushkin
10d992a974
Merge pull request #26 from CyberDem0n/master
...
Reduce amount of writes into etcd
2015-06-24 16:39:50 +02:00
Alexander Kukushkin
f7be52f63a
real_ttl method will return -1 when expiration is not defined
2015-06-23 17:15:37 +02:00
Alexander Kukushkin
744026b4bb
Do not update member TTL when it is far from being expired
2015-06-23 14:02:32 +02:00
Alexander Kukushkin
275e18e58a
Refactor tests
2015-06-10 14:21:23 +02:00
Alexander Kukushkin
72b980bd97
Merge branch 'etcd-cluster-support' of github.com:CyberDem0n/governor
2015-06-10 11:58:48 +02:00
Alexander Kukushkin
971bc3b6e8
Increase verbosity of failed PUT and DELETE requests. Hope will help to debug some etcd related issues
2015-06-10 11:56:16 +02:00
Alexander Kukushkin
19b0d4701b
Merge branch 'etcd-cluster-support' of github.com:CyberDem0n/governor into etcd-cluster-support
...
Conflicts:
requirements-py2.txt
tests/test_governor.py
2015-06-09 11:34:14 +02:00
Alexander Kukushkin
c79fba7656
Support work with etcd as a cluster
...
In case if one member of a cluster is not available it will retry with
another one and fetch the new cluster configuration. Default timeout for
all requests to etcd is 5 seconds.
Initial cluster configuration can be resolved through:
1) /v2/members call on one of the cluster members on a client port
2) when it is possible to resolve hostname into multiple ip's it will
iterate through list and try to perform action from 1)
3) If there is discovery_srv defined in etcd section of config file it
will resolve peer addresses of all cluster members and will fetch
cluster configuration with using peer protocol by doing /members call on
a peer port
2015-06-09 09:51:53 +02:00
Oleksii Kliukin
16a068f795
use instance-identity/document URL part to get instanceid and region at once.
2015-06-05 17:07:10 +02:00
Oleksii Kliukin
8ab7717f13
increase test coverage for the changes in postgresql.py
2015-06-05 10:03:42 +02:00
Oleksii Kliukin
cdc7526216
Merge branch 'master' into feature/awstags
2015-06-05 09:50:17 +02:00
Oleksii Kliukin
e2de4c9045
add ok flag to the MockResponse object in order to be compatible with the AWS code, which examines this flag in a callback.
2015-06-05 08:59:32 +02:00
Oleksii Kliukin
3d123b41df
add unittests.
2015-06-04 17:19:33 +02:00
Alexander Kukushkin
e54fb8c617
Merge pull request #22 from CyberDem0n/master
...
Process http requests in a threads with ThreadingMixIn
2015-06-04 08:34:56 +02:00
Alexander Kukushkin
aa1fc315ae
Process http requests in a threads with ThreadingMixIn
2015-06-03 16:22:05 +02:00