From 78f0b7e6816b1556c04f39645252c3265ae3be40 Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Wed, 25 Nov 2015 16:07:13 +0100 Subject: [PATCH 1/2] Add main() function inside the scripts/ We need this in order to install those scripts via pip. --- patroni/scripts/aws.py | 5 ++++- patroni/scripts/wale_restore.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/patroni/scripts/aws.py b/patroni/scripts/aws.py index a0622f15..bdd1bb45 100755 --- a/patroni/scripts/aws.py +++ b/patroni/scripts/aws.py @@ -65,8 +65,11 @@ class AWSConnection: return self._tag_ebs(new_role) and ret -if __name__ == '__main__': +def main(): if len(sys.argv) == 4 and sys.argv[1] in ('on_start', 'on_stop', 'on_role_change'): AWSConnection(cluster_name=sys.argv[3]).on_role_change(sys.argv[2]) else: sys.exit("Usage: {0} action role name".format(sys.argv[0])) + +if __name__ == '__main__': + main() diff --git a/patroni/scripts/wale_restore.py b/patroni/scripts/wale_restore.py index 368a596c..f54c37a3 100755 --- a/patroni/scripts/wale_restore.py +++ b/patroni/scripts/wale_restore.py @@ -139,7 +139,7 @@ class WALERestore(object): return ret -if __name__ == '__main__': +def main(): parser = argparse.ArgumentParser(description='Script to image replicas using WAL-E') parser.add_argument('--scope', required=True) parser.add_argument('--role', required=False) @@ -162,3 +162,6 @@ if __name__ == '__main__': break sys.exit(ret) + +if __name__ == '__main__': + main() From 2e9ac8959118ccebef24fd5e6ae94d11a016c9a5 Mon Sep 17 00:00:00 2001 From: Oleksii Kliukin Date: Wed, 25 Nov 2015 16:09:47 +0100 Subject: [PATCH 2/2] Install patroni scripts alongside patroni, fix Oleksii's name. --- setup.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index afd7a498..437354e2 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,7 @@ VERSION = read_version(MAIN_PACKAGE) DESCRIPTION = 'PostgreSQL High-Available orchestrator and CLI' LICENSE = 'The MIT License' URL = 'https://github.com/zalando/patroni' -AUTHOR = 'Alexander Kukushkin, Alexey Klyukin, Feike Steenbergen' +AUTHOR = 'Alexander Kukushkin, Oleksii Kliukin, Feike Steenbergen' AUTHOR_EMAIL = 'alexander.kukushkin@zalando.de, oleksii.kliukin@zalando.de, feike.steenbergen@zalando.de' KEYWORDS = 'etcd governor patroni postgresql postgres ha zookeeper streaming replication' @@ -56,7 +56,10 @@ CLASSIFIERS = [ 'Programming Language :: Python :: Implementation :: CPython', ] -CONSOLE_SCRIPTS = ['patroni = patroni:main', 'patronictl = patroni.ctl:ctl'] +CONSOLE_SCRIPTS = ['patroni = patroni:main', + 'patronictl = patroni.ctl:ctl', + "patroni_wale_restore = patroni.scripts.wale_restore:main", + "patroni_aws = patroni.scripts.aws:main"] class PyTest(TestCommand):