From 2953479dc8baddd76352586dbfe24f3baa729a92 Mon Sep 17 00:00:00 2001 From: Chris Meyers Date: Thu, 23 Feb 2017 14:31:47 -0500 Subject: [PATCH] correct behavior of tower_uuid logging setting * Register a default=function() with LOG_AGGREGATOR_TOWER_UUID. We know this function will ONLY be called when there is no database backed settings. Therefore, we set a one-time uuid at this time. * The user is free to change LOG_AGGREGATOR_TOWER_UUID. * The user may not set this field to null * The user may not set this field to '' --- awx/main/conf.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/awx/main/conf.py b/awx/main/conf.py index bbdf159ae6..aaf0bc9694 100644 --- a/awx/main/conf.py +++ b/awx/main/conf.py @@ -2,9 +2,11 @@ import json import logging import os +import uuid # Django from django.utils.translation import ugettext_lazy as _ +from django.conf import settings # Tower from awx.conf import fields, register @@ -314,13 +316,18 @@ register( category=_('Logging'), category_slug='logging', ) + +def init_LOG_AGGREGATOR_TOWER_UUID(): + unique_id = uuid.uuid4() + settings.LOG_AGGREGATOR_TOWER_UUID = unique_id + return unique_id + register( 'LOG_AGGREGATOR_TOWER_UUID', field_class=fields.CharField, - allow_blank=True, label=_('Cluster-wide Tower unique identifier.'), help_text=_('Useful to uniquely identify Tower instances.'), category=_('Logging'), category_slug='logging', - default=None, + default=init_LOG_AGGREGATOR_TOWER_UUID, )