Add nova pci alias for GPUs Matrox G200E, NVidia M60, P40, T4

This adds nova pci-alias definitions for these GPUs:
- Matrox G200E (type-PCI), 'matrox-g200e'
- NVidia Tesla M60 (type-PCI), 'nvidia-tesla-m60'
- NVidia Tesla P40 (type-PCI), 'nvidia-tesla-p40'
- NVidia Tesla T4 (type-PF), 'nvdia-tesla-t4-pf'

The end user no longer needs to first override the nova helm chart
to launch VMs with these GPUs.

Previously the user needs to provide overrides like this:
cat << EOF > ./gpu_override.yaml
conf:
  nova:
    pci:
      alias:
        type: multistring
        values:
        - '{"vendor_id": "8086", "product_id": "0435", "name":
          "qat-dh895xcc-pf"}'
        - '{"vendor_id": "8086", "product_id": "0443", "name":
          "qat-dh895xcc-vf"}'
        - '{"vendor_id": "8086", "product_id": "37c8", "name":
          "qat-c62x-pf"}'
        - '{"vendor_id": "8086", "product_id": "37c9", "name":
          "qat-c62x-vf"}'
        - '{"name": "gpu"}'
        - '{"vendor_id": "102b", "product_id": "0522", "name":
          "matrox-g200e"}'
        - '{"vendor_id": "10de", "product_id": "13f2", "name":
          "nvidia-tesla-m60"}'
        - '{"vendor_id": "10de", "product_id": "1b38", "name":
          "nvidia-tesla-p40"}'
        - '{"vendor_id": "10de", "product_id": "1eb8",
          "device_type":
          "type-PF", "name": "nvidia-tesla-t4-pf"}'
EOF

system helm-override-update \
 --values ./gpu_override.yaml stx-openstack nova openstack --reuse-values
system application-apply stx-openstack

Closes-Bug: 1880997
Signed-off-by: Jim Gauld <james.gauld@windriver.com>
Change-Id: Iaa212351c13b9d279afff2d25dfeb1ffac0bb99d
This commit is contained in:
Jim Gauld
2020-07-31 15:56:53 -04:00
parent 9a212cdbe9
commit c86fae1b23
2 changed files with 31 additions and 1 deletions

View File

@@ -36,3 +36,20 @@ HELM_CHART_RABBITMQ = 'rabbitmq'
HELM_CHART_SWIFT = 'ceph-rgw'
HELM_CHART_DCDBSYNC = 'dcdbsync'
HELM_CHART_PSP_ROLEBINDING = 'openstack-psp-rolebinding'
# Nova PCI Alias types and names
# NOTE: Generic GPU and QAT definitions reside in sysinv/common/constants.py
# and are required by sysinv-agent and puppet for PCI devices inventory.
NOVA_PCI_ALIAS_DEVICE_TYPE_PCI = "type-PCI"
NOVA_PCI_ALIAS_DEVICE_TYPE_PF = "type-PF"
NOVA_PCI_ALIAS_DEVICE_TYPE_VF = "type-VF"
NOVA_PCI_ALIAS_GPU_MATROX_VENDOR = "102b"
NOVA_PCI_ALIAS_GPU_MATROX_G200E_DEVICE = "0522"
NOVA_PCI_ALIAS_GPU_MATROX_G200E_NAME = "matrox-g200e"
NOVA_PCI_ALIAS_GPU_NVIDIA_VENDOR = "10de"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_M60_DEVICE = "13f2"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_M60_NAME = "nvidia-tesla-m60"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_P40_DEVICE = "1b38"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_P40_NAME = "nvidia-tesla-p40"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_T4_PF_DEVICE = "1eb8"
NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_T4_PF_NAME = "nvidia-tesla-t4-pf"

View File

@@ -38,7 +38,20 @@ DEFAULT_NOVA_PCI_ALIAS = [
{"vendor_id": constants.NOVA_PCI_ALIAS_QAT_VF_VENDOR,
"product_id": constants.NOVA_PCI_ALIAS_QAT_C62X_VF_DEVICE,
"name": constants.NOVA_PCI_ALIAS_QAT_C62X_VF_NAME},
{"name": constants.NOVA_PCI_ALIAS_GPU_NAME}
{"name": constants.NOVA_PCI_ALIAS_GPU_NAME},
{"vendor_id": app_constants.NOVA_PCI_ALIAS_GPU_MATROX_VENDOR,
"product_id": app_constants.NOVA_PCI_ALIAS_GPU_MATROX_G200E_DEVICE,
"name": app_constants.NOVA_PCI_ALIAS_GPU_MATROX_G200E_NAME},
{"vendor_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_VENDOR,
"product_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_M60_DEVICE,
"name": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_M60_NAME},
{"vendor_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_VENDOR,
"product_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_P40_DEVICE,
"name": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_P40_NAME},
{"vendor_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_VENDOR,
"product_id": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_T4_PF_DEVICE,
"device_type": app_constants.NOVA_PCI_ALIAS_DEVICE_TYPE_PF,
"name": app_constants.NOVA_PCI_ALIAS_GPU_NVIDIA_TESLA_T4_PF_NAME},
]