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

monitor not working with UDP lb when externalTrafficPolicy: Local

    XMLWordPrintable

Details

    • ?
    • Moderate
    • False
    • Hide

      None

      Show
      None
    • None

    Description

      This is a clone of issue OCPBUGS-859. The following is the description of the original issue:

      Description of problem:

      Considering that the [^cloud-provider-config.patch.yaml]is succesfully applied, applying [^ETPlocal-manifests.yaml]OCP is creating a healthmonitor like below:

      $ oc apply -f ETPlocal-manifests.yaml 
      project.project.openshift.io/udp-lb-etplocal-ns created
      deployment.apps/udp-lb-etplocal-dep created
      service/udp-lb-etplocal-svc created
      
      $ openstack loadbalancer healthmonitor list -c name -c type
      +-----------------------------------------------------------------------------+------+
      | name                                                                        | type |
      +-----------------------------------------------------------------------------+------+
      | monitor_8082_kube_service_kubernetes_udp-lb-etplocal-ns_udp-lb-etplocal-svc | HTTP |
      +-----------------------------------------------------------------------------+------+
      
      
      

      This is setting the members in operating_status=NO_MONITOR:

       

      $ openstack loadbalancer member list $(openstack loadbalancer show $LB_ID -c pools -f value) -c name -c operating_status
      +-----------------------------+------------------+
      | name                        | operating_status |
      +-----------------------------+------------------+
      | ostest-lf6bt-worker-0-zxm4c | NO_MONITOR       |
      | ostest-lf6bt-master-1       | NO_MONITOR       |
      | ostest-lf6bt-master-0       | NO_MONITOR       |
      | ostest-lf6bt-master-2       | NO_MONITOR       |
      | ostest-lf6bt-worker-0-rnjjs | NO_MONITOR       |
      +-----------------------------+------------------+

      Therefore, it is not possible to reach the pods from the outside.

       

      However, changing the configuration of above manifests by removing the line externalTrafficPolicy: Local in the service specs, the health-monitor is created with type UDP-CONNECT:

       

      $ openstack loadbalancer healthmonitor list -c name -c type
      +-----------------------------------------------------------------------------+-------------+
      | name                                                                        | type        |
      +-----------------------------------------------------------------------------+-------------+
      | monitor_8082_kube_service_kubernetes_udp-lb-etplocal-ns_udp-lb-etplocal-svc | UDP-CONNECT |
      +-----------------------------------------------------------------------------+-------------+

      and the members are now moved to MONITOR:

      $ openstack loadbalancer member list $(openstack loadbalancer show $LB_ID -c pools -f value) -c name -c operating_status
      +-----------------------------+------------------+
      | name                        | operating_status |
      +-----------------------------+------------------+
      | ostest-lf6bt-worker-0-zxm4c | ONLINE           |
      | ostest-lf6bt-master-1       | ONLINE           |
      | ostest-lf6bt-master-0       | ONLINE           |
      | ostest-lf6bt-master-2       | ONLINE           |
      | ostest-lf6bt-worker-0-rnjjs | ONLINE           |
      +-----------------------------+------------------+

      so the service load-balancer is functioning:

      $  cat <(echo hostname) <(sleep 1) | nc -w 1 -u $FIP $PORT
      udp-lb-etplocal-dep-6cdb56d968-qfzpv

       

      Version-Release number of selected component (if applicable):

      4.12.0-0.nightly-2022-08-31-101631

      How reproducible:

      Always

      Actual results:

      UDP svc type:Load balancer is not working

      Expected results:

      UDP svc type:Load balancer is working

      Attachments

        Issue Links

          Activity

            People

              mdulko Michał Dulko
              openshift-crt-jira-prow OpenShift Prow Bot
              Ramón Lobillo Ramón Lobillo
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: