From 3845ce548fd240795c3f1680cafdf5e34ab422ed Mon Sep 17 00:00:00 2001 From: Yun Huang Date: Thu, 17 May 2018 09:48:38 +0800 Subject: Fix hpa-attribute-value string format for newton Change-Id: I2541d7d4ff05bc0d6858f3573876c75394381003 Issue-ID: MULTICLOUD-232 Signed-off-by: Yun Huang --- newton/newton/registration/views/registration.py | 89 +++++++++++++++++------- 1 file changed, 62 insertions(+), 27 deletions(-) diff --git a/newton/newton/registration/views/registration.py b/newton/newton/registration/views/registration.py index 4d954cb1..88cdae4d 100644 --- a/newton/newton/registration/views/registration.py +++ b/newton/newton/registration/views/registration.py @@ -119,13 +119,13 @@ class Registry(newton_registration.Registry): if len(caps_dict) > 0: self._logger.debug("storage_capabilities_info: %s" % caps_dict) hpa_caps.append(caps_dict) - + # CPU instruction set extension capabilities caps_dict = self._get_instruction_set_capabilities(extra_specs) if len(caps_dict) > 0: self._logger.debug("instruction_set_capabilities_info: %s" % caps_dict) hpa_caps.append(caps_dict) - + # PCI passthrough capabilities caps_dict = self._get_pci_passthrough_capabilities(extra_specs) if len(caps_dict) > 0: @@ -151,10 +151,13 @@ class Registry(newton_registration.Registry): basic_capability['hpa-feature-attributes'] = [] basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numVirtualCpu', - 'hpa-attribute-value':str({'value': str(flavor['vcpus']) })}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(flavor['vcpus']) + }) basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'virtualMemSize', - 'hpa-attribute-value': str({'value':str(flavor['ram']), 'unit':'MB'})}) - + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['ram'],"MB") + }) return basic_capability def _get_cpupinning_capabilities(self, extra_specs): @@ -170,10 +173,14 @@ class Registry(newton_registration.Registry): cpupining_capability['hpa-feature-attributes'] = [] if extra_specs.has_key('hw:cpu_thread_policy'): cpupining_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'logicalCpuThreadPinningPolicy', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:cpu_thread_policy'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_thread_policy']) + }) if extra_specs.has_key('hw:cpu_policy'): cpupining_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'logicalCpuPinningPolicy', - 'hpa-attribute-value': str({'value':str(extra_specs['hw:cpu_policy'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_policy']) + }) return cpupining_capability @@ -190,13 +197,19 @@ class Registry(newton_registration.Registry): cputopology_capability['hpa-feature-attributes'] = [] if extra_specs.has_key('hw:cpu_sockets'): cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuSockets', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:cpu_sockets'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_sockets']) + }) if extra_specs.has_key('hw:cpu_cores'): cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuCores', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:cpu_cores'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_cores']) + }) if extra_specs.has_key('hw:cpu_threads'): cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuThreads', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:cpu_threads'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_threads']) + }) return cputopology_capability @@ -213,18 +226,21 @@ class Registry(newton_registration.Registry): hugepages_capability['hpa-feature-attributes'] = [] if extra_specs['hw:mem_page_size'] == 'large': hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize', - 'hpa-attribute-value':str({'value': '2', - 'unit': 'MB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(2,"MB") + }) elif extra_specs['hw:mem_page_size'] == 'small': hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize', - 'hpa-attribute-value':str({'value': '4', - 'unit': 'KB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(4,"KB") + }) elif extra_specs['hw:mem_page_size'] == 'any': self._logger.info("Currently HPA feature memoryPageSize did not support 'any' page!!") else : hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:mem_page_size']), - 'unit': 'KB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs['hw:mem_page_size'],"KB") + }) return hugepages_capability @@ -240,7 +256,9 @@ class Registry(newton_registration.Registry): numa_capability['hpa-feature-attributes'] = [] numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numaNodes', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:numa_nodes'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:numa_nodes'] or 0) + }) for num in range(0, int(extra_specs['hw:numa_nodes'])): numa_cpu_node = "hw:numa_cpus.%s" % num @@ -250,9 +268,13 @@ class Registry(newton_registration.Registry): if extra_specs.has_key(numa_cpu_node) and extra_specs.has_key(numa_mem_node): numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numacpu_key, - 'hpa-attribute-value':str({'value': str(extra_specs[numa_cpu_node])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs[numa_cpu_node]) + }) numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numamem_key, - 'hpa-attribute-value':str({'value': str(extra_specs[numa_mem_node]),'unit':'MB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs[numa_mem_node],"MB") + }) return numa_capability @@ -267,11 +289,17 @@ class Registry(newton_registration.Registry): storage_capability['hpa-feature-attributes'] = [] storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'diskSize', - 'hpa-attribute-value':str({'value': str(flavor['disk']), 'unit':'GB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['disk'] or 0,"GB") + }) storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'swapMemSize', - 'hpa-attribute-value':str({'value': str(flavor['swap']), 'unit':'MB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['swap'] or 0,"MB") + }) storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'ephemeralDiskSize', - 'hpa-attribute-value':str({'value': str(flavor['OS-FLV-EXT-DATA:ephemeral']), 'unit':'GB'})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['OS-FLV-EXT-DATA:ephemeral'] or 0,"GB") + }) return storage_capability def _get_instruction_set_capabilities(self, extra_specs): @@ -286,7 +314,9 @@ class Registry(newton_registration.Registry): instruction_capability['hpa-feature-attributes'] = [] instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'instructionSetExtensions', - 'hpa-attribute-value':str({'value': str(extra_specs['hw:capabilities:cpu_info:features'])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:capabilities:cpu_info:features']) + }) return instruction_capability def _get_pci_passthrough_capabilities(self, extra_specs): @@ -305,11 +335,14 @@ class Registry(newton_registration.Registry): instruction_capability['hpa-feature-attributes'] = [] instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount', - 'hpa-attribute-value':str({'value': str(value1[1])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(value1[1]) + }) instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId', - 'hpa-attribute-value':str({'value': str(value2[3])})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(value2[3]) }) instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId', - 'hpa-attribute-value':str({'value': str(value2[4])})}) + 'hpa-attribute-value': '{{\"value\":\"{0}\"}}'.format(value2[4]) }) return instruction_capability @@ -328,5 +361,7 @@ class Registry(newton_registration.Registry): ovsdpdk_capability['hpa-feature-attributes'] = [] ovsdpdk_capability['hpa-feature-attributes'].append({'hpa-attribute-key': str(cloud_dpdk_info.get("libname")), - 'hpa-attribute-value':str({'value': str(cloud_dpdk_info.get("libversion"))})}) + 'hpa-attribute-value': + '{{\"value\":\"{0}\"}}'.format(cloud_dpdk_info.get("libversion")) + }) return ovsdpdk_capability -- cgit 1.2.3-korg