Fix HPA registration bug for windriver 73/44573/3
authorYun Huang <yun.huang@windriver.com>
Wed, 25 Apr 2018 07:16:29 +0000 (15:16 +0800)
committerYun Huang <yun.huang@windriver.com>
Wed, 25 Apr 2018 07:16:29 +0000 (15:16 +0800)
Change-Id: Iae4341c96bb98c6b87649b736826ce527fc8fef3
Issue-ID: MULTICLOUD-206
Signed-off-by: Yun Huang <yun.huang@windriver.com>
share/newton_base/registration/registration.py
windriver/titanium_cloud/registration/views/registration.py

index e5a8450..7513fd7 100644 (file)
@@ -151,10 +151,10 @@ class Registry(APIView):
                     'flavor-disabled': flavor['OS-FLV-DISABLED:disabled'],
                 }
 
-                if flavor.get('link') and len(flavor['link']) > 0:
-                    flavor_info['flavor-selflink'] = flavor['link'][0]['href'] or 'http://0.0.0.0',
+                if flavor.get('links') and len(flavor['links']) > 0:
+                    flavor_info['flavor-selflink'] = flavor['links'][0]['href'] or 'http://0.0.0.0'
                 else:
-                    flavor_info['flavor-selflink'] = 'http://0.0.0.0',
+                    flavor_info['flavor-selflink'] = 'http://0.0.0.0'
 
                 self._update_resoure(
                     cloud_owner, cloud_region_id, flavor['id'],
@@ -623,8 +623,8 @@ class Registry(APIView):
             return
 
     def post(self, request, vimid=""):
-        self._logger.debug("Registration--post::data> %s" % request.data)
-        self._logger.debug("Registration--post::vimid > %s" % vimid)
+        self._logger.info("registration with vimid: %s" % vimid)
+        self._logger.debug("with data: %s" % request.data)
 
         try:
             # populate proxy identity url
index de2dd33..e7b5658 100644 (file)
@@ -53,10 +53,10 @@ class Registry(newton_registration.Registry):
                     'flavor-disabled': flavor['OS-FLV-DISABLED:disabled'],
                 }
 
-                if flavor.get('link') and len(flavor['link']) > 0:
-                    flavor_info['flavor-selflink'] = flavor['link'][0]['href'] or 'http://0.0.0.0',
+                if flavor.get('links') and len(flavor['links']) > 0:
+                    flavor_info['flavor-selflink'] = flavor['links'][0]['href'] or 'http://0.0.0.0'
                 else:
-                    flavor_info['flavor-selflink'] = 'http://0.0.0.0',
+                    flavor_info['flavor-selflink'] = 'http://0.0.0.0'
 
                 # add hpa capabilities
                 if (flavor['name'].find('onap.') == 0):
@@ -64,7 +64,7 @@ class Registry(newton_registration.Registry):
                     extraResp = self._get_list_resources(req_resouce, "compute", session, viminfo, vimid, "extra_specs")
 
                     hpa_capabilities = self._get_hpa_capabilities(flavor, extraResp)
-                    flavor_info['hpa_capabilities'] = hpa_capabilities
+                    flavor_info['hpa-capabilities'] = {'hpa-capability': hpa_capabilities}
 
                 self._update_resoure(
                     cloud_owner, cloud_region_id, flavor['id'],
@@ -143,15 +143,15 @@ class Registry(newton_registration.Registry):
         basic_capability = {}
         feature_uuid = uuid.uuid4()
 
-        basic_capability['hpaCapabilityID'] = str(feature_uuid)
-        basic_capability['hpaFeature'] = 'basicCapabilities'
-        basic_capability['hardwareArchitecture'] = 'generic'
-        basic_capability['version'] = 'v1'
+        basic_capability['hpa-capability-id'] = str(feature_uuid)
+        basic_capability['hpa-feature'] = 'basicCapabilities'
+        basic_capability['architecture'] = 'generic'
+        basic_capability['hpa-version'] = 'v1'
 
-        basic_capability['attributes'] = []
-        basic_capability['attributes'].append({'hpa-attribute-key': 'numVirtualCpu',
+        basic_capability['hpa-feature-attributes'] = []
+        basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numVirtualCpu',
                                                'hpa-attribute-value':{'value': str(flavor['vcpus']) }})
-        basic_capability['attributes'].append({'hpa-attribute-key':'virtualMemSize',
+        basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'virtualMemSize',
                                                'hpa-attribute-value': {'value':str(flavor['ram']), 'unit':'MB'}})
 
         return basic_capability
@@ -161,17 +161,17 @@ class Registry(newton_registration.Registry):
         feature_uuid = uuid.uuid4()
 
         if extra_specs.has_key('hw:cpu_policy') or extra_specs.has_key('hw:cpu_thread_policy'):
-            cpupining_capability['hpaCapabilityID'] = str(feature_uuid)
-            cpupining_capability['hpaFeature'] = 'cpuPining'
-            cpupining_capability['hardwareArchitecture'] = 'generic'
-            cpupining_capability['version'] = 'v1'
+            cpupining_capability['hpa-capability-id'] = str(feature_uuid)
+            cpupining_capability['hpa-feature'] = 'cpuPining'
+            cpupining_capability['architecture'] = 'generic'
+            cpupining_capability['hpa-version'] = 'v1'
 
-            cpupining_capability['attributes'] = []
+            cpupining_capability['hpa-feature-attributes'] = []
             if extra_specs.has_key('hw:cpu_thread_policy'):
-                cpupining_capability['attributes'].append({'hpa-attribute-key': 'logicalCpuThreadPinningPolicy',
+                cpupining_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'logicalCpuThreadPinningPolicy',
                                                            'hpa-attribute-value':{'value': str(extra_specs['hw:cpu_thread_policy'])}})
             if extra_specs.has_key('hw:cpu_policy'):
-                cpupining_capability['attributes'].append({'hpa-attribute-key':'logicalCpuPinningPolicy',
+                cpupining_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'logicalCpuPinningPolicy',
                                                            'hpa-attribute-value': {'value':str(extra_specs['hw:cpu_policy'])}})
 
         return cpupining_capability
@@ -181,20 +181,20 @@ class Registry(newton_registration.Registry):
         feature_uuid = uuid.uuid4()
 
         if extra_specs.has_key('hw:cpu_sockets') or extra_specs.has_key('hw:cpu_cores') or extra_specs.has_key('hw:cpu_threads'):
-            cputopology_capability['hpaCapabilityID'] = str(feature_uuid)
-            cputopology_capability['hpaFeature'] = 'cpuTopology'
-            cputopology_capability['hardwareArchitecture'] = 'generic'
-            cputopology_capability['version'] = 'v1'
+            cputopology_capability['hpa-capability-id'] = str(feature_uuid)
+            cputopology_capability['hpa-feature'] = 'cpuTopology'
+            cputopology_capability['architecture'] = 'generic'
+            cputopology_capability['hpa-version'] = 'v1'
 
-            cputopology_capability['attributes'] = []
+            cputopology_capability['hpa-feature-attributes'] = []
             if extra_specs.has_key('hw:cpu_sockets'):
-                cputopology_capability['attributes'].append({'hpa-attribute-key': 'numCpuSockets',
+                cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuSockets',
                                                              'hpa-attribute-value':{'value': str(extra_specs['hw:cpu_sockets'])}})
             if extra_specs.has_key('hw:cpu_cores'):
-                cputopology_capability['attributes'].append({'hpa-attribute-key': 'numCpuCores',
+                cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuCores',
                                                              'hpa-attribute-value':{'value': str(extra_specs['hw:cpu_cores'])}})
             if extra_specs.has_key('hw:cpu_threads'):
-                cputopology_capability['attributes'].append({'hpa-attribute-key': 'numCpuThreads',
+                cputopology_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numCpuThreads',
                                                              'hpa-attribute-value':{'value': str(extra_specs['hw:cpu_threads'])}})
 
         return cputopology_capability
@@ -204,24 +204,24 @@ class Registry(newton_registration.Registry):
         feature_uuid = uuid.uuid4()
 
         if extra_specs.has_key('hw:mem_page_size'):
-            hugepages_capability['hpaCapabilityID'] = str(feature_uuid)
-            hugepages_capability['hpaFeature'] = 'hugePages'
-            hugepages_capability['hardwareArchitecture'] = 'generic'
-            hugepages_capability['version'] = 'v1'
+            hugepages_capability['hpa-capability-id'] = str(feature_uuid)
+            hugepages_capability['hpa-feature'] = 'hugePages'
+            hugepages_capability['architecture'] = 'generic'
+            hugepages_capability['hpa-version'] = 'v1'
 
-            hugepages_capability['attributes'] = []
+            hugepages_capability['hpa-feature-attributes'] = []
             if extra_specs['hw:mem_page_size'] == 'large':
-                hugepages_capability['attributes'].append({'hpa-attribute-key': 'memoryPageSize',
+                hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize',
                                                            'hpa-attribute-value':{'value': '2',
                                                                                    'unit': 'MB'}})
             elif extra_specs['hw:mem_page_size'] == 'small':
-                hugepages_capability['attributes'].append({'hpa-attribute-key': 'memoryPageSize',
+                hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize',
                                                            'hpa-attribute-value':{'value': '4',
                                                                                    'unit': 'KB'}})
             elif extra_specs['hw:mem_page_size'] == 'any':
                 self._logger.info("Currently HPA feature memoryPageSize did not support 'any' page!!")
             else :
-                hugepages_capability['attributes'].append({'hpa-attribute-key': 'memoryPageSize',
+                hugepages_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'memoryPageSize',
                                                            'hpa-attribute-value':{'value': str(extra_specs['hw:mem_page_size']),
                                                                                    'unit': 'KB'}})
         return hugepages_capability
@@ -231,13 +231,13 @@ class Registry(newton_registration.Registry):
         feature_uuid = uuid.uuid4()
 
         if extra_specs.has_key('hw:numa_nodes'):
-            numa_capability['hpaCapabilityID'] = str(feature_uuid)
-            numa_capability['hpaFeature'] = 'numa'
-            numa_capability['hardwareArchitecture'] = 'generic'
-            numa_capability['version'] = 'v1'
+            numa_capability['hpa-capability-id'] = str(feature_uuid)
+            numa_capability['hpa-feature'] = 'numa'
+            numa_capability['architecture'] = 'generic'
+            numa_capability['hpa-version'] = 'v1'
 
-            numa_capability['attributes'] = []
-            numa_capability['attributes'].append({'hpa-attribute-key': 'numaNodes',
+            numa_capability['hpa-feature-attributes'] = []
+            numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numaNodes',
                                                   'hpa-attribute-value':{'value': str(extra_specs['hw:numa_nodes'])}})
 
             for num in range(0, int(extra_specs['hw:numa_nodes'])):
@@ -247,9 +247,9 @@ class Registry(newton_registration.Registry):
                 numamem_key = "numaMem-%s" % num
 
                 if extra_specs.has_key(numa_cpu_node) and extra_specs.has_key(numa_mem_node):
-                    numa_capability['attributes'].append({'hpa-attribute-key': numacpu_key,
+                    numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numacpu_key,
                                                           'hpa-attribute-value':{'value': str(extra_specs[numa_cpu_node])}})
-                    numa_capability['attributes'].append({'hpa-attribute-key': numamem_key,
+                    numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numamem_key,
                                                           'hpa-attribute-value':{'value': str(extra_specs[numa_mem_node]),'unit':'MB'}})
 
         return numa_capability
@@ -258,17 +258,17 @@ class Registry(newton_registration.Registry):
         storage_capability = {}
         feature_uuid = uuid.uuid4()
 
-        storage_capability['hpaCapabilityID'] = str(feature_uuid)
-        storage_capability['hpaFeature'] = 'localStorage'
-        storage_capability['hardwareArchitecture'] = 'generic'
-        storage_capability['version'] = 'v1'
+        storage_capability['hpa-capability-id'] = str(feature_uuid)
+        storage_capability['hpa-feature'] = 'localStorage'
+        storage_capability['architecture'] = 'generic'
+        storage_capability['hpa-version'] = 'v1'
 
-        storage_capability['attributes'] = []
-        storage_capability['attributes'].append({'hpa-attribute-key': 'diskSize',
+        storage_capability['hpa-feature-attributes'] = []
+        storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'diskSize',
                                                        'hpa-attribute-value':{'value': str(flavor['disk']), 'unit':'GB'}})
-        storage_capability['attributes'].append({'hpa-attribute-key': 'swapMemSize',
+        storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'swapMemSize',
                                                        'hpa-attribute-value':{'value': str(flavor['swap']), 'unit':'MB'}})
-        storage_capability['attributes'].append({'hpa-attribute-key': 'ephemeralDiskSize',
+        storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'ephemeralDiskSize',
                                                        'hpa-attribute-value':{'value': str(flavor['OS-FLV-EXT-DATA:ephemeral']), 'unit':'GB'}})
         return storage_capability
 
@@ -277,13 +277,13 @@ class Registry(newton_registration.Registry):
         feature_uuid = uuid.uuid4()
 
         if extra_specs.has_key('hw:capabilities:cpu_info:features'):
-            instruction_capability['hpaCapabilityID'] = str(feature_uuid)
-            instruction_capability['hpaFeature'] = 'instructionSetExtensions'
-            instruction_capability['hardwareArchitecture'] = 'Intel64'
-            instruction_capability['version'] = 'v1'
+            instruction_capability['hpa-capability-id'] = str(feature_uuid)
+            instruction_capability['hpa-feature'] = 'instructionSetExtensions'
+            instruction_capability['architecture'] = 'Intel64'
+            instruction_capability['hpa-version'] = 'v1'
 
-            instruction_capability['attributes'] = []
-            instruction_capability['attributes'].append({'hpa-attribute-key': 'instructionSetExtensions',
+            instruction_capability['hpa-feature-attributes'] = []
+            instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'instructionSetExtensions',
                                                        'hpa-attribute-value':{'value': str(extra_specs['hw:capabilities:cpu_info:features'])}})
         return instruction_capability
 
@@ -295,32 +295,32 @@ class Registry(newton_registration.Registry):
             value1 = extra_specs['pci_passthrough:alias'].split(':')
             value2 = value1[0].split('-')
 
-            instruction_capability['hpaCapabilityID'] = str(feature_uuid)
-            instruction_capability['hpaFeature'] = 'pciePassthrough'
-            instruction_capability['hardwareArchitecture'] = str(value2[2])
-            instruction_capability['version'] = 'v1'
-            
-  
-            instruction_capability['attributes'] = []
-            instruction_capability['attributes'].append({'hpa-attribute-key': 'pciCount',
+            instruction_capability['hpa-capability-id'] = str(feature_uuid)
+            instruction_capability['hpa-feature'] = 'pciePassthrough'
+            instruction_capability['architecture'] = str(value2[2])
+            instruction_capability['hpa-version'] = 'v1'
+
+
+            instruction_capability['hpa-feature-attributes'] = []
+            instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount',
                                                        'hpa-attribute-value':{'value': str(value1[1])}})
-            instruction_capability['attributes'].append({'hpa-attribute-key': 'pciVendorId',
+            instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId',
                                                        'hpa-attribute-value':{'value': str(value2[3])}})
-            instruction_capability['attributes'].append({'hpa-attribute-key': 'pciDeviceId',
+            instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId',
                                                        'hpa-attribute-value':{'value': str(value2[4])}})
-        
+
         return instruction_capability
 
     def _get_ovsdpdk_capabilities(self, extra_specs):
         instruction_capability = {}
         feature_uuid = uuid.uuid4()
 
-        instruction_capability['hpaCapabilityID'] = str(feature_uuid)
-        instruction_capability['hpaFeature'] = 'ovsDpdk'
-        instruction_capability['hardwareArchitecture'] = 'Intel64'
-        instruction_capability['version'] = 'v1'
+        instruction_capability['hpa-capability-id'] = str(feature_uuid)
+        instruction_capability['hpa-feature'] = 'ovsDpdk'
+        instruction_capability['architecture'] = 'Intel64'
+        instruction_capability['hpa-version'] = 'v1'
 
-        instruction_capability['attributes'] = []
-        instruction_capability['attributes'].append({'hpa-attribute-key': 'dataProcessingAccelerationLibrary',
+        instruction_capability['hpa-feature-attributes'] = []
+        instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'dataProcessingAccelerationLibrary',
                                                      'hpa-attribute-value':{'value': str('v17.02')}})
         return instruction_capability