Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-47482

[Pre-Merge-Testing] CUDN pods can not receive multicast traffic

XMLWordPrintable

    • Important
    • No
    • Rejected
    • False
    • Hide

      None

      Show
      None
    • N/A
    • Release Note Not Required
    • In Progress

      Description of problem:

      Create a CUDN which generates nads on 2 ns, and create multicast testing pods. Sending multicast traffic on all pods to join a multicast group. Check traffics on pods, they can not receive multicast traffic. 

      How reproducible:

      always

      Steps to Reproduce:

      1. create cudn in ns a1 and a2

      % cat cudn.yaml 
      apiVersion: k8s.ovn.org/v1
      kind: ClusterUserDefinedNetwork
      metadata:
        name: net3
      spec:
        namespaceSelector:
          matchExpressions:
          - key: kubernetes.io/metadata.name
            operator: In
            values: ["a1", "a2"]
        network:
          topology: Layer3
          layer3:
            role: Primary
            subnets: [{cidr: "10.100.0.0/16"}] 

      2. create ns a1 and ns a2 and enable multicast

      oc annotate namespace a1 k8s.ovn.org/multicast-enabled=true
      oc annotate namespace a2 k8s.ovn.org/multicast-enabled=true 

      3. create multicast pods in a1

      % cat multicast-rc.json 
      {
          "apiVersion": "v1",
          "kind": "ReplicationController",
          "metadata": {
      	"labels": {
      	    "name": "mcast-rc"
      	},
      	"name": "mcast-rc"
          },
          "spec": {
      	"replicas": 3,
      	"template": {
      	    "metadata": {
      		"labels": {
      		    "name": "mcast-pods"
      		}
      	    },
      	    "spec": {
      		"containers": [
      		    {
      			"image": "quay.io/openshifttest/mcast-pod@sha256:aa2a8fdcfeddb09097e6a7201cfdb062db8d92d523cbcf758ef7d3545a1f5776",
      			"name": "mcast-pod"
      		    }
      		]
      	    }
      	}
          }
      } 

      4. get udn primary ip of pods

      % oc get pods
      NAME             READY   STATUS    RESTARTS   AGE
      mcast-rc-6s2qd   1/1     Running   0          68m
      mcast-rc-hwfw2   1/1     Running   0          68m
      mcast-rc-lp24d   1/1     Running   0          68m
      
      % oc describe pods | grep eth0
                              "interface": "eth0",
        Normal  AddedInterface  68m   multus             Add eth0 [10.129.2.18/23 10.100.3.3/24] from ovn-kubernetes
                              "interface": "eth0",
        Normal  AddedInterface  68m   multus             Add eth0 [10.128.2.33/23 10.100.2.5/24] from ovn-kubernetes
                              "interface": "eth0",
        Normal  AddedInterface  68m   multus             Add eth0 [10.131.0.16/23 10.100.1.3/24] from ovn-kubernetes
       

      5. send multicast traffic on all pods and check if pods can receive multicast traffic or not

      e.g:
       % oc rsh mcast-rc-6s2qd 
      ~ $ omping -c 5 -T 15 10.100.3.3 10.100.2.5 10.100.1.3 
      10.100.2.5 : waiting for response msg
      10.100.1.3 : waiting for response msg
      10.100.2.5 : waiting for response msg
      10.100.1.3 : waiting for response msg
      10.100.2.5 : joined (S,G) = (*, 232.43.211.234), pinging
      10.100.2.5 :   unicast, seq=1, size=69 bytes, dist=2, time=1.285ms
      10.100.2.5 :   unicast, seq=2, size=69 bytes, dist=2, time=1.249ms
      10.100.1.3 : waiting for response msg
      10.100.1.3 : joined (S,G) = (*, 232.43.211.234), pinging
      10.100.2.5 :   unicast, seq=3, size=69 bytes, dist=2, time=1.303ms
      10.100.1.3 :   unicast, seq=1, size=69 bytes, dist=2, time=0.805ms
      10.100.1.3 :   unicast, seq=2, size=69 bytes, dist=2, time=0.990ms
      10.100.2.5 :   unicast, seq=4, size=69 bytes, dist=2, time=1.224ms
      10.100.1.3 :   unicast, seq=3, size=69 bytes, dist=2, time=0.993ms
      10.100.2.5 :   unicast, seq=5, size=69 bytes, dist=2, time=1.190ms
      10.100.2.5 : given amount of query messages was sent
      10.100.1.3 :   unicast, seq=4, size=69 bytes, dist=2, time=0.936ms
      10.100.1.3 :   unicast, seq=5, size=69 bytes, dist=2, time=0.973ms
      10.100.1.3 : given amount of query messages was sent
      
      
      10.100.2.5 :   unicast, xmt/rcv/%loss = 5/5/0%, min/avg/max/std-dev = 1.190/1.250/1.303/0.046
      10.100.2.5 : multicast, xmt/rcv/%loss = 5/0/100%, min/avg/max/std-dev = 0.000/0.000/0.000/0.000
      10.100.1.3 :   unicast, xmt/rcv/%loss = 5/5/0%, min/avg/max/std-dev = 0.805/0.939/0.993/0.078
      10.100.1.3 : multicast, xmt/rcv/%loss = 5/0/100%, min/avg/max/std-dev = 0.000/0.000/0.000/0.000

      multicast, xmt/rcv/%loss = 5/0/100% means all muticast traffics are dropped.

      Actual results:

      cudn pods can not receive multicast traffic

      Expected results:

      cudn pods should receive multicast traffic

      Additional info:

      Build image via build 4.18.0-0.nightly,openshift/api#2127,openshift/ovn-kubernetes#2403
      
      

       

       

              dceara@redhat.com Dumitru Ceara
              rhn-support-yingwang Ying Wang
              Ying Wang Ying Wang
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: