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

LoadBalancer Services Konnectivity, Router, etc not getting DualStack IPv6

    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Moderate
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Summary
      In an HCP KubeVirt deployment on a DualStack (IPv4/IPv6) OpenShift 4 management cluster, only the `kube-api service` receives both IPv4 and IPv6 addresses from MetalLB by default. Other services configured as `LoadBalancer` via `servicePublishingStrategy` receive only IPv4 addresses.

       

      Description
      When deploying HCP KubeVirt on a DualStack IPv4/IPv6 OCP 4 management cluster with default configuration, the `kube-api` service correctly gets both IPv4 and IPv6 addresses assigned by MetalLB.

       

      However, if the `services` section in the `HostedCluster` YAML is modified during cluster creation to explicitly configure `servicePublishingStrategy` as `LoadBalancer` for additional services (e.g., Konnectivity, Ignition), the resulting LoadBalancer services receive only an IPv4 address from MetalLB. IPv6 addresses are not assigned, unlike the `kube-api` service.

       

      Expected Result
      All LoadBalancer-type services configured via servicePublishingStrategy should receive both IPv4 and IPv6 addresses from MetalLB in a DualStack environment.

       

      Actual Result
      Only the kube-api service receives dual-stack addresses. Other LoadBalancer services receive IPv4 addresses only.

       

      Note: All of the below data is from my test cluster and doesn't contain any sensitive information.

       

       

      ❯ omc get hostedcluster aygarg -oyaml -n clusters | grep -i services -A14
      ─╯
        services:
        - service: APIServer
          servicePublishingStrategy:
            route:
              hostname: api.ayush.hcp.com
            type: Route
        - service: Ignition
          servicePublishingStrategy:
            type: Route
        - service: Konnectivity
          servicePublishingStrategy:
            type: Route
        - service: OAuthServer
          servicePublishingStrategy:
            type: Route
      
      
      ❯ omc get hostedcluster aygarg -oyaml -n clusters | grep -i networking -A7
      ─╯
        networking:
          clusterNetwork:
          - cidr: 10.132.0.0/14
          - cidr: fd03::/48
          networkType: OVNKubernetes
          serviceNetwork:
          - cidr: 172.31.0.0/16
          - cidr: fd04::/112
      
      
      ❯ omc get svc -n clusters-aygarg | grep -i LoadBalancer
      ─╯
      router                                           LoadBalancer   172.30.41.137    192.168.111.26   443:30454/TCP       29m
      
      
      
       ❯ omc get svc router -n clusters-aygarg -oyaml
      ─╯
      spec:
        allocateLoadBalancerNodePorts: true
        clusterIP: 172.30.41.137
        clusterIPs:
        - 172.30.41.137
        externalTrafficPolicy: Cluster
        internalTrafficPolicy: Cluster
        ipFamilies:
        - IPv4
        ipFamilyPolicy: SingleStack
        ports:
        - name: https
          nodePort: 30454
          port: 443
          protocol: TCP
          targetPort: https
        selector:
          app: private-router
        sessionAffinity: None
        type: LoadBalancer
      status:
        loadBalancer:
          ingress:
          - ip: 192.168.111.26
            ipMode: VIP
      
      
      
      
      ###### Management Cluster ######
      ❯ omc get Infrastructure/cluster -oyaml
      ─╯   infrastructureTopology: HighlyAvailable
        platform: BareMetal
        platformStatus:
          baremetal:
            apiServerInternalIP: 192.168.111.5
            apiServerInternalIPs:
            - 192.168.111.5
            - fd2e:6f44:5dd8:c956::5
            ingressIP: 192.168.111.4
            ingressIPs:
            - 192.168.111.4
            - fd2e:6f44:5dd8:c956::4
            loadBalancer:
              type: OpenShiftManagedDefault
            machineNetworks:
            - 192.168.111.0/24
            - fd2e:6f44:5dd8:c956::/120
          type: BareMetal
      
      

       

       

              ocohen@redhat.com Oren Cohen
              rhn-support-aygarg Ayush Garg
              None
              None
              Lin Gao Lin Gao
              None
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: