From 583fdfa2a9d2cb919237b38aacc4b89fda45ff19 Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Mon, 31 Mar 2025 23:16:21 +0900 Subject: [PATCH] Parse json strings This is follow-up of 8a58fd09145e110b15e83cc6c66ec1552a99ec89 and ensures the json string values passed are parsed when actually used to set parameters. Change-Id: I2e67ab0e72fafa6239a661e2a1529f7d694794b9 --- packstack/plugins/nova_300.py | 10 ++-------- .../puppet/modules/packstack/manifests/nova/api.pp | 6 +----- .../puppet/modules/packstack/manifests/nova/compute.pp | 2 +- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/packstack/plugins/nova_300.py b/packstack/plugins/nova_300.py index 1899edb3e..f07a9788a 100644 --- a/packstack/plugins/nova_300.py +++ b/packstack/plugins/nova_300.py @@ -167,7 +167,7 @@ def initConfig(controller): "'name':'default'}, {...}] "), "OPTION_LIST": [], "VALIDATORS": [], - "DEFAULT_VALUE": "", + "DEFAULT_VALUE": "[]", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_NOVA_PCI_ALIAS", @@ -182,7 +182,7 @@ def initConfig(controller): "'name':'default'}, {...}]"), "OPTION_LIST": [], "VALIDATORS": [], - "DEFAULT_VALUE": "", + "DEFAULT_VALUE": "[]", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST", @@ -438,12 +438,6 @@ def create_common_manifest(config, messages): dbacces_hosts = set([config.get('CONFIG_CONTROLLER_HOST')]) dbacces_hosts |= network_hosts - if config['CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST'] == '': - config['CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST'] = [] - - if config['CONFIG_NOVA_PCI_ALIAS'] == '': - config['CONFIG_NOVA_PCI_ALIAS'] = [] - for host in filtered_hosts(config): pw_in_sqlconn = False host = host.strip() diff --git a/packstack/puppet/modules/packstack/manifests/nova/api.pp b/packstack/puppet/modules/packstack/manifests/nova/api.pp index 59d3714b3..52100562a 100644 --- a/packstack/puppet/modules/packstack/manifests/nova/api.pp +++ b/packstack/puppet/modules/packstack/manifests/nova/api.pp @@ -16,11 +16,7 @@ class packstack::nova::api () auth_url => lookup('CONFIG_KEYSTONE_ADMIN_URL'), } - if lookup('CONFIG_NOVA_PCI_ALIAS') == '' { - $pci_alias = [] - } else { - $pci_alias = lookup('CONFIG_NOVA_PCI_ALIAS') - } + $pci_alias = parsejson(lookup('CONFIG_NOVA_PCI_ALIAS')) class { 'nova::pci': aliases => $pci_alias, diff --git a/packstack/puppet/modules/packstack/manifests/nova/compute.pp b/packstack/puppet/modules/packstack/manifests/nova/compute.pp index e0988bf89..856d32651 100644 --- a/packstack/puppet/modules/packstack/manifests/nova/compute.pp +++ b/packstack/puppet/modules/packstack/manifests/nova/compute.pp @@ -69,7 +69,7 @@ class packstack::nova::compute () } class { 'nova::compute::pci': - passthrough => lookup('CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST') + passthrough => parsejson(lookup('CONFIG_NOVA_PCI_PASSTHROUGH_WHITELIST')) } class { 'nova::compute':