-
Bug
-
Resolution: Done-Errata
-
None
Description of problem:
When having multiple SriovNetworkNodePolicy for the same iface (Which hold different config), NNCP deployment sometimes fails with the following message:
libnmstate.error.NmstateVerificationError
Found VF ports count does not match desired 32, current is:
NNCE cnv-qe-infra-17.cnvqe2.lab.eng.rdu2.redhat.com.static-ip-cnv-qe-infra-17.cnvqe2.lab.eng.rdu2.redhat.com: libnmstate.error.NmstateVerificationError"
To clarify - applied VF ports count is 0, because one SriovNetworkNodePolicy sets desired to 0. The other policy sets desired to 32.
Both policies attached.
NNS info about said interface -
[adi@fedora cnv-tests]$ oc get nns cnv-qe-infra-17.cnvqe2.lab.eng.rdu2.redhat.com -o yaml
apiVersion: nmstate.io/v1beta1
kind: NodeNetworkState
...
- ethernet:
auto-negotiation: false
duplex: full
speed: 10000
sr-iov:
total-vfs: 0
vfs: []
ipv4:
address: - ip: 10.1.156.17
prefix-length: 24
auto-dns: true
auto-gateway: true
auto-route-table-id: 0
auto-routes: true
dhcp: true
enabled: true
ipv6:
address: - ip: fe80::e643:4bff:feec:8400
prefix-length: 64
auto-dns: true
auto-gateway: true
auto-route-table-id: 0
auto-routes: true
autoconf: true
dhcp: true
enabled: true
lldp:
enabled: false
mac-address: E4:43:4B:EC:84:00
mtu: 1500
name: eno1
state: up
type: ethernet
...
Version-Release number of selected component (if applicable):
kubernetes-nmstate-handler v4.10.1-12
How reproducible:
On any Openshift cluster with CNV and SRIOV operator.
Steps to Reproduce:
1. Deploy attached SriovNetworkNodePolicys (Default my be applied when installing SRIOV-operator, so no need to apply it).
2. Deploy following NNCP (Adjust values) -
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: static-ip-cnv-qe-infra-18.cnvqe2.lab.eng.rdu2.redhat.com
spec:
desiredState:
interfaces:
- ipv4:
address: - ip: 10.1.156.18
prefix-length: 24
auto-dns: true
dhcp: false
enabled: true
ipv6:
address: - ip: fe80::e643:4bff:feec:76d0
prefix-length: 64
auto-dns: true
autoconf: false
dhcp: false
enabled: true
name: eno1
state: up
type: ethernet
nodeSelector:
kubernetes.io/hostname: cnv-qe-infra-18.cnvqe2.lab.eng.rdu2.redhat.com
Actual results:
NNCP deployment fails with the following message:
libnmstate.error.NmstateVerificationError
Found VF ports count does not match desired 32, current is:
NNCE cnv-qe-infra-17.cnvqe2.lab.eng.rdu2.redhat.com.static-ip-cnv-qe-infra-17.cnvqe2.lab.eng.rdu2.redhat.com: libnmstate.error.NmstateVerificationError"
Expected results:
NNCP deployment should be applied succesfully
Additional info:
Two points that this bug should address -
1. Why should nmstate be concerned with SRIOV config, when it's not required to make changes.
2. Why isn't nmstate able to determine which of the two sriov policies represents actual desired state? If SRIOV operator was able to deploy both policies, nmstate shouldn't bother with this.