1
0
mirror of https://github.com/ansible/awx.git synced 2024-11-01 08:21:15 +03:00

Bypass license database check for cleanup schedule

We pre-create some cleanup jobs if a license is already present, this
doesn't work with the database config as-is.  These can be removed at
some point in the future once the 2.4 migration path is not needed
This commit is contained in:
Matthew Jones 2016-01-25 15:53:17 -05:00
parent 1979c33225
commit b35f84b401
2 changed files with 6 additions and 4 deletions

View File

@ -11,19 +11,21 @@ class LicenseForbids(APIException):
default_detail = 'Your Tower license does not allow that.' default_detail = 'Your Tower license does not allow that.'
def get_license(show_key=False): def get_license(show_key=False, bypass_database=False):
"""Return a dictionary representing the license currently in """Return a dictionary representing the license currently in
place on this Tower instance. place on this Tower instance.
""" """
license_reader = TaskSerializer() license_reader = TaskSerializer()
if bypass_database:
return license_reader.from_file(show_key=show_key)
return license_reader.from_database(show_key=show_key) return license_reader.from_database(show_key=show_key)
def feature_enabled(name): def feature_enabled(name, bypass_database=False):
"""Return True if the requested feature is enabled, False otherwise. """Return True if the requested feature is enabled, False otherwise.
If the feature does not exist, raise KeyError. If the feature does not exist, raise KeyError.
""" """
license = get_license() license = get_license(bypass_database=bypass_database)
# Sanity check: If there is no license, the feature is considered # Sanity check: If there is no license, the feature is considered
# to be off. # to be off.

View File

@ -22,7 +22,7 @@ class Migration(DataMigration):
elif stj.name == "Cleanup Activity Stream": elif stj.name == "Cleanup Activity Stream":
sched = orm.Schedule(name="Cleanup Activity Schedule", rrule="DTSTART:%s RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU" % nowtime, sched = orm.Schedule(name="Cleanup Activity Schedule", rrule="DTSTART:%s RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU" % nowtime,
description="Automatically Generated Schedule", enabled=True, extra_data={"days": "355"}) description="Automatically Generated Schedule", enabled=True, extra_data={"days": "355"})
elif stj.name == "Cleanup Fact Details" and feature_enabled('system_tracking'): elif stj.name == "Cleanup Fact Details" and feature_enabled('system_tracking', bypass_database=True):
sched = orm.Schedule(name="Cleanup Fact Schedule", rrule="DTSTART:%s RRULE:FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=1" % nowtime, sched = orm.Schedule(name="Cleanup Fact Schedule", rrule="DTSTART:%s RRULE:FREQ=MONTHLY;INTERVAL=1;BYMONTHDAY=1" % nowtime,
description="Automatically Generated Schedule", enabled=True, extra_data={'older_than': '120d', 'granularity': '1w'}) description="Automatically Generated Schedule", enabled=True, extra_data={'older_than': '120d', 'granularity': '1w'})
else: else: