Add exception handling for flaovr processing 65/72265/1
authorBin Yang <bin.yang@windriver.com>
Fri, 9 Nov 2018 03:56:04 +0000 (03:56 +0000)
committerBin Yang <bin.yang@windriver.com>
Fri, 9 Nov 2018 03:56:04 +0000 (03:56 +0000)
Disable pservers update due to lack of pserver
disaggregation between cloud regions

Change-Id: Ib28df70a184f562f109f1ba3f2c10c8f523bbd28
Issue-ID: MULTICLOUD-399
Signed-off-by: Bin Yang <bin.yang@windriver.com>
share/newton_base/registration/registration.py

index fd2cf9a..d2f0a2b 100644 (file)
@@ -275,20 +275,23 @@ class Registry(APIView):
         basic_capability = {}
         feature_uuid = uuid.uuid4()
 
-        basic_capability['hpa-capability-id'] = str(feature_uuid)
-        basic_capability['hpa-feature'] = 'basicCapabilities'
-        basic_capability['architecture'] = 'generic'
-        basic_capability['hpa-version'] = 'v1'
-
-        basic_capability['hpa-feature-attributes'] = []
-        basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numVirtualCpu',
-                                               'hpa-attribute-value':
-                                                   '{{\"value\":\"{0}\"}}'.format(flavor['vcpus'])
-                                                           })
-        basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'virtualMemSize',
-                                               'hpa-attribute-value':
-                                                   '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['ram'],"MB")
-                                                           })
+        try:
+            basic_capability['hpa-capability-id'] = str(feature_uuid)
+            basic_capability['hpa-feature'] = 'basicCapabilities'
+            basic_capability['architecture'] = 'generic'
+            basic_capability['hpa-version'] = 'v1'
+
+            basic_capability['hpa-feature-attributes'] = []
+            basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numVirtualCpu',
+                                                   'hpa-attribute-value':
+                                                       '{{\"value\":\"{0}\"}}'.format(flavor['vcpus'])
+                                                               })
+            basic_capability['hpa-feature-attributes'].append({'hpa-attribute-key':'virtualMemSize',
+                                                   'hpa-attribute-value':
+                                                       '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['ram'],"MB")
+                                                               })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return basic_capability
 
@@ -296,23 +299,26 @@ class Registry(APIView):
         cpupining_capability = {}
         feature_uuid = uuid.uuid4()
 
-        if extra_specs.has_key('hw:cpu_policy') or extra_specs.has_key('hw:cpu_thread_policy'):
-            cpupining_capability['hpa-capability-id'] = str(feature_uuid)
-            cpupining_capability['hpa-feature'] = 'cpuPinning'
-            cpupining_capability['architecture'] = 'generic'
-            cpupining_capability['hpa-version'] = 'v1'
-
-            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':
-                                                               '{{\"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':
-                                                               '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_policy'])
-                                                                       })
+        try:
+            if extra_specs.has_key('hw:cpu_policy') or extra_specs.has_key('hw:cpu_thread_policy'):
+                cpupining_capability['hpa-capability-id'] = str(feature_uuid)
+                cpupining_capability['hpa-feature'] = 'cpuPinning'
+                cpupining_capability['architecture'] = 'generic'
+                cpupining_capability['hpa-version'] = 'v1'
+
+                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':
+                                                                   '{{\"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':
+                                                                   '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_policy'])
+                                                                           })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return cpupining_capability
 
@@ -320,28 +326,31 @@ class Registry(APIView):
         cputopology_capability = {}
         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['hpa-capability-id'] = str(feature_uuid)
-            cputopology_capability['hpa-feature'] = 'cpuTopology'
-            cputopology_capability['architecture'] = 'generic'
-            cputopology_capability['hpa-version'] = 'v1'
-
-            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':
-                                                               '{{\"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':
-                                                               '{{\"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':
-                                                               '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_threads'])
-                                                                         })
+        try:
+            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['hpa-capability-id'] = str(feature_uuid)
+                cputopology_capability['hpa-feature'] = 'cpuTopology'
+                cputopology_capability['architecture'] = 'generic'
+                cputopology_capability['hpa-version'] = 'v1'
+
+                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':
+                                                                   '{{\"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':
+                                                                   '{{\"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':
+                                                                   '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:cpu_threads'])
+                                                                             })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return cputopology_capability
 
@@ -349,63 +358,70 @@ class Registry(APIView):
         hugepages_capability = {}
         feature_uuid = uuid.uuid4()
 
-        if extra_specs.has_key('hw:mem_page_size'):
-            hugepages_capability['hpa-capability-id'] = str(feature_uuid)
-            hugepages_capability['hpa-feature'] = 'hugePages'
-            hugepages_capability['architecture'] = 'generic'
-            hugepages_capability['hpa-version'] = 'v1'
+        try:
+            if extra_specs.has_key('hw:mem_page_size'):
+                hugepages_capability['hpa-capability-id'] = str(feature_uuid)
+                hugepages_capability['hpa-feature'] = 'hugePages'
+                hugepages_capability['architecture'] = 'generic'
+                hugepages_capability['hpa-version'] = 'v1'
+
+                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':
+                                                       '{{\"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':
+                                                       '{{\"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':
+                                                       '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs['hw:mem_page_size'],"KB")
+                                                                           })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
-            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':
-                                                   '{{\"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':
-                                                   '{{\"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':
-                                                   '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs['hw:mem_page_size'],"KB")
-                                                                       })
         return hugepages_capability
 
     def _get_numa_capabilities(self, extra_specs):
         numa_capability = {}
         feature_uuid = uuid.uuid4()
 
-        if extra_specs.has_key('hw:numa_nodes'):
-            numa_capability['hpa-capability-id'] = str(feature_uuid)
-            numa_capability['hpa-feature'] = 'numa'
-            numa_capability['architecture'] = 'generic'
-            numa_capability['hpa-version'] = 'v1'
-
-            numa_capability['hpa-feature-attributes'] = []
-            numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numaNodes',
-                                                  '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
-                numa_mem_node = "hw:numa_mem.%s" % num
-                numacpu_key = "numaCpu-%s" % num
-                numamem_key = "numaMem-%s" % num
-
-                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':
-                                                               '{{\"value\":\"{0}\"}}'.format(extra_specs[numa_cpu_node])
-                                                                      })
-                    numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numamem_key,
-                                                          'hpa-attribute-value':
-                                                   '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs[numa_mem_node],"MB")
-                                                                      })
+        try:
+            if extra_specs.has_key('hw:numa_nodes'):
+                numa_capability['hpa-capability-id'] = str(feature_uuid)
+                numa_capability['hpa-feature'] = 'numa'
+                numa_capability['architecture'] = 'generic'
+                numa_capability['hpa-version'] = 'v1'
+
+                numa_capability['hpa-feature-attributes'] = []
+                numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'numaNodes',
+                                                      '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
+                    numa_mem_node = "hw:numa_mem.%s" % num
+                    numacpu_key = "numaCpu-%s" % num
+                    numamem_key = "numaMem-%s" % num
+
+                    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':
+                                                                   '{{\"value\":\"{0}\"}}'.format(extra_specs[numa_cpu_node])
+                                                                          })
+                        numa_capability['hpa-feature-attributes'].append({'hpa-attribute-key': numamem_key,
+                                                              'hpa-attribute-value':
+                                                       '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(extra_specs[numa_mem_node],"MB")
+                                                                          })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return numa_capability
 
@@ -413,70 +429,81 @@ class Registry(APIView):
         storage_capability = {}
         feature_uuid = uuid.uuid4()
 
-        storage_capability['hpa-capability-id'] = str(feature_uuid)
-        storage_capability['hpa-feature'] = 'localStorage'
-        storage_capability['architecture'] = 'generic'
-        storage_capability['hpa-version'] = 'v1'
-
-        storage_capability['hpa-feature-attributes'] = []
-        storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'diskSize',
-                                                       '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':
-                                                   '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['swap'] or 0,"MB")
-                                                             })
-        storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'ephemeralDiskSize',
-                                                       'hpa-attribute-value':
-                                                   '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['OS-FLV-EXT-DATA:ephemeral'] or 0,"GB")
-                                                             })
+        try:
+            storage_capability['hpa-capability-id'] = str(feature_uuid)
+            storage_capability['hpa-feature'] = 'localStorage'
+            storage_capability['architecture'] = 'generic'
+            storage_capability['hpa-version'] = 'v1'
+
+            storage_capability['hpa-feature-attributes'] = []
+            storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'diskSize',
+                                                           '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':
+                                                       '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['swap'] or 0,"MB")
+                                                                 })
+            storage_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'ephemeralDiskSize',
+                                                           'hpa-attribute-value':
+                                                       '{{\"value\":\"{0}\",\"unit\":\"{1}\"}}'.format(flavor['OS-FLV-EXT-DATA:ephemeral'] or 0,"GB")
+                                                                 })
+        except Exception:
+            self._logger.error(traceback.format_exc())
+
         return storage_capability
 
     def _get_instruction_set_capabilities(self, extra_specs):
         instruction_capability = {}
         feature_uuid = uuid.uuid4()
+        try:
+            if extra_specs.has_key('hw:capabilities:cpu_info:features'):
+                instruction_capability['hpa-capability-id'] = str(feature_uuid)
+                instruction_capability['hpa-feature'] = 'instructionSetExtensions'
+                instruction_capability['architecture'] = 'Intel64'
+                instruction_capability['hpa-version'] = 'v1'
+
+                instruction_capability['hpa-feature-attributes'] = []
+                instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'instructionSetExtensions',
+                                                           'hpa-attribute-value':
+                                                          '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:capabilities:cpu_info:features'])
+                                                                         })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
-        if extra_specs.has_key('hw:capabilities:cpu_info:features'):
-            instruction_capability['hpa-capability-id'] = str(feature_uuid)
-            instruction_capability['hpa-feature'] = 'instructionSetExtensions'
-            instruction_capability['architecture'] = 'Intel64'
-            instruction_capability['hpa-version'] = 'v1'
-
-            instruction_capability['hpa-feature-attributes'] = []
-            instruction_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'instructionSetExtensions',
-                                                       'hpa-attribute-value':
-                                                      '{{\"value\":\"{0}\"}}'.format(extra_specs['hw:capabilities:cpu_info:features'])
-                                                                     })
         return instruction_capability
 
     def _get_pci_passthrough_capabilities(self, extra_specs):
         pci_passthrough_capability = {}
         feature_uuid = uuid.uuid4()
 
-        if extra_specs.has_key('pci_passthrough:alias'):
-            value1 = extra_specs['pci_passthrough:alias'].split(':')
-            value2 = value1[0].split('-')
-
-            pci_passthrough_capability['hpa-capability-id'] = str(feature_uuid)
-            pci_passthrough_capability['hpa-feature'] = 'pciePassthrough'
-            pci_passthrough_capability['architecture'] = str(value2[2])
-            pci_passthrough_capability['hpa-version'] = 'v1'
-
-
-            pci_passthrough_capability['hpa-feature-attributes'] = []
-            pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount',
-                                                       'hpa-attribute-value':
-                                                      '{{\"value\":\"{0}\"}}'.format(value1[1])
-                                                                     })
-            pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId',
-                                                       'hpa-attribute-value':
-                                                      '{{\"value\":\"{0}\"}}'.format(value2[3])
-                                                                     })
-            pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId',
-                                                       'hpa-attribute-value':
-                                                      '{{\"value\":\"{0}\"}}'.format(value2[4])
-                                                                     })
+        try:
+
+            if extra_specs.has_key('pci_passthrough:alias'):
+                value1 = extra_specs['pci_passthrough:alias'].split(':')
+                value2 = value1[0].split('-')
+
+                pci_passthrough_capability['hpa-capability-id'] = str(feature_uuid)
+                pci_passthrough_capability['hpa-feature'] = 'pciePassthrough'
+                pci_passthrough_capability['architecture'] = str(value2[2])
+                pci_passthrough_capability['hpa-version'] = 'v1'
+
+
+                pci_passthrough_capability['hpa-feature-attributes'] = []
+                pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount',
+                                                           'hpa-attribute-value':
+                                                          '{{\"value\":\"{0}\"}}'.format(value1[1])
+                                                                         })
+                pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId',
+                                                           'hpa-attribute-value':
+                                                          '{{\"value\":\"{0}\"}}'.format(value2[3])
+                                                                         })
+                pci_passthrough_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId',
+                                                           'hpa-attribute-value':
+                                                          '{{\"value\":\"{0}\"}}'.format(value2[4])
+                                                                         })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return pci_passthrough_capability
 
@@ -484,28 +511,31 @@ class Registry(APIView):
         sriov_capability = {}
         feature_uuid = uuid.uuid4()
 
-        if extra_specs.has_key('sriov_nic'):
-            value1 = extra_specs['sriov_nic'].split(':')
-            value2 = value1[0].split('-')
-
-            sriov_capability['hpa-capability-id'] = str(feature_uuid)
-            sriov_capability['hpa-feature'] = 'sriovNICNetwork'
-            sriov_capability['architecture'] = str(value2[2])
-            sriov_capability['hpa-version'] = 'v1'
-
-            sriov_capability['hpa-feature-attributes'] = []
-            sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount',
-                                          'hpa-attribute-value':
-                                          '{{\"value\":\"{0}\"}}'.format(value1[1]) })
-            sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId',
-                                          'hpa-attribute-value':
-                                          '{{\"value\":\"{0}\"}}'.format(value2[3]) })
-            sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId',
-                                          'hpa-attribute-value':
-                                          '{{\"value\":\"{0}\"}}'.format(value2[4]) })
-            sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'physicalNetwork',
-                                          'hpa-attribute-value':
-                                          '{{\"value\":\"{0}\"}}'.format(value2[5]) })
+        try:
+            if extra_specs.has_key('sriov_nic'):
+                value1 = extra_specs['sriov_nic'].split(':')
+                value2 = value1[0].split('-')
+
+                sriov_capability['hpa-capability-id'] = str(feature_uuid)
+                sriov_capability['hpa-feature'] = 'sriovNICNetwork'
+                sriov_capability['architecture'] = str(value2[2])
+                sriov_capability['hpa-version'] = 'v1'
+
+                sriov_capability['hpa-feature-attributes'] = []
+                sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciCount',
+                                              'hpa-attribute-value':
+                                              '{{\"value\":\"{0}\"}}'.format(value1[1]) })
+                sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciVendorId',
+                                              'hpa-attribute-value':
+                                              '{{\"value\":\"{0}\"}}'.format(value2[3]) })
+                sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'pciDeviceId',
+                                              'hpa-attribute-value':
+                                              '{{\"value\":\"{0}\"}}'.format(value2[4]) })
+                sriov_capability['hpa-feature-attributes'].append({'hpa-attribute-key': 'physicalNetwork',
+                                              'hpa-attribute-value':
+                                              '{{\"value\":\"{0}\"}}'.format(value2[5]) })
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return sriov_capability
 
@@ -513,27 +543,30 @@ class Registry(APIView):
         ovsdpdk_capability = {}
         feature_uuid = uuid.uuid4()
 
-        cloud_extra_info_str = viminfo.get('cloud_extra_info')
-        if not isinstance(cloud_extra_info_str, dict):
-            try:
-                cloud_extra_info_str = json.loads(cloud_extra_info_str)
-            except Exception as ex:
-                logger.error("Can not convert cloud extra info %s %s" % (
-                             str(ex), cloud_extra_info_str))
-                return {}
-        if cloud_extra_info_str :
-            cloud_dpdk_info = cloud_extra_info_str.get("ovsDpdk")
-            if cloud_dpdk_info :
-                ovsdpdk_capability['hpa-capability-id'] = str(feature_uuid)
-                ovsdpdk_capability['hpa-feature'] = 'ovsDpdk'
-                ovsdpdk_capability['architecture'] = 'Intel64'
-                ovsdpdk_capability['hpa-version'] = 'v1'
-
-                ovsdpdk_capability['hpa-feature-attributes'] = [
-                    {
-                        'hpa-attribute-key': str(cloud_dpdk_info.get("libname")),
-                        'hpa-attribute-value': '{{\"value\":\"{0}\"}}'.format(cloud_dpdk_info.get("libversion"))
-                    },]
+        try:
+            cloud_extra_info_str = viminfo.get('cloud_extra_info')
+            if not isinstance(cloud_extra_info_str, dict):
+                try:
+                    cloud_extra_info_str = json.loads(cloud_extra_info_str)
+                except Exception as ex:
+                    logger.error("Can not convert cloud extra info %s %s" % (
+                                 str(ex), cloud_extra_info_str))
+                    return {}
+            if cloud_extra_info_str :
+                cloud_dpdk_info = cloud_extra_info_str.get("ovsDpdk")
+                if cloud_dpdk_info :
+                    ovsdpdk_capability['hpa-capability-id'] = str(feature_uuid)
+                    ovsdpdk_capability['hpa-feature'] = 'ovsDpdk'
+                    ovsdpdk_capability['architecture'] = 'Intel64'
+                    ovsdpdk_capability['hpa-version'] = 'v1'
+
+                    ovsdpdk_capability['hpa-feature-attributes'] = [
+                        {
+                            'hpa-attribute-key': str(cloud_dpdk_info.get("libname")),
+                            'hpa-attribute-value': '{{\"value\":\"{0}\"}}'.format(cloud_dpdk_info.get("libversion"))
+                        },]
+        except Exception:
+            self._logger.error(traceback.format_exc())
 
         return ovsdpdk_capability
 
@@ -979,7 +1012,7 @@ class Registry(APIView):
             #self.discover_servergroups(request, vimid, sess, viminfo)
 
             # discover all pservers
-            self._discover_pservers(vimid, sess, viminfo)
+            #self._discover_pservers(vimid, sess, viminfo)
 
             return Response(status=status.HTTP_202_ACCEPTED)