From 218dfb680ec7885e7d813bb27ec30cfe0c0badae Mon Sep 17 00:00:00 2001 From: Ryan Petrello Date: Wed, 14 Feb 2018 15:51:19 -0500 Subject: [PATCH] changes to license compliance now if a license is expired or over the managed node limit, it won't prevent host creation or Job/JobTemplate launches see: https://github.com/ansible/ansible-tower/issues/7860 --- awx/main/access.py | 8 ++++---- awx/main/management/commands/inventory_import.py | 2 -- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/awx/main/access.py b/awx/main/access.py index 1ff07ab69e..a5897936db 100644 --- a/awx/main/access.py +++ b/awx/main/access.py @@ -308,7 +308,7 @@ class BaseAccess(object): if check_expiration and validation_info.get('time_remaining', None) is None: raise PermissionDenied(_("License is missing.")) if check_expiration and validation_info.get("grace_period_remaining") <= 0: - raise PermissionDenied(_("License has expired.")) + logger.error(_("License has expired.")) free_instances = validation_info.get('free_instances', 0) available_instances = validation_info.get('available_instances', 0) @@ -316,11 +316,11 @@ class BaseAccess(object): if add_host_name: host_exists = Host.objects.filter(name=add_host_name).exists() if not host_exists and free_instances == 0: - raise PermissionDenied(_("License count of %s instances has been reached.") % available_instances) + logger.error(_("License count of %s instances has been reached.") % available_instances) elif not host_exists and free_instances < 0: - raise PermissionDenied(_("License count of %s instances has been exceeded.") % available_instances) + logger.error(_("License count of %s instances has been exceeded.") % available_instances) elif not add_host_name and free_instances < 0: - raise PermissionDenied(_("Host count exceeds available instances.")) + raise logger.error(_("Host count exceeds available instances.")) if feature is not None: if "features" in validation_info and not validation_info["features"].get(feature, False): diff --git a/awx/main/management/commands/inventory_import.py b/awx/main/management/commands/inventory_import.py index 8468f8e41f..4f327bc353 100644 --- a/awx/main/management/commands/inventory_import.py +++ b/awx/main/management/commands/inventory_import.py @@ -904,7 +904,6 @@ class Command(BaseCommand): new_count = Host.objects.active_count() if time_remaining <= 0 and not license_info.get('demo', False): logger.error(LICENSE_EXPIRED_MESSAGE) - raise CommandError("License has expired!") if free_instances < 0: d = { 'new_count': new_count, @@ -914,7 +913,6 @@ class Command(BaseCommand): logger.error(DEMO_LICENSE_MESSAGE % d) else: logger.error(LICENSE_MESSAGE % d) - raise CommandError('License count exceeded!') def mark_license_failure(self, save=True): self.inventory_update.license_error = True