Things needed to reproduce the SR-IOV issue
- Bare metal system with Intel E810:
- OCP 4.16.0+
- At least one tagged VLAN to which test pod(s) can be attachted to
- a destination on the tagged VLAN that can be pinged (e.g. a gateway or another server that has an IP on the same tagged VLAN)
- RH SR-IOV Operator installed
- Configuration as follows:
oc get -o yaml sriovoperatorconfig -n openshift-sriov-network-operator apiVersion: v1 items: - apiVersion: sriovnetwork.openshift.io/v1 kind: SriovOperatorConfig metadata: name: default namespace: openshift-sriov-network-operator spec: disableDrain: true enableInjector: false enableOperatorWebhook: false logLevel: 2 kind: List metadata: resourceVersion: ""
- MIND all the following settings like interface name, VLAN IDs, IPs, ... depend on your setup and will most likely need to be changed
- create test namespace, service account (sa) and add security context constraint (SCC) to the created sa, e.g.:
oc new-project sriov-test
oc create sa priviledged-sa
oc adm policy add-scc-to-user privileged -z priviledged-sa
- create
SriovNetworkNodePolicy
, e.g. see here - create
NetworkAttachmentDefinition
, e.g. see here- MIND directly configuring
NetworkAttachmentDefinition
for SR-IOV is not the recommended way and insteadSriovNetwork
should be used which in turn createsNetworkAttachmentDefinition
in the defined namespace. However for this replicatorNetworkAttachmentDefinition
are created directly omittingSriovNetwork
.
- MIND directly configuring
- create
StatefulSet
running a pod with a tagged VLAN set up inside the pod, e.g see here - run a simple ping test, e.g.
for I in {0..9}; do echo -n po-vlan10${I}-0 : ; oc rsh po-vlan10${I}-0 ping -c3 192.168.10${I}.31 |grep transmi;done
- to run this in a loop, check out run_test_loop_bisec
- create test namespace, service account (sa) and add security context constraint (SCC) to the created sa, e.g.:
- in case you do want or need to build a custom image for testing, see https://github.com/dmoessne/rhcos-layering