summaryrefslogtreecommitdiffstats
path: root/share/newton_base/registration/registration.py
diff options
context:
space:
mode:
Diffstat (limited to 'share/newton_base/registration/registration.py')
-rw-r--r--share/newton_base/registration/registration.py431
1 files changed, 232 insertions, 199 deletions
diff --git a/share/newton_base/registration/registration.py b/share/newton_base/registration/registration.py
index fd2cf9aa..d2f0a2bf 100644
--- a/share/newton_base/registration/registration.py
+++ b/share/newton_base/registration/registration.py
@@ -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)