From bf2350bc808f1580142adffeb18a1c4d3e4341e2 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 18 Dec 2015 22:46:33 +0100 Subject: [PATCH 1/2] agent: add a --redeploy option to hobo_deploy (#8893) It basically does 'hobo_deploy --ignore-timestamp this['base_url'] hobo.json' for each tenant. --- .../common/management/commands/hobo_deploy.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/hobo/agent/common/management/commands/hobo_deploy.py b/hobo/agent/common/management/commands/hobo_deploy.py index 6229830..289e60e 100644 --- a/hobo/agent/common/management/commands/hobo_deploy.py +++ b/hobo/agent/common/management/commands/hobo_deploy.py @@ -33,13 +33,27 @@ class Command(BaseCommand): option_list = BaseCommand.option_list + ( make_option('--ignore-timestamp', dest='ignore_timestamp', action="store_true", default=False), + make_option('--redeploy', action="store_true", default=False), ) - def handle(self, base_url, json_filename, ignore_timestamp, *args, **kwargs): - if json_filename == '-': - hobo_environment = json.load(sys.stdin) + def handle(self, base_url, json_filename, ignore_timestamp, redeploy, *args, **kwargs): + if redeploy: + for tenant in TenantMiddleware.get_tenants(): + try: + hobo_environment = tenant.get_hobo_json() + except IOError: + continue + try: + me = [x for x in hobo_environment.get('services') if x.get('this') is True][0] + except IndexError: + continue + self.deploy(me['base_url'], hobo_environment, True) + print 'Redeploied', me['base_url'] else: - hobo_environment = json.load(file(json_filename)) + if json_filename == '-': + hobo_environment = json.load(sys.stdin) + else: + hobo_environment = json.load(file(json_filename)) self.deploy(base_url, hobo_environment, ignore_timestamp) def deploy(self, base_url, hobo_environment, ignore_timestamp): -- 2.1.4