From 8a453d51b2f41064614a18107cfe529ed8a5a490 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Fri, 24 Jul 2015 08:46:34 -0400 Subject: [PATCH] change update_instance to only take --primary role flag * removed --secondary option --- awx/main/management/commands/_base_instance.py | 14 +++++++++++++- awx/main/management/commands/update_instance.py | 2 +- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/awx/main/management/commands/_base_instance.py b/awx/main/management/commands/_base_instance.py index e980f46132..be2b0abd3c 100644 --- a/awx/main/management/commands/_base_instance.py +++ b/awx/main/management/commands/_base_instance.py @@ -70,8 +70,13 @@ class BaseCommandInstance(BaseCommand): default='', help='Find instance by specified uuid.') + def include_option_primary_role(self): + BaseCommand.option_list += ( BaseCommandInstance.generate_option_primary(), ) + self.enforce_primary_role = True + def include_options_roles(self): - BaseCommand.option_list += ( BaseCommandInstance.generate_option_primary(), BaseCommandInstance.generate_option_secondary(), ) + self.include_option_primary_role() + BaseCommand.option_list += ( BaseCommandInstance.generate_option_secondary(), ) self.enforce_roles = True def include_option_hostname_set(self): @@ -107,6 +112,8 @@ class BaseCommandInstance(BaseCommand): return CommandError('--hostname and one of --primary or --secondary is required.') elif self.enforce_hostname_set: return CommandError('--hostname is required.') + elif self.enforce_primary_role: + return CommandError('--primary is required.') elif self.enforce_roles: return CommandError('One of --primary or --secondary is required.') @@ -120,6 +127,11 @@ class BaseCommandInstance(BaseCommand): if self.is_option_primary() and self.is_option_secondary() or not (self.is_option_primary() or self.is_option_secondary()): raise self.usage_error + elif self.enforce_primary_role: + if options['primary']: + self.option_primary = options['primary'] + else: + raise self.usage_error if self.enforce_hostname_set: if options['hostname']: diff --git a/awx/main/management/commands/update_instance.py b/awx/main/management/commands/update_instance.py index 7ffffa62a7..9cfecfb22d 100644 --- a/awx/main/management/commands/update_instance.py +++ b/awx/main/management/commands/update_instance.py @@ -26,7 +26,7 @@ class Command(BaseCommandInstance): def __init__(self): super(Command, self).__init__() - self.include_options_roles() + self.include_option_primary_role() self.include_option_hostname_uuid_find() @transaction.atomic