Fix PCI devices missing mount points

PCI IRQ affinity agent is unable to find the instances' PCI devices
and is failing to set IRQ affinity settings. This is happening
because the directory used by the agent, /sys/bus/pci/devices,
contains symbolic links to directories inside /sys/devices, and these
aren't available inside the container, causing the agent to fail when
it tries to read PCI devices information.

This commit changes the hostPath volume from /sys/bus/pci/devices to
/sys, so that the container will have /sys/devices mounted as well
and the agent will be able to access its contents.

Test Plan:
PASS: Verify that /sys/bus/pci/devices symbolic links are not broken
PASS: Verify that PCI IRQ affinity agent can read PCI devices info
PASS: Verify agent configuring IRQ affinity settings successfully
      after booting instances with PCI affinity mask on the flavor

Regression:
PASS: Verify that openstack application can be applied successfully
PASS: Verify that no alarms are raised after applying openstack

Closes-bug: 1952660
Signed-off-by: Heitor Matsui <HeitorVieira.Matsui@windriver.com>
Change-Id: I1d6dea0a89955715975de3d3cda384e7f19bd13c
This commit is contained in:
Heitor Matsui 2021-11-29 16:33:24 -03:00
parent 1eb9ea3d4a
commit 1262e5ca01
2 changed files with 6 additions and 6 deletions

View File

@ -52,7 +52,7 @@ spec:
fieldRef:
fieldPath: spec.nodeName
- name: COMPUTE_PCI_DEVICES
value: {{ .Values.conf.host.mount_path.pci_devices }}
value: {{ .Values.conf.host.mount_path.sys }}/bus/pci/devices
- name: COMPUTE_IRQ
value: {{ .Values.conf.host.mount_path.irq }}
readinessProbe:
@ -83,8 +83,8 @@ spec:
- name: libvirt-sock-ro
mountPath: /var/run/libvirt/libvirt-sock-ro
readOnly: true
- name: compute-pci-devices
mountPath: {{ .Values.conf.host.mount_path.pci_devices }}
- name: compute-sys
mountPath: {{ .Values.conf.host.mount_path.sys }}
readOnly: false
- name: compute-irq
mountPath: {{ .Values.conf.host.mount_path.irq }}
@ -113,9 +113,9 @@ spec:
hostPath:
path: /var/run/libvirt/libvirt-sock-ro
type: Socket
- name: compute-pci-devices
- name: compute-sys
hostPath:
path: /sys/bus/pci/devices
path: /sys
type: Directory
- name: compute-irq
hostPath:

View File

@ -108,7 +108,7 @@ conf:
virt_host={{ .Values.conf.endpoints.rabbit.rabbit_virtual_host }}
host:
mount_path:
pci_devices: /compute/sys/bus/pci/devices
sys: /compute/sys
irq: /compute/proc/irq
secrets: