Cannot modify sriov_numvfs when pod is running on another vf

Bug #1976540 reported by Caio Bruchert
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Fix Released
Medium
Caio Bruchert

Bug Description

The existing tc "test_create_sriov_when_pod_running_on_a_vf_intf_on_other_sriov" tries to modify the amount of vf and it does not increase
Running command :

system host-if-modify controller-1 enp191s0f1 --ifname sriov425 --ifclass pci-sriov --num-vfs 64 --vf-driver netdevice'

Steps to Reproduce

Choose an interface and a controller: in this case controller-0 and enp181s0f1

Setup steps with controller-1 as active controller:

system host-lock controller-0
system host-if-add controller-0 test_intf vf sriov0 --imtu 1500 --vf-driver vfio --ifclass pci-sriov --num-vfs 1 --max-tx-rate 36000
system datanetwork-add --mtu=1500 testnetwork vlan
system interface-datanetwork-assign controller-0 test_intf testnetwork
system host-port-show controller-0 enp181s0f1 # Take note of number of sriov_totalvfs (64) and sriov_numvfs (0) pick sriov_totalvfs:

Test steps:

system host-port-show controller-0 enp181s0f1
system host-if-modify controller-0 enp181s0f1 --ifname sriov425 --ifclass pci-sriov --num-vfs 64 --vf-driver netdevice
system host-unlock controller-0 at this poit you will get the message:
   "Expecting number of interface sriov_numvfs=64. Please wait a few minutes for inventory update and retry host-unlock"
After some minutes it could be checked using: system host-port-show controller-0 enp181s0f1
    and it remains in sriov_numvfs=0
Expected Behavior

The sriov_numvfs of the interface chosen by tc increment to the desired value

Actual Behavior

After command execution, it seems to do nothing

Reproducibility

<Reproducible>

System Configuration

A duplex system, IPv4.

Timestamp/Logs

[2022-04-19 21:10:09,440] 135 INFO MainThread utils.wait_for_expected_exit_code:: expected exit code: 0, actual exit code: 1, output is 'Expecting number of interface sriov_numvfs=64. Please wait a few minutes for inventory update and retry host-unlock.'

Caio Bruchert (cbrucher)
Changed in starlingx:
assignee: nobody → Caio Bruchert (cbrucher)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to config (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/starlingx/config/+/844324

Changed in starlingx:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to config (master)

Reviewed: https://review.opendev.org/c/starlingx/config/+/844324
Committed: https://opendev.org/starlingx/config/commit/1288b7e99b8a3a4d80b593be159c68dc0b7409b6
Submitter: "Zuul (22348)"
Branch: master

commit 1288b7e99b8a3a4d80b593be159c68dc0b7409b6
Author: Caio Bruchert <email address hidden>
Date: Wed Jun 1 13:06:48 2022 -0400

    Fix N3000 onboard device PCI address mismatch

    In a non-simplex system, when an N3000 FPGA is reset, its onboard
    devices can have their PCI addresses changed after the database is
    populated.
    When this happens some commands can try to use the outdated address
    and fail (usually after checking the PCI address in
    /sys/bus/pci/devices/)
    This fix detects PCI address changes on 0d58 devices and updates the
    database accordingly.

    Test Plan:
        PASS: New unit tests using simplex and non-simplex simulation
        PASS: Configure pci-sriov interfaces on onboard N3000 devices
        PASS: Unlock and check Puppet logs for errors
        PASS: Upgrade AIO-DX

    Closes-Bug: 1976540

    Change-Id: I57ef19011b8f4d9a98ada4db66b5c7cfcb12de21
    Signed-off-by: Caio Bruchert <email address hidden>

Changed in starlingx:
status: In Progress → Fix Released
Ghada Khalil (gkhalil)
tags: added: stx.7.0 stx.networking
Changed in starlingx:
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.