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

LB not getting External-IP

XMLWordPrintable

    • Important
    • No
    • False
    • Hide

      None

      Show
      None
    • Hide
      * Previously, the default virtual machine (VM) type for the Microsoft Azure load balancer was changed from `Standard` to `VMSS`. Consequently, the service type load balancer could not attach standard VMs to load balancers. This update reverts these changes to the previous configuration to maintain compatibility with {product-title} deployments. As a result, load balancer attachments are now more consistent. (link:https://issues.redhat.com/browse/OCPBUGS-26210[*OCPBUGS-26210*])
      Show
      * Previously, the default virtual machine (VM) type for the Microsoft Azure load balancer was changed from `Standard` to `VMSS`. Consequently, the service type load balancer could not attach standard VMs to load balancers. This update reverts these changes to the previous configuration to maintain compatibility with {product-title} deployments. As a result, load balancer attachments are now more consistent. (link: https://issues.redhat.com/browse/OCPBUGS-26210 [* OCPBUGS-26210 *])
    • Bug Fix
    • Done

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

      Description of problem:

      A regression was identified creating LoadBalancer services in ARO in new 4.14 clusters (handled for new installations in OCPBUGS-24191)
      
      The same regression has been also confirmed in ARO clusters upgraded to 4.14

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

      4.14.z

      How reproducible:

      On any ARO cluster upgraded to 4.14.z    

      Steps to Reproduce:

          1. Install an ARO cluster
          2. Upgrade to 4.14 from fast channel
          3. oc create svc loadbalancer test-lb -n default --tcp 80:8080

      Actual results:

      # External-IP stuck in Pending
      $ oc get svc test-lb -n default
      NAME      TYPE           CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
      test-lb   LoadBalancer   172.30.104.200   <pending>     80:30062/TCP   15m
      
      
      # Errors in cloud-controller-manager being unable to map VM to nodes
      $ oc logs -l infrastructure.openshift.io/cloud-controller-manager=Azure  -n openshift-cloud-controller-manager
      I1215 19:34:51.843715       1 azure_loadbalancer.go:1533] reconcileLoadBalancer for service(default/test-lb) - wantLb(true): started
      I1215 19:34:51.844474       1 event.go:307] "Event occurred" object="default/test-lb" fieldPath="" kind="Service" apiVersion="v1" type="Normal" reason="EnsuringLoadBalancer" message="Ensuring load balancer"
      I1215 19:34:52.253569       1 azure_loadbalancer_repo.go:73] LoadBalancerClient.List(aro-r5iks3dh) success
      I1215 19:34:52.253632       1 azure_loadbalancer.go:1557] reconcileLoadBalancer for service(default/test-lb): lb(aro-r5iks3dh/mabad-test-74km6) wantLb(true) resolved load balancer name
      I1215 19:34:52.528579       1 azure_vmssflex_cache.go:162] Could not find node () in the existing cache. Forcely freshing the cache to check again...
      E1215 19:34:52.714678       1 azure_vmssflex.go:379] fs.GetNodeNameByIPConfigurationID(/subscriptions/fe16a035-e540-4ab7-80d9-373fa9a3d6ae/resourceGroups/aro-r5iks3dh/providers/Microsoft.Network/networkInterfaces/mabad-test-74km6-master0-nic/ipConfigurations/pipConfig) failed. Error: failed to map VM Name to NodeName: VM Name mabad-test-74km6-master-0
      E1215 19:34:52.714888       1 azure_loadbalancer.go:126] reconcileLoadBalancer(default/test-lb) failed: failed to map VM Name to NodeName: VM Name mabad-test-74km6-master-0
      I1215 19:34:52.714956       1 azure_metrics.go:115] "Observed Request Latency" latency_seconds=0.871261893 request="services_ensure_loadbalancer" resource_group="aro-r5iks3dh" subscription_id="fe16a035-e540-4ab7-80d9-373fa9a3d6ae" source="default/test-lb" result_code="failed_ensure_loadbalancer"
      E1215 19:34:52.715005       1 controller.go:291] error processing service default/test-lb (will retry): failed to ensure load balancer: failed to map VM Name to NodeName: VM Name mabad-test-74km6-master-0

      Expected results:

      # The LoadBalancer gets an External-IP assigned
      $ oc get svc test-lb -n default 
      NAME         TYPE           CLUSTER-IP       EXTERNAL-IP                            PORT(S)        AGE 
      test-lb      LoadBalancer   172.30.193.159   20.242.180.199                         80:31475/TCP   14s

      Additional info:

      In cloud-provider-config cm in openshift-config namespace, vmType=""
      
      When vmType gets changed to "standard" explicitly, the provisioning of the LoadBalancer completes and an ExternalIP gets assigned without errors.

              joelspeed Joel Speed
              openshift-crt-jira-prow OpenShift Prow Bot
              Zhaohua Sun Zhaohua Sun
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: