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

Fix conflict error message in cluster-ingress-operator's ensureNodePortService

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • None
    • 4.13, 4.12, 4.11
    • Networking / router
    • None
    • Informational
    • None
    • Sprint 231
    • 1
    • Rejected
    • False
    • Hide

      None

      Show
      None
    • Hide
      * Previously, the Ingress Operator had the wrong service name in `ensureNodePortService` log message causing incorrect information to be logged. With this update, the Ingress Operator accurately logs the service in `ensureNodePortService`. (link:https://issues.redhat.com/browse/OCPBUGS-6698[*OCPBUGS-6698*])
      Show
      * Previously, the Ingress Operator had the wrong service name in `ensureNodePortService` log message causing incorrect information to be logged. With this update, the Ingress Operator accurately logs the service in `ensureNodePortService`. (link: https://issues.redhat.com/browse/OCPBUGS-6698 [* OCPBUGS-6698 *])
    • Bug Fix
    • Done

      Description of problem:

      In cluster-ingress-operator's ensureNodePortService, when there is a conflicting Ingress Controller loadbalancer, it states:
      
      a conflicting load balancer service exists that is not owned by the ingress controller: openshift-ingress/router-loadbalancer
      
      Technically that is the service name, not the ingress controller name. The IC name is openshift-ingress/loadbalancer in this example.
      
      So the error message wording is incorrect.

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

      4.13
      4.12
      4.11

      How reproducible:

      Easy

      Steps to Reproduce:

      # Create a service that will conflict with a new ingress controller
      oc create svc nodeport router-nodeport-test --tcp=80 -n openshift-ingress
      DOMAIN=$(oc get ingresses.config/cluster -o jsonpath={.spec.domain})
      oc apply -f - <<EOF
      apiVersion: operator.openshift.io/v1
      kind: IngressController
      metadata:
        name: test
        namespace: openshift-ingress-operator
      spec:
        domain: reproducer.$DOMAIN
        endpointPublishingStrategy:
          type: NodePortService
        replicas: 1
        nodePlacement:
          nodeSelector:
            matchLabels:
              node-role.kubernetes.io/worker: ""
      EOF
      
      # Look for log message that is incorrect
      oc logs -n openshift-ingress-operator $(oc get -n openshift-ingress-operator pods --no-headers | head -1 | awk '{print $1}') -c ingress-operator | grep conflicting 
      
      # The results provide service name, not ingress controller name
      # "error": "a conflicting nodeport service exists that is not owned by the ingress controller: openshift-ingress/router-test"  

      Actual results:

      "error": "a conflicting nodeport service exists that is not owned by the ingress controller: openshift-ingress/router-test"

      Expected results:

      "error": "a conflicting nodeport service exists that is not owned by the ingress controller: openshift-ingress/router-nodeport-test"

      Additional info:

       

              gspence@redhat.com Grant Spence
              gspence@redhat.com Grant Spence
              Shudi Li Shudi Li
              Joe Aldinger Joe Aldinger
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: