Move HA license check logic to the promotion step and allow registering

HA instances.   Registration is allowed but promotion/demotion is not
allowed without the HA feature
This commit is contained in:
Matthew Jones 2015-06-26 15:23:07 -04:00
parent 237a661912
commit 80a6f22c0c
2 changed files with 5 additions and 9 deletions

View File

@ -3,7 +3,6 @@
from django.core.management.base import CommandError
from awx.api.license import feature_enabled
from awx.main.management.commands._base_instance import BaseCommandInstance
from awx.main.models import Instance
@ -33,13 +32,6 @@ class Command(BaseCommandInstance):
uuid = self.get_UUID()
# Are we attempting to register a secondary instance?
# If so, we are only willing to do that if the Tower license allows
# it.
if self.is_option_secondary() and not feature_enabled('ha'):
raise CommandError('Your Tower license does not permit creation '
'of secondary instances.')
# Is there an existing record for this machine? If so, retrieve that record and look for issues.
try:
instance = Instance.objects.get(uuid=uuid)

View File

@ -5,7 +5,7 @@ from django.core.management.base import CommandError
from django.db import transaction
from awx.main.management.commands._base_instance import BaseCommandInstance
from awx.api.license import feature_enabled
from awx.main.models import Instance
instance_str = BaseCommandInstance.instance_str
@ -33,6 +33,10 @@ class Command(BaseCommandInstance):
def handle(self, *args, **options):
super(Command, self).handle(*args, **options)
# You can only promote/demote if your license allows HA
if feature_enabled('ha'):
raise CommandError('Your Tower license does not permit promoting a secondary instance')
# Is there an existing record for this machine? If so, retrieve that record and look for issues.
try:
instance = Instance.objects.get(**self.get_unique_fields())