[k8s-R5.0]: Sync between Control and data plane required to handle situations where CNI miss the messages

Bug #1765941 reported by Pulkit Tandon on 2018-04-21
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R5.0
Fix Committed
High
Venkatraman Venkatapathy
Trunk
Fix Committed
High
Venkatraman Venkatapathy

Bug Description

Synch is required between Control and Data plane for K8s config.

e.g.:
If pod deletion is in progress and compute goes down, the CNI on agent won't get to know and would not free up the resources.
It can further lead to problems of new Pod creations.

Another case is when deployments are created.
Compute reboot will result in creating a replication of a different compute.
But when the node comes up after reboot, it will still have the resource as the CNI missed the notification.

Sachchidanand Vaidya (vaidyasd) wrote :

Hi Pulkit,
    Do you have output of "kubectl get pod -o wide" when these conditions happen ? When state Pod is in ?

Thanks,
Sachin

Pulkit Tandon (pulkitt) wrote :

There is no inconsistencies observed for "kubectl get pod -o wide" output.
The problem will be observed while creating new pods.
Some Vlan value will internally be allocated to a resource which was deleted at the agent.

Following are the CNI logs of a scenario where I got stuck which are suspected to be because of the same reason:

I : 3821 : 2018/04/20 23:46:35 vrouter.go:176: Get from vrouter passed. Result &{VmUuid: Nw: Ip: Plen:0 Gw: Dns: Mac:02:22:77:17:c8:44 VlanId:3}
I : 3821 : 2018/04/20 23:46:35 macvlan.go:289: Initialized MacVlan interface {CniIntf:{containerId:44aca3e86ce4873e93339e77eca27c66e47389552fc6930ede832a5d0ca79d17 containerUuid:20b6239c-4494-11e8-97a1-02125a1cf9ff containerIfName:eth0 containerNamespace:/proc/3802/ns/net mtu:1500} ParentIfName:eth0 vlanIfName:vlan20b6239c-44 vlanId:3 containerTmpIfName:mac20b6239c-44}
I : 3821 : 2018/04/20 23:46:35 macvlan.go:266: {CniIntf:{containerId:44aca3e86ce4873e93339e77eca27c66e47389552fc6930ede832a5d0ca79d17 containerUuid:20b6239c-4494-11e8-97a1-02125a1cf9ff containerIfName:eth0 containerNamespace:/proc/3802/ns/net mtu:1500} ParentIfName:eth0 vlanIfName:vlan20b6239c-44 vlanId:3 containerTmpIfName:mac20b6239c-44}
I : 3821 : 2018/04/20 23:46:35 macvlan.go:233: Creating MacVlan interface {CniIntf:{containerId:44aca3e86ce4873e93339e77eca27c66e47389552fc6930ede832a5d0ca79d17 containerUuid:20b6239c-4494-11e8-97a1-02125a1cf9ff containerIfName:eth0 containerNamespace:/proc/3802/ns/net mtu:1500} ParentIfName:eth0 vlanIfName:vlan20b6239c-44 vlanId:3 containerTmpIfName:mac20b6239c-44}
I : 3821 : 2018/04/20 23:46:35 macvlan.go:50: Creating vlan interface {CniIntf:{containerId:44aca3e86ce4873e93339e77eca27c66e47389552fc6930ede832a5d0ca79d17 containerUuid:20b6239c-4494-11e8-97a1-02125a1cf9ff containerIfName:eth0 containerNamespace:/proc/3802/ns/net mtu:1500} ParentIfName:eth0 vlanIfName:vlan20b6239c-44 vlanId:3 containerTmpIfName:mac20b6239c-44}
E : 3821 : 2018/04/20 23:46:35 macvlan.go:78: Error creating vlan interface vlan20b6239c-44 vlan-id 3parent-intf eth0. Error : file exists
E : 3821 : 2018/04/20 23:46:35 macvlan.go:237: Error creating vlan interface {CniIntf:{containerId:44aca3e86ce4873e93339e77eca27c66e47389552fc6930ede832a5d0ca79d17 containerUuid:20b6239c-4494-11e8-97a1-02125a1cf9ff containerIfName:eth0 containerNamespace:/proc/3802/ns/net mtu:1500} ParentIfName:eth0 vlanIfName:vlan20b6239c-44 vlanId:3 containerTmpIfName:mac20b6239c-44}. Error file exists

Review in progress for https://review.opencontrail.org/44256
Submitter: Venkatraman Venkatapathy (<email address hidden>)

Reviewed: https://review.opencontrail.org/44256
Committed: http://github.com/Juniper/contrail-controller/commit/f2810574b7947222d2ae10ecdd5355360649423b
Submitter: Zuul v3 CI (<email address hidden>)
Branch: master

commit f2810574b7947222d2ae10ecdd5355360649423b
Author: Venkatraman Venkatapathy <email address hidden>
Date: Sun Jul 1 00:58:17 2018 -0700

CNI Plugin updates - User defined MTU and missed delete call handling

This commit addresses the following two issue
1. Support for user defined MTU
2. Check and delete existing un-freed resources in case of missed
delete calls when node goes down.

Change-Id: Ibbcda433be5a2921e147dc64b7342e033418d70a
Closes-Bug: #1765941

Review in progress for https://review.opencontrail.org/44485
Submitter: Venkatraman Venkatapathy (<email address hidden>)

Reviewed: https://review.opencontrail.org/44485
Committed: http://github.com/Juniper/contrail-controller/commit/d71749c655ebacd7d0b7b077c2c5112b64dd8e42
Submitter: Zuul v3 CI (<email address hidden>)
Branch: R5.0

commit d71749c655ebacd7d0b7b077c2c5112b64dd8e42
Author: Venkatraman Venkatapathy <email address hidden>
Date: Mon Jul 9 18:07:28 2018 -0700

CNI Plugin updates - User defined MTU and missed delete call handling
Branch 5.0

This commit addresses the following two issue
1. Support for user defined MTU
2. Check and delete existing un-freed resources in case of missed
delete calls when node goes down.

Change-Id: I611a03a133d5f3f936f99e051c0fc821753bc77f
Closes-Bug: #1765941

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers