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

[4.20] Validation of the reservedSubnet within the context of a specified subnet in CUDN is not performed during CUDN creation

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • 4.20
    • None
    • None
    • None
    • None
    • In Progress
    • Release Note Not Required
    • None
    • None
    • None
    • None
    • None

      Creating a CUDN with reservedSubnets with CIDR with netmask /24 when the subnet CIDR also has /24 is allowed to be configured, but the pod does not come up.

      Fails with error message in the logs when a pod is configured for the above CUDN

      I0916 14:19:07.462805 3361 network_controller.go:275] [zone-nad-controller network controller]: finished syncing network cluster_udn_l2-network, took 2.603698ms I0916 14:19:07.462812 3361 controller.go:258] Controller [zone-nad-controller network controller]: error found while processing cluster_udn_l2-network: [zone-nad-controller network controller]: failed to ensure network cluster_udn_l2-network: failed to start network cluster_udn_l2-network: failed to exclude subnet 192.168.40.0/24 for cluster_udn_l2.network_ovn_layer2_switch: failed to reserve IP 192.168.40.1: provided IP is already allocated

       

      I0916 14:19:07.527502 3361 gateway_udn.go:268] Failed to set network cluster_udn_l2-network's openflow ports for default bridge; error: failed while waiting on patch port "patch-br-ex_cluster_udn_l2.network_asood-09161-2vpw5-worker-c-h6975-to-br-int" to be created by ovn-controller and while getting ofport. stderr: ovs-vsctl: no row "patch-br-ex_cluster_udn_l2.network_asood-09161-2vpw5-worker-c-h6975-to-br-int" in table Interface , error: exit status 1

       

      I0916 14:32:59.507655 3361 gateway_udn.go:268] Failed to set network cluster_udn_l2-network's openflow ports for default bridge; error: failed while waiting on patch port "patch-br-ex_cluster_udn_l2.network_asood-09161-2vpw5-worker-c-h6975-to-br-int" to be created by ovn-controller and while getting ofport. stderr: ovs-vsctl: no row "patch-br-ex_cluster_udn_l2.network_asood-09161-2vpw5-worker-c-h6975-to-br-int" in table Interface

       

      I0916 14:34:22.605991 3361 cni.go:403] [a1/hello-pod 8a2fd62910a6778eff1e49163c543e8e92cb78669200b8a780a9252fda6ff439 network default NAD default] ADD finished CNI request [a1/hello-pod 8a2fd62910a6778eff1e49163c543e8e92cb78669200b8a780a9252fda6ff439 network default NAD default], result "", err failed to get pod annotation: timed out waiting for annotations: context deadline exceeded I0916 14:34:22.628847 3361 cni.go:382] [a1/hello-pod 8a2fd62910a6778eff1e49163c543e8e92cb78669200b8a780a9252fda6ff439 network default NAD default] DEL starting CNI request [a1/hello-pod 8a2fd62910a6778eff1e49163c543e8e92cb78669200b8a780a9252fda6ff439 network default NAD default] E0916 14:34:22.629049 3361 helper_linux.go:752] Error in UnconfigureInterface: failed to get container interface eth0 for pod a1/hello-pod NAD default: Link not found

       

      Steps to reproduce

      1. Create a CUDN
      cat <<EOF | kubectl apply -f -
      apiVersion: k8s.ovn.org/v1
      kind: ClusterUserDefinedNetwork
      metadata:
        name: l2-network
      spec:
        namespaceSelector:
          matchLabels:
            cudn-group: l2-net
        network:
          topology: Layer2
          layer2:
            role: Primary
            subnets: ["192.168.40.0/24"]
            reservedSubnets: ["192.168.40.4/24", "192.168.40.5/24"]
            defaultGatewayIPs: 
              - "192.168.40.3"
      EOF

      2. Create a pod to see it never comes up (never achieves running state but stays in containercreating state)

       

      cat <<EOF | kubectl apply -f -
      apiVersion: v1
      kind: Pod
      metadata:
        name: hello-pod
        labels:
          name: hello-pod
        namespace: a2
        annotations:
          v1.multus-cni.io/default-network: |
            [{
              "name": "default",
              "namespace": "openshift-ovn-kubernetes",
              "ips": ["192.168.40.7/24"],
              "mac": "02:03:04:05:06:02"
            }]
      spec:
        nodeName: <node name> OPTIONAL
        containers:
        - name: hello-pod
          image: "quay.io/openshifttest/hello-sdn@sha256:c89445416459e7adea9a5a416b3365ed3d74f2491beb904d61dc8d1eb89a72a4"
      EOF
       
      

      Expected:

      The user should not be allowed to configure such an CUDN, instead be given an error message.

              omergi@redhat.com Or Mergi
              omergi@redhat.com Or Mergi
              None
              None
              Anurag Saxena Anurag Saxena
              None
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: