diff --git a/packstack/installer/processors.py b/packstack/installer/processors.py index 948abbed6..3ef124849 100644 --- a/packstack/installer/processors.py +++ b/packstack/installer/processors.py @@ -121,3 +121,17 @@ def process_password(param, param_name, config=None): else: param = process_password.pw_dict[param_name] return param + + +def process_string_nofloat(param, param_name, config=None): + """ + Process a string, making sure it is *not* convertible into a float + If it is, change it into a random 16 char string, and check again + """ + while True: + try: + float(param) + except ValueError: + return param + else: + param = uuid.uuid4().hex[:16] diff --git a/packstack/plugins/heat_650.py b/packstack/plugins/heat_650.py index c7e4fe7f4..90bcb154e 100644 --- a/packstack/plugins/heat_650.py +++ b/packstack/plugins/heat_650.py @@ -57,6 +57,7 @@ def initConfig(controller): "OPTION_LIST": [], "VALIDATORS": [validators.validate_not_empty], "DEFAULT_VALUE": uuid.uuid4().hex[:16], + "PROCESSORS": [processors.process_string_nofloat], "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_HEAT_AUTH_ENC_KEY",