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

ExternalIP cannot be assigned when underlying OpenStack uses Provider Network

XMLWordPrintable

    • +
    • Moderate
    • None
    • ShiftStack Sprint 258, ShiftStack Sprint 259
    • 2
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      When Creating a Service of type LoadBalancer, the external IP isn't being assigned as OCP is looking for FloatingIP from the underlying OpenStack platform. As the OpenStack is configured to use Provider Network there isn't floatingIP. 
      In customer words
      "In our case externally routed IPs are directly connected to nodes (This is the default behavior of the provider network). So no floating IP or Ip quota can be present."

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

      OCP v4.12 on OpenStack

      How reproducible:

      occurs when Provider Network is used

      Steps to Reproduce:

      1. Configure Provider Networks in OpenStack
      2. On OCP, create a svc of type loadbalncer (ideally how externalIP is assigned)
      3. The externalIP dosen't get assigned
          

      Actual results:

      Events:
        Type     Reason                  Age                  From                Message
        ----     ------                  ----                 ----                -------
        Normal   EnsuringLoadBalancer    60s (x6 over 5m)     service-controller  Ensuring load balancer
        Warning  SyncLoadBalancerFailed  59s (x6 over 3m42s)  service-controller  Error syncing load balancer: failed to ensure load balancer: error creating LB floatingip: Expected HTTP response code [201 202] when accessing [POST <Internal_Organization_URL>:9696/v2.0/floatingips], but got 409 instead
      {"NeutronError": {"type": "OverQuota", "message": "Quota exceeded for resources: ['floatingip'].", "detail": ""}}

      Expected results:

      The ExternalIP being assigned on OCP as from the doc[0] I see OCP supports Provider Network being used on OpenStack side

      Additional info:

      I checked with OpenStack Support team & was informed that External network or an Internal Network (connected to an external network using a router) on OpenStack supports Floating IP quota.
      
      But, customer responded saying
      "There is no limitation from OpenStack but a provider network does not utilize/ require a floating IP ( all IPs by default globally routable in the case of a provider network).
      OpenShift is trying to check for a floating IP quota, which is unexpected behavior in case of OCP running with OpenStack project with provider network."
      
      The link[1] suggests that the Service of Type=Loadbalancer will have an External IP mapped to an automatically allocated Floatingip !
      
      Hence the error Quota exceeded for resources: ['floatingip'].", "detail": suggests that this is an issue from underlying platform, OpenStack

       

      [0] https://docs.openshift.com/container-platform/4.12/installing/installing_openstack/installing-openstack-installer-custom.html#installation-osp-provider-networks_installing-openstack-installer-custom

      [1] https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/expose-applications-using-loadbalancer-type-service.md#creating-service-by-specifying-a-floating-ip

              maandre@redhat.com Martin André
              rhn-support-adubey Akash Dubey
              Zhanqi Zhao Zhanqi Zhao
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: