Bug 2101841

Summary: bond-cni: backport bond-cni GA items to 4.10
Product: OpenShift Container Platform Reporter: Marcin Mirecki <mmirecki>
Component: NetworkingAssignee: Marcin Mirecki <mmirecki>
Networking sub component: SR-IOV QA Contact: zhaozhanqi <zzhao>
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: cgoncalves, sscheink, zshi
Version: 4.10   
Target Milestone: ---   
Target Release: 4.10.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2106313 (view as bug list) Environment:
Last Closed: 2022-07-20 07:46:10 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2106313    
Bug Blocks:    

Description Marcin Mirecki 2022-06-28 14:12:24 UTC
BZ needed for backporting the GA items to 4.10

Comment 4 zhaozhanqi 2022-07-14 06:45:53 UTC
Verified this bug on 4.10.0-0.nightly-2022-07-13-131411

1. Setup cluster and install sriov operator
2. inited 4 VF by applying the following snnp

# cat snnp.yaml-netdeivce 
apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetworkNodePolicy
metadata:
  name: e810
  namespace: openshift-sriov-network-operator
spec:
  deviceType: netdevice
  nicSelector:
    deviceID: "159b"
    pfNames:
      - ens2f1
    vendor: '8086'
  nodeSelector:
    feature.node.kubernetes.io/sriov-capable: 'true'
  numVfs: 4
  priority: 99
  resourceName: e810

3. apply sriovnetwork 

apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
  name: snet1
  namespace: openshift-sriov-network-operator
spec:
  networkNamespace: z1
  ipam: "{}"
  trust: "on"
  resourceName: e810


apiVersion: sriovnetwork.openshift.io/v1
kind: SriovNetwork
metadata:
  name: snet2
  namespace: openshift-sriov-network-operator
spec:
  networkNamespace: z1
  ipam: "{}"
  trust: "on"
  resourceName: e810


3. create bond NAD

piVersion: "k8s.cni.cncf.io/v1"
kind: NetworkAttachmentDefinition
metadata:
  name: bond-net1
spec:
  config: '{
  "type": "bond",
  "cniVersion": "0.3.1",
  "name": "bond-net1",
  "mode": "active-backup",
  "failOverMac": 1,
  "linksInContainer": true,
  "miimon": "100",
  "mtu": 1500,
  "links": [
     {"name": "net1"},
     {"name": "net2"}
  ],
  "ipam": {
    "type": "host-local",
    "subnet": "10.56.217.0/24",
    "routes": [{
      "dst": "0.0.0.0/0"
    }],
    "gateway": "10.56.217.1"
  }
}'

4. Create testpod with those three net

apiVersion: v1
kind: Pod
metadata:
  generateName: testpod1
  labels:
    env: test
  annotations:
    k8s.v1.cni.cncf.io/networks: '[
            {"name": "snet1",
            "interface": "net1"
            },
            {"name": "snet2",
            "interface": "net2"
            },
            {"name": "bond-net1",
            "interface": "bond0"
            }]'
spec:
  containers:
  - name: bond
    image: quay.io/openshifttest/hello-sdn@sha256:2af5b5ec480f05fda7e9b278023ba04724a3dd53a296afcd8c13f220dec52197
    imagePullPolicy: IfNotPresent

5. Check the interface


# oc exec -n z1 testpod1g9jwf -- ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: eth0@if34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default 
    link/ether 0a:58:0a:81:02:0e brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 10.129.2.14/23 brd 10.129.3.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::858:aff:fe81:20e/64 scope link 
       valid_lft forever preferred_lft forever
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1e:46:5e:ee:7d:93 brd ff:ff:ff:ff:ff:ff
    inet 10.56.217.2/24 brd 10.56.217.255 scope global bond0
       valid_lft forever preferred_lft forever
    inet6 fe80::1c46:5eff:feee:7d93/64 scope link 
       valid_lft forever preferred_lft forever
30: net2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 4a:fc:1c:e8:a5:ab brd ff:ff:ff:ff:ff:ff
33: net1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP group default qlen 1000
    link/ether 1e:46:5e:ee:7d:93 brd ff:ff:ff:ff:ff:ff


Move this bug to verified.

Comment 7 errata-xmlrpc 2022-07-20 07:46:10 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 (OpenShift Container Platform 4.10.23 bug fix 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/RHBA-2022:5568