summaryrefslogtreecommitdiff
path: root/ironic
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-03-19 08:32:15 +0000
committerGerrit Code Review <review@openstack.org>2021-03-19 08:32:15 +0000
commita06e403b11cc2337b03a02f480eba6362825aa71 (patch)
tree1949735a7e26ce4e0abb0e78602a9216a1c0980d /ironic
parente5b391c32df22ecfe8162b3a48b03748a375f0c3 (diff)
parent9220f97ed71e9401ce259a9bc1153ff589edd9f1 (diff)
downloadironic-a06e403b11cc2337b03a02f480eba6362825aa71.tar.gz
Merge "Add runtime gpu capabilities to ilo inspection"
Diffstat (limited to 'ironic')
-rw-r--r--ironic/drivers/modules/ilo/inspect.py7
-rw-r--r--ironic/tests/unit/drivers/modules/ilo/test_inspect.py12
2 files changed, 19 insertions, 0 deletions
diff --git a/ironic/drivers/modules/ilo/inspect.py b/ironic/drivers/modules/ilo/inspect.py
index 625cf8e12..1e41a1226 100644
--- a/ironic/drivers/modules/ilo/inspect.py
+++ b/ironic/drivers/modules/ilo/inspect.py
@@ -123,6 +123,13 @@ def _create_supported_capabilities_dict(capabilities):
"""
valid_cap = {}
+
+ # Add the capabilities starting with "gpu_" to the supported capabilities
+ # keys set as they are runtime generated keys and cannot be hardcoded.
+ for k in capabilities:
+ if k.startswith("gpu_"):
+ valid_cap[k] = capabilities.get(k)
+
for key in CAPABILITIES_KEYS.intersection(capabilities):
valid_cap[key] = capabilities.get(key)
return valid_cap
diff --git a/ironic/tests/unit/drivers/modules/ilo/test_inspect.py b/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
index a10c34bd9..ce81a2e47 100644
--- a/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
+++ b/ironic/tests/unit/drivers/modules/ilo/test_inspect.py
@@ -466,3 +466,15 @@ class TestInspectPrivateMethods(test_common.BaseIloTest):
expected.update({key: 'true'})
cap = ilo_inspect._create_supported_capabilities_dict(capabilities)
self.assertEqual(expected, cap)
+
+ def test___create_supported_capabilities_dict_gpu_capabilities(self):
+ capabilities = {'gpu_Nvidia_count': 1, 'gpu_Nvidia_Tesla_M10_count': 1,
+ 'gpu_Nvidia_Tesla_M10': True}
+ expected = {}
+ expected.update(capabilities)
+ for key in ilo_inspect.CAPABILITIES_KEYS:
+ capabilities.update({key: 'true'})
+ expected.update({key: 'true'})
+ capabilities.update({'unknown_property': 'true'})
+ cap = ilo_inspect._create_supported_capabilities_dict(capabilities)
+ self.assertEqual(expected, cap)