From 9cc68d4da71c9ec55cd17d3607f434ebf5936b4e Mon Sep 17 00:00:00 2001 From: Luke Sneeringer Date: Thu, 21 May 2015 11:35:23 -0400 Subject: [PATCH] License differentiation for HA. --- awx/main/management/commands/register_instance.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/awx/main/management/commands/register_instance.py b/awx/main/management/commands/register_instance.py index a38181d622..8e1eabe2bb 100644 --- a/awx/main/management/commands/register_instance.py +++ b/awx/main/management/commands/register_instance.py @@ -3,6 +3,7 @@ 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 @@ -32,6 +33,13 @@ 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) @@ -58,6 +66,6 @@ class Command(BaseCommandInstance): # If this is a primary instance, update projects. if instance.primary: self.update_projects(instance) - + # Done! print('Successfully registered instance %s.' % instance_str(instance))