[4.0.1 Build 27] K8S Nested: Kube Manager code always expecting VM interface name as eth0
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R4.0 |
Fix Committed
|
Critical
|
Dinesh Bakiaraj | |||
Trunk |
Fix Committed
|
Critical
|
Dinesh Bakiaraj |
Bug Description
In K8S nested mode with Ubuntu 16.04 (Host and Container Both), POD is not getting IP. While creating POD, neutron port is getting created properly with sub interface. Even agent introspect is having required sub interface entry. But not seeing this port getting created on host VM. On furthyer analysis , kube-manager code is setting up /etc/cni/
{
"cniVersion": "0.2.0",
"contrail" : {
"mode" : "k8s",
"vif-type" : "macvlan",
"vrouter-ip" : "10.10.10.101",
"config-dir" : "/var/lib/
"log-dir" : "/var/log/
"log-file" : "/var/log/
"log-level" : "4"
},
"name": "contrail-k8s-cni",
"type": "contrail-k8s-cni"
}
Entry in Agent introspect
7
default_
6d8dd43e-
default-
root@vm-test-1:~# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
ubuntuapp 1/1 Running 0 56m <none> vm-test-2
ubuntuapp-3 0/1 ContainerCannotRun 0 19m <none> vm-test-3
As per API server ubuntuapp is getting IP 10.47.255.252
root@5b8s38:~# rt --dump 1 | more | grep 10.47.255.252
10.47.255.252/32 32 PT - 33 -
root@5b8s38:~# nh --get 33
Id:33 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:4 Vrf:1
Encap Data: 02 8c 0c 07 08 7f 00 00 5e 00 01 00 81 00 00 01 08 00
root@5b8s38:~# vif --get 6
Vrouter Interface Table
Flags: P=Policy, X=Cross Connect, S=Service Chain, Mr=Receive Mirror
Mt=Transmit Mirror, Tc=Transmit Checksum Offload, L3=Layer 3, L2=Layer 2
D=DHCP, Vp=Vhost Physical, Pr=Promiscuous, Vnt=Native Vlan Tagged
Mnp=No MAC Proxy, Dpdk=DPDK PMD Interface, Rfl=Receive Filtering Offload, Mon=Interface is Monitored
Uuf=Unknown Unicast Flood, Vof=VLAN insert/strip offload, Df=Drop New Flows, L=MAC Learning Enabled
Proxy=MAC Requests Proxied Always, Er=Etree Root
vif0/6 default__ubuntuapp Vlan(o/i)(,S): 1/1 Bridge Index: 0 Parent:vif0/3
Vrf:1 Flags:PL3DEr QOS:-1 Ref:5
RX packets:0 bytes:0 errors:0
TX packets:418 bytes:19228 errors:0
Drops:0
root@5b8s38:~# ifconfig | grep vlan
root@5b8s38:~# ifconfig | grep vlandefault_
root@5b8s38:~# ifconfig | grep default__ubuntuapp
CNI Error Log
---------------
I : 10553 : 2017/08/13 00:00:59 macvlan.go:266: {CniIntf:
I : 10553 : 2017/08/13 00:00:59 vrouter.go:394: File /var/lib/
E : 10553 : 2017/08/13 00:00:59 cni.go:205: Failed in CanDelete
I : 10558 : 2017/08/13 00:00:59 contrail-
I : 10558 : 2017/08/13 00:00:59 contrail-
I : 10558 : 2017/08/13 00:00:59 cni.go:85: ContainerID : 6f4eaeb95b3e834
I : 10558 : 2017/08/13 00:00:59 cni.go:86: NetNS :
I : 10558 : 2017/08/13 00:00:59 cni.go:87: Container Ifname : eth0
I : 10558 : 2017/08/13 00:00:59 cni.go:88: Args : IgnoreUnknown=
I : 10558 : 2017/08/13 00:00:59 cni.go:89: Config File : {"cniVersion"
I : 10558 : 2017/08/13 00:00:59 cni.go:90: &{cniArgs:
I : 10558 : 2017/08/13 00:00:59 vrouter.go:442: {Server:
I : 10558 : 2017/08/13 00:00:59 macvlan.go:289: Initialized MacVlan interface {CniIntf:
I : 10558 : 2017/08/13 00:00:59 macvlan.go:266: {CniIntf:
I : 10558 : 2017/08/13 00:00:59 vrouter.go:394: File /var/lib/
E : 10558 : 2017/08/13 00:00:59 cni.go:205: Failed in CanDelete
Contrail-
-------
08/13/2017 12:22:03 AM [contrail-
08/13/2017 12:22:03 AM [contrail-
08/13/2017 12:22:03 AM [contrail-
08/13/2017 12:22:03 AM [contrail-
08/13/2017 12:22:03 AM [contrail-
08/13/2017 12:22:05 AM [contrail-
08/13/2017 12:22:05 AM [contrail-
08/13/2017 12:23:05 AM [contrail-
08/13/2017 12:23:05 AM [contrail-
08/13/2017 12:24:05 AM [contrail-
08/13/2017 12:24:05 AM [contrail-
08/13/2017 12:25:05 AM [contrail-
08/13/2017 12:25:05 AM [contrail-
08/13/2017 12:26:05 AM [contrail-
08/13/2017 12:26:05 AM [contrail-
08/13/2017 12:27:05 AM [contrail-
08/13/2017 12:27:05 AM [contrail-
08/13/2017 12:28:05 AM [contrail-
08/13/2017 12:28:05 AM [contrail-
08/13/2017 12:29:05 AM [contrail-
08/13/2017 12:29:05 AM [contrail-
08/13/2017 12:30:05 AM [contrail-
08/13/2017 12:30:05 AM [contrail-
08/13/2017 12:31:05 AM [contrail-
08/13/2017 12:31:05 AM [contrail-
Changed in juniperopenstack: | |
importance: | Undecided → Critical |
milestone: | none → r4.0.1.0 |
information type: | Proprietary → Public |
summary: |
- [4.0.1 Build 27] K8S Nested: Pod not getting IP + [4.0.1 Build 27] K8S Nested: Pod is not getting IP |
tags: | added: contrail-kube-cni |
summary: |
- [4.0.1 Build 27] K8S Nested: Pod is not getting IP + [4.0.1 Build 27] K8S Nested: Kube Manager code always expecting VM + interface name as eth0 |
description: | updated |
Changed in juniperopenstack: | |
assignee: | nobody → Dinesh Bakiaraj (dineshb) |
tags: | added: blocker |
Changed in juniperopenstack: | |
assignee: | Dinesh Bakiaraj (dineshb) → Sachchidanand Vaidya (vaidyasd) |
Changed in juniperopenstack: | |
milestone: | r4.0.1.0 → r4.0.2.0 |
Changed in juniperopenstack: | |
assignee: | Sachchidanand Vaidya (vaidyasd) → Dinesh Bakiaraj (dineshb) |
Workaround for this bug:
After installing CNI plugin in nested mode, goto minion nodes and change "parent-interface" to value to reflect VM's interface name. This bug will be fixed in 4.0.1+ release.