Alexander Kukushkin
c49580d6a7
Rename governor into patroni
2015-07-08 10:37:35 +02:00
Alexander Kukushkin
259c3ac341
Merge branch 'multidcs' of github.com:CyberDem0n/governor into feature/multidcs
2015-07-08 08:54:02 +02:00
Alexander Kukushkin
a1f11fe2fe
Remove unneeded class CurrentLeaderError
2015-07-08 08:53:08 +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
1531304baa
return result of last_operation as a string
2015-07-07 12:23:06 +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
b7c73fdba8
Rename hostname to name in a Member
2015-06-23 14:07:00 +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
44e06b4cff
Add expiration field into Member
2015-06-10 14:22:11 +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
3f47e9e362
Merge branch 'etcd-cluster-support' of github.com:CyberDem0n/governor
2015-06-09 15:47:06 +02:00
Alexander Kukushkin
a64dad267e
Bugfix: target field of SRV object should be casted to string
2015-06-09 15:46:34 +02:00
Alexander Kukushkin
de7630c65c
Merge branch 'etcd-cluster-support' of github.com:CyberDem0n/governor into etcd-cluster-support
2015-06-09 12:31:09 +02:00
Alexander Kukushkin
57914821d0
Randomize list of etcd cluster members
2015-06-09 12:30:58 +02:00
Alexander Kukushkin
a2988361c5
Retry with host from config when it failed to resolve SRV
2015-06-09 12:30: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
261fbf2721
Replace logging with logger in ha.py
2015-06-09 10:27:09 +02:00
Alexander Kukushkin
da4f9e8445
Make logging of http requests more verbose
2015-06-09 10:25:33 +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
20c785b63a
python3 compatibility: use isinstance instead of type()
2015-06-05 09:44:47 +02:00
Oleksii Kliukin
553b26f385
call on_change_callback only if it has been set.
2015-06-05 09:01:42 +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
fad2fbeae0
Import ThreadingMixIn for python3
2015-06-03 16:39:29 +02:00
Oleksii Kliukin
ac46600816
more bugfixes.
2015-06-03 16:26:38 +02:00
Alexander Kukushkin
aa1fc315ae
Process http requests in a threads with ThreadingMixIn
2015-06-03 16:22:05 +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
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
Alexander Kukushkin
f9fbe8980f
Implement lsn_to_bytes bytes_to_lsn functions
2015-06-02 13:36:36 +02:00
Alexander Kukushkin
5cceac7621
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
tests/test_postgresql.py
2015-06-02 12:38:45 +02:00
Alexander Kukushkin
d9fbbf3ae9
Make pg_hba section more compact
2015-06-02 12:37:26 +02:00
Alexander Kukushkin
88631e14fa
Merge branch 'master' of github.com:CyberDem0n/governor into features/refactoring
...
Conflicts:
helpers/postgresql.py
tests/test_postgresql.py
2015-06-02 10:28:28 +02:00
Alexander Kukushkin
fca987deda
set value of api_url from application_name parameter of conn_url. Reset parameters of conn_url
2015-06-02 09:45:37 +02:00
Alexander Kukushkin
f9ce29d49f
rename address to conn_url in a Member obj
...
and introduce new field: api_url
2015-06-02 08:52:34 +02:00