Description of problem: For whereabouts DHCP testing, if setup "range": "192.168.21.100/30" in yaml file, then 192.168.22.100/30 is network address, 192.168.22.101/30 to 192.168.22.102/30 are host addresses, 192.168.22.103/30 is broadcast address, the pod should only get 192.168.22.101 and 192.168.22.102, but right now one pod can get network address 192.168.22.100 Version-Release number of selected component (if applicable): 4.5.0-0.nightly-2020-05-15-123950 How reproducible: Always Steps to Reproduce: 1. oc create -f https://raw.githubusercontent.com/weliang1/Openshift_Networking/master/Features/multus/whereabouts-macvlan.yaml 2. Create 4 pods to absorbing above net-attach-def [weliang@weliang networking]$ oc get pods NAME READY STATUS RESTARTS AGE macvlan-bridge-whereabouts-pod1 1/1 Running 0 40s macvlan-bridge-whereabouts-pod2 1/1 Running 0 25s macvlan-bridge-whereabouts-pod3 1/1 Running 0 20s macvlan-bridge-whereabouts-pod4 0/1 ContainerCreating 0 15s [weliang@weliang networking]$ oc exec macvlan-bridge-whereabouts-pod1 -- 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@if62: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8951 qdisc noqueue state UP group default link/ether 0a:58:0a:80:00:39 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.128.0.57/23 brd 10.128.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::4c2:75ff:fe51:189c/64 scope link valid_lft forever preferred_lft forever 4: net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc noqueue state UP group default link/ether 82:4e:a0:d4:4c:1a brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.22.100/30 brd 192.168.22.103 scope global net1 valid_lft forever preferred_lft forever inet6 fe80::804e:a0ff:fed4:4c1a/64 scope link valid_lft forever preferred_lft forever [weliang@weliang networking]$ oc exec macvlan-bridge-whereabouts-pod2 -- 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@if63: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8951 qdisc noqueue state UP group default link/ether 0a:58:0a:80:00:3a brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.128.0.58/23 brd 10.128.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::f4eb:abff:fe94:1db8/64 scope link valid_lft forever preferred_lft forever 4: net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc noqueue state UP group default link/ether ae:61:98:3b:da:a5 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.22.101/30 brd 192.168.22.103 scope global net1 valid_lft forever preferred_lft forever inet6 fe80::ac61:98ff:fe3b:daa5/64 scope link valid_lft forever preferred_lft forever [weliang@weliang networking]$ oc exec macvlan-bridge-whereabouts-pod3 -- 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@if64: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8951 qdisc noqueue state UP group default link/ether 0a:58:0a:80:00:3b brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.128.0.59/23 brd 10.128.1.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::f455:d4ff:fea1:4857/64 scope link valid_lft forever preferred_lft forever 4: net1@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc noqueue state UP group default link/ether 52:44:d4:4f:ef:56 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 192.168.22.102/30 brd 192.168.22.103 scope global net1 valid_lft forever preferred_lft forever inet6 fe80::5044:d4ff:fe4f:ef56/64 scope link valid_lft forever preferred_lft forever [weliang@weliang networking]$ [weliang@weliang networking]$ [weliang@weliang networking]$ oc get net-attach-def NAME AGE macvlan-bridge-whereabouts 86s [weliang@weliang networking]$ oc get net-attach-def macvlan-bridge-whereabouts -o yaml apiVersion: k8s.cni.cncf.io/v1 kind: NetworkAttachmentDefinition metadata: creationTimestamp: "2020-05-15T19:47:34Z" generation: 1 managedFields: - apiVersion: k8s.cni.cncf.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: .: {} f:config: {} manager: oc operation: Update time: "2020-05-15T19:47:34Z" name: macvlan-bridge-whereabouts namespace: qi18r resourceVersion: "153560" selfLink: /apis/k8s.cni.cncf.io/v1/namespaces/qi18r/network-attachment-definitions/macvlan-bridge-whereabouts uid: eea85ce4-b021-4674-bb01-f31d0dbd9516 spec: config: '{ "cniVersion": "0.3.0", "type": "macvlan", "master": "ens3","mode": "bridge", "ipam": { "type": "whereabouts", "range": "192.168.22.100/30"} }' [weliang@weliang networking]$ Actual results: 192.168.22.100 was assigned to macvlan-bridge-whereabouts-pod1 Expected results: 192.168.22.100 should not be assigned to any pod Additional info:
PR merged 5 days ago, but it is still not in the nightly image
(In reply to Weibin Liang from comment #4) > PR merged 5 days ago, but it is still not in the nightly image QA still wait for the nightly image with PR fixing
Tested and verified in 4.6.0-0.nightly-2020-06-16-125323
updating target release for bz bot.
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.6 GA Images), 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-2020:4196