From 1970a4864892db418eb32254febc442b023cae4f Mon Sep 17 00:00:00 2001 From: stewie925 Date: Wed, 6 Feb 2019 18:42:17 -0800 Subject: [PATCH] CMS quota yaml logic update Change-Id: I7e77c98817d2579042f6edf49824acbf981f7a65 --- orm/services/resource_distributor/config.py | 8 ++--- .../rds/services/yaml_customer_builder.py | 32 +++++++++++-------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/orm/services/resource_distributor/config.py b/orm/services/resource_distributor/config.py index b36796c9..db52d8a3 100755 --- a/orm/services/resource_distributor/config.py +++ b/orm/services/resource_distributor/config.py @@ -99,10 +99,10 @@ yaml_configs = { }, 'cms_quota': { 'resource_quotas': { - 'quota_supported_params': ['vips', 'members', 'pools', - 'nat_instance', 'route_table', - 'health_monitors', 'loadbalancer', - 'listener'] + 'quota_unsupported_params': ['vip', 'member', 'pool', + 'nat_instance', 'route_table', + 'health_monitor', 'loadbalancer', + 'listener'] } } }, diff --git a/orm/services/resource_distributor/rds/services/yaml_customer_builder.py b/orm/services/resource_distributor/rds/services/yaml_customer_builder.py index 03dc7eec..4abf66ca 100755 --- a/orm/services/resource_distributor/rds/services/yaml_customer_builder.py +++ b/orm/services/resource_distributor/rds/services/yaml_customer_builder.py @@ -137,8 +137,8 @@ def yamlbuilder(alldata, region): "network": ["neutron_quota", "OS::Neutron::Quota\n"], "storage": ["cinder_quota", "OS::Cinder::Quota\n"]} - adjust_quota_resource = CMSAdjustResource(region['rangerAgentVersion']) - adjust_quota_resource.fix_quota_resource_item(alldata['uuid'], quotas, resources, options) + adjust_resource = CMSAdjustResource() + adjust_resource.fix_quota_resource_item(alldata['uuid'], quotas, resources, options) # putting all parts together for full yaml yamldata = create_final_yaml(title, description, resources, outputs) @@ -147,8 +147,8 @@ def yamlbuilder(alldata, region): return yamldata -class CMSAdjustResource(object): - def __init__(self, rangerAgentVersion): +class CMSAdjustResource(): + def __init__(self): self.adjust_quota_parameters = CMSAdjustQuotaResource().adjust_quota_parameters def fix_quota_resource_item(self, uuid, quotas, resources, options): @@ -157,13 +157,15 @@ class CMSAdjustResource(object): for items in quotas: for item in items: - # these lines added to check if got excpected keys if not they will be replaced - for ite in items[item].keys()[:]: - if ite in quotas_keys: - items[item][quotas_keys[ite]] = items[item][ite] - del items[item][ite] + # rename quota keys as needed + for quota_item in items[item].keys()[:]: + if quota_item in quotas_keys: + items[item][quotas_keys[quota_item]] = items[item][quota_item] + new_quota_item_key = quotas_keys[quota_item] + del items[item][quota_item] + quota_item = new_quota_item_key - self.adjust_quota_parameters(ite, items[item]) + self.adjust_quota_parameters(quota_item, items[item]) # adding project to each quota items[item]['project'] = \ @@ -172,11 +174,13 @@ class CMSAdjustResource(object): {"type": options[item][1], "properties": items[item]} -class CMSAdjustQuotaResource(object): +class CMSAdjustQuotaResource(): def __init__(self): - self.supported_new_params = conf.yaml_configs.customer_yaml.cms_quota.resource_quotas.quota_supported_params + self.unsupported_quotas = conf.yaml_configs.customer_yaml.cms_quota.resource_quotas.quota_unsupported_params def adjust_quota_parameters(self, key, item): - if key in self.supported_new_params: - logger.debug("New quota parameter {} is added to quota resource".format(key)) + if key in self.unsupported_quotas: + del item[key] + logger.warning("Region does not support Quota Parameter {}." + " removed from resource".format(key))