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

Race condition in termination policy for argocd server route

XMLWordPrintable

    • 5
    • False
    • None
    • False
    • Hide
      Before this update, the GitOps operator had a race condition when the OpenShift Service CA created the TLS secret before setting the default TLS termination policy causing Passthrough to be the default policy instead of Reencrypt. This update fixes the race condition by checking if the secret was created by the OpenShift Service CA thereby using Reencrypt as the correct default policy.
      Show
      Before this update, the GitOps operator had a race condition when the OpenShift Service CA created the TLS secret before setting the default TLS termination policy causing Passthrough to be the default policy instead of Reencrypt. This update fixes the race condition by checking if the secret was created by the OpenShift Service CA thereby using Reencrypt as the correct default policy.
    • Bug Fix
    • Proposed
    • GitOps Scarlet - Sprint 3260, GitOps Scarlet - Sprint 3262

      Description of problem:

      The termination policy for the server route remains passthrough during an upgrade from 1.12.4 to 1.13.0 even in the absence of argocd-server-tls secret in 1.12.4. This has been identified as a race condition as the creation of argocd-server-tls secret is managed by openshift service CA and the route might be created even before the secret creation.

      At this point, we are able to log in to the ArgoCD server.

      Upon deleting the route, the the termination policy gets updated to reencrypt as route.Spec.TLS momentarily turns to nil. For logging in to the ArgoCD server, the pod needs to be restarted.

      Even with reencrypt termination policy, the certificate issuer is not changed to ingress-operator and remains openshift-service-serving-signer

       

      Scenarios to debug/try out

      1. Certificate issuer not changing to ingress-operator for reencrypt policy
      2. CR is configured with passthrough policy during upgrade
      3. CR is configured with passthrough policy and custom tls certificate during upgrade
      4. CR is configured with reencrypt policy during upgrade
      5. Upgrade from 1.12.3 to 1.13 with argocd-server-tls secret 
      6. Upgrade from 1.12.3 to 1.13 without argocd-server-tls secret 

       

      Workaround

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

      Steps to Reproduce

      Upgrade the operator from 1.12.4 to 1.13.0

       

      Actual results:

      Expected results:

      Reproducibility (Always/Intermittent/Only Once):

      Intermittent

      Acceptance criteria: 

       

      Definition of Done:

      Build Details:

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

       

       *

              cbanavik Chetan Banavikalmutt
              rhn-support-vab Varsha B
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: