Comment 0 for bug 1710811

Revision history for this message
chhandak (chhandak) wrote :

Description:
In K8S nested setup, for a service, traffic is always landing on same backend pod rather load balancing.
For Service IP, agent programmed backend PODs as the active backup instead of active-active.
Vrouter is having only one entry as next hop instead of composite next hop.

Setup Details
--------------
*Single node contrail openstack cluster. Launched 3 VM. 1 acting as K8S master and other 2 as slaves.

*Service is created with 2 backend pods, launched on each nodes (VM)

* When a 3rd POD trying to access service, it is getting redirect to one backend pod only

Debug output
-------------

2017-08-15 05:59:40,796 - WARNING - No http hit seen for one or more pods.Pls check. Hits: {'ctest-nginx-pod-80890072': 10, 'ctest-nginx-pod-36674000': 0}
> /contrail-test/common/k8s/base.py(379)validate_nginx_lb()

root@vm-test-1:~# kubectl describe svc ctest-nginx-svc-76482655 -n ctest-namespace-80473558
Name: ctest-nginx-svc-76482655
Namespace: ctest-namespace-80473558
Labels: <none>
Annotations: <none>
Selector: app=http_test
Type: ClusterIP
IP: 10.107.220.45
Port: <unset> 80/TCP
Endpoints: 10.47.255.248:80,10.47.255.249:80
Session Affinity: None
Events: <none>

root@5b8s38:~# rt --dump 1 | grep 10.107.220.45
10.107.220.45/32 32 PT - 43 -
root@5b8s38:~# nh --get 43
Id:43 Type:Encap Fmly: AF_INET Rid:0 Ref_cnt:5 Vrf:1
              Flags:Valid, Policy, Etree Root,
              EncapFmly:0806 Oif:8 Len:18
              Encap Data: 02 e5 f7 0c 28 81 00 00 5e 00 01 00 81 00 00 32 08 00

root@5b8s38:~# vif --get 8
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/8 ctest-namespace-80473558__ctest-nginx-pod-80890072 Vlan(o/i)(,S): 50/50 Bridge Index: 0 Parent:vif0/4
            Type:Virtual(Vlan) HWaddr:00:00:5e:00:01:00 IPaddr:0 >>> Traffic is also coming to same POD
            Vrf:1 Flags:PL3DEr QOS:-1 Ref:5
            RX packets:476 bytes:26180 errors:0
            TX packets:515 bytes:26532 errors:0
            Drops:427