Bug 1927895 - global RuntimeConfig is overwritten with merge result
Summary: global RuntimeConfig is overwritten with merge result
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.8
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: 4.8.0
Assignee: Billy McFall
QA Contact: Weibin Liang
URL:
Whiteboard:
Depends On:
Blocks: 1927896
TreeView+ depends on / blocked
 
Reported: 2021-02-11 18:52 UTC by Douglas Smith
Modified: 2021-07-27 22:44 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 1927896 (view as bug list)
Environment:
Last Closed: 2021-07-27 22:43:44 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2021:2438 0 None None None 2021-07-27 22:44:07 UTC

Description Douglas Smith 2021-02-11 18:52:11 UTC
Description of problem: When we call mergeRuntimeConfig, the global RuntimeConfig gets overwritten with the result of the merging, thus affecting the
subsequent delegates.

How reproducible: Always.

Steps to Reproduce: (could someone provide these so we can have QE take a look, thanks!)

Upstream PR @ https://github.com/intel/multus-cni/pull/607

Comment 1 Billy McFall 2021-02-17 20:43:00 UTC
Steps to Reproduce:

Used the yaml files from https://github.com/openshift/app-netutil, specifically from https://github.com/openshift/app-netutil/tree/master/samples/dpdk_app/sriov

In an OCP or Kubernetes cluster with Multus as default CNI, deploy a pod with two SR-IOV VFs, each VF from it's own network. Replace kubectl with oc below if on OCP.

1) Download yaml files:

  git clone https://github.com/openshift/app-netutil.git
  cd app-netutil/samples/dpdk_app/sriov
-- or --
  go get github.com/openshift/app-netutil
  cd $GOPATH/src/github.com/openshift/app-netutil/samples/dpdk_app/sriov


2) If SR-IOV Device Plugin in not deployed, modify config map to match system and then create configMap, then deploy SR-IOV DP:

  vi configMap.yaml 
  kubectl create -f configMap.yaml

  kubectl create -f sriovdp-daemonset.yaml


3) Create the Network Attachment Definition for each VF (if configMap already existed, update Network Attachment Definition to resourceName from existing configMap):

  kubectl create -f netAttach-sriov-dpdk-a.yaml
  kubectl create -f netAttach-sriov-dpdk-b.yaml


4) Create pod that uses the SR-IOV VFs. I was using the dpdk-app-centos image from the app-netutil repo, however, any container will work. Once the Pod comes up, view the annotations associated with the pod.

  kubectl create -f sriov-pod-1.yaml
  kubectl describe pod sriov-pod-1
  :
  Annotations:  k8s.v1.cni.cncf.io/network-status:
                [{
                    "name": "",
                    "interface": "eth0",
                    "ips": [
                        "10.244.0.5"
                    ],
                    "mac": "4e:cd:27:8a:38:e5",
                    "default": true,
                    "dns": {}
                },{
                    "name": "default/sriov-net-a",
                    "interface": "net1",
                    "dns": {},
                    "device-info": {
                        "type": "pci",
                        "version": "1.0.0",
                        "pci": {
                            "pci-address": "0000:01:02.4"
                        }
                    }
                },{
                    "name": "default/sriov-net-b",
                    "interface": "net2",
                    "dns": {},
                    "device-info": {
                        "type": "pci",
                        "version": "1.0.0",
                        "pci": {
                            "pci-address": "0000:01:02.4"
                        }
                    }
                }]
              k8s.v1.cni.cncf.io/networks: sriov-net-a, sriov-net-b

From this output, "device-info" for "net1" and "net2" are the same. They should be different.

Comment 6 errata-xmlrpc 2021-07-27 22:43:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:2438


Note You need to log in before you can comment on or make changes to this bug.