Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-4893

[Backport] Server ingress not setting ingressClassName field when updated

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Duplicate
    • Icon: Normal Normal
    • None
    • None
    • Operator
    • 5
    • False
    • None
    • False

      Backport

      Backport the bug fix to operator-redesign branch in argocd-operator. Below PR needs to be adjusted for new codebase.

      https://github.com/argoproj-labs/argocd-operator/pull/1395 

       

      Please refer this doc for details about new codebase and coding-standards-and-best-practices.md for best practices .

       

      Description of problem:

      `spec.server.ingress.ingressClassName` does not reconcile correctly to updated values. 

      Logged in https://github.com/redhat-developer/gitops-operator/issues/608 

      Prerequisites (if any, like setup, operators/versions):

      Originally reported on 1.7.4, replicated on 1.9.2. I believe any version should have the same issue.

      Steps to Reproduce

      1. Give your ArgoCD CR an ingress: 

      apiVersion: argoproj.io/v1alpha1
      kind: ArgoCD
      metadata:
        name: argocd
      spec:
        server:
          host: gitops.example.net
          ingress:
            annotations:
              cert-manager.io/cluster-issuer: letsencrypt-production
              external-dns.alpha.kubernetes.io/target: gitops.apps.example-cluster.example.net
            enabled: true
            ingressClassName: openshift-default
            tls:
              - hosts:
                  - gitops.example.net
                secretName: gitops.example.net-cert 

      2. Check your Ingress to see if it was applied correctly. 
      3. Update the `ingressClassName` field in your ArgoCD CR (`ingressClassName: openshift-default-new`)
      4. Go back to your ingress, you will see that it does not have the updated field. 

       

      Actual results:

      kind: Ingress
      apiVersion: networking.k8s.io/v1
      metadata:
        annotations:
          cert-manager.io/cluster-issuer: letsencrypt-production
          external-dns.alpha.kubernetes.io/target: gitops.apps.example-cluster.example.net
        name: argocd-server
      spec:
        ingressClassName: openshift-default   ## this should have been updated
        tls:
          - hosts:
              - gitops.example.net
            secretName: gitops.example.net-cert
        rules:
          - host: gitops.example.net
            http:
              paths:
                - path: /
                  pathType: ImplementationSpecific
                  backend:
                    service:
                      name: argocd-server
                      port:
                        name: httpScreenshots

      Expected results:

      kind: Ingress
      apiVersion: networking.k8s.io/v1
      metadata:
        annotations:
          cert-manager.io/cluster-issuer: letsencrypt-production
          external-dns.alpha.kubernetes.io/target: gitops.apps.example-cluster.example.net
        name: argocd-server
      spec:
        ingressClassName: openshift-default-new   ## properly updated
        tls:
          - hosts:
              - gitops.example.net
            secretName: gitops.example.net-cert
        rules:
          - host: gitops.example.net
            http:
              paths:
                - path: /
                  pathType: ImplementationSpecific
                  backend:
                    service:
                      name: argocd-server
                      port:
                        name: httpScreenshots

      Reproducibility (Always/Intermittent/Only Once): always

      Acceptance criteria: 

      • Make a fix to argocd-operator to have ingressClassName reconcile properly
      • Make sure that tests for ingressClassName are working as expected

      Definition of Done:

      Build Details:

      Additional info (Such as Logs, Screenshots, etc): 

            Unassigned Unassigned
            rh-ee-sghadi Siddhesh Ghadi
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: