Add Instruction Set Extensions to HPA fetching 99/39299/2
authorNate Potter <nathaniel.potteR@intel.com>
Tue, 27 Mar 2018 14:39:30 +0000 (07:39 -0700)
committerNate Potter <nathaniel.potteR@intel.com>
Wed, 28 Mar 2018 09:29:22 +0000 (02:29 -0700)
Change-Id: I5bffde146d9c6e5187069e3172c8748ab944bf04
Signed-off-by: Nathaniel Potter <nathaniel.potter@intel.com>
Issue-ID: MULTICLOUD-179

newton/newton/registration/views/hpa.json
newton/newton/registration/views/registration.py

index 2f87d21..534a861 100644 (file)
             "hpa-feature": "ovsDpdk",
             "hpa-version": "v1"
         }
+    },
+    "instructionSetExtensions": {
+        "info": {
+            "hpa-feature": "instructionSetExtensions",
+            "hpa-version": "v1",
+            "architecture": "Intel64"
+        },
+        "hpa-attributes": {
+            "hw:capabilities:cpu_info:features": {
+                "key": "instructionSetExtensions",
+                "unit": null
+            }
+        }
     }
 }
index 9ed811b..3a9c5ac 100644 (file)
@@ -238,7 +238,7 @@ class Registry(newton_registration.Registry):
             cloud_dpdk_info = cloud_extra_info.get('ovsDpdk')
             capability = hpa_dict['ovsDpdk']['info']
             capability['hpa-capability-id'] = str(uuid.uuid4())
-            capability['hardwareArchitecture'] = cloud_dpdk_info.get('arch')
+            capability['architecture'] = cloud_dpdk_info.get('arch')
             attributes = [
                 {
                     'hpa-attribute-key': cloud_dpdk_info.get('libname'),
@@ -248,6 +248,19 @@ class Registry(newton_registration.Registry):
             capability['hpa-features-attributes'] = attributes
             capabilities.append(capability)
 
+        # Instruction Set Extensions
+        if "hw:capabilities:cpu_info:features" in extra_specs:
+            capability = hpa_dict['instructionSetExtensions']
+            capability['hpa-capability-id'] = str(uuid.uuid4())
+            attributes = [
+                {
+                    'hpa-attribute-key': hpa_dict['instructionSetExtensions']['hpa-attributes']['hw:capabilities:cpu_info:features'],
+                    'hpa-attribute-value': '{{\"value\":[\"{0}\"]}}'.format(extra_specs['hw:capabilities:cpu_info:features'])
+                }
+            ]
+            capability['hpa-features-attributes'] = attributes
+            capabilities.append(capability)
+
         return capabilities
 
     def _get_capability_attributes(self, cloud_info, attributes):