Add runtime gpu capabilities to ilo inspection
Add gpu related dynamic capabilities in ilo inspection. It would add following dynamic capabilities: gpu_<vendor>_count : Integer gpu_<gpu_device_name>_count : Integer gpu_<gpu_device_name> : boolean story: 2008702 task: 42023 Change-Id: Ic785fbe8a40d8a999e7e319a6505b46f82ba8344
This commit is contained in:
parent
00aea13949
commit
9220f97ed7
@ -941,6 +941,21 @@ Inspection can also discover the following extra capabilities for iLO driver:
|
||||
This is disable/enable login to the iLO using credentials. This can be toggled only
|
||||
by physical visit to the bare metal.
|
||||
|
||||
* ``gpu_<vendor>_count``: Integer value. The capability name is dynamically formed as
|
||||
gpu_<vendor>_count. The vendor name is replaced in the "<vendor>". If the vendor name
|
||||
is not returned by the hardware, then vendor ID in hexadecimal form is replaced
|
||||
in the capability name. Examples: {'gpu_Nvidia_count': 1}, {'gpu_0x102b_count': 1}.
|
||||
|
||||
* ``gpu_<vendor_device_name>_count``: Integer value. The capability name is formed
|
||||
dynamically by replacing the gpu device name as returned by ilo in
|
||||
"<vendor_device_name>". Examples: {'gpu_Nvidia_Tesla_M10_count': 1},
|
||||
{'gpu_Embedded_Video_Controller_count': 1}
|
||||
|
||||
* ``gpu_<vendor_device_name>``: Boolean. The capability name is formed
|
||||
dynamically by replacing the gpu device name as returned by ilo in
|
||||
"<vendor_device_name>". Examples: {'gpu_Nvidia_Tesla_M10': True},
|
||||
{'gpu_Embedded_Video_Controller': True}
|
||||
|
||||
.. note::
|
||||
|
||||
* The capability ``nic_capacity`` can only be discovered if ipmitool
|
||||
|
@ -4,7 +4,7 @@
|
||||
# python projects they should package as optional dependencies for Ironic.
|
||||
|
||||
# These are available on pypi
|
||||
proliantutils>=2.10.0
|
||||
proliantutils>=2.11.0
|
||||
pysnmp>=4.3.0,<5.0.0
|
||||
python-scciclient>=0.8.0
|
||||
python-dracclient>=5.1.0,<6.0.0
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -0,0 +1,7 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
Adds new GPU dynamic capabilities to ``ilo`` drivers inspection.
|
||||
gpu_<vendor>_count: Integer
|
||||
gpu_<gpu_device_name>_count: Integer
|
||||
gpu_<gpu_device_name>: Boolean
|
Loading…
Reference in New Issue
Block a user