Uploaded image for project: 'Red Hat Advanced Cluster Management'
  1. Red Hat Advanced Cluster Management
  2. ACM-20434

[Argo CD Upstream] Progressive Rollout does not respect IgnoreDifferences

XMLWordPrintable

    • Quality / Stability / Reliability
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • Workload Mgmt Train 27 - 2
    • Moderate
    • None

      Description of problem:

      Progressive Rollout does not respect IgnoreDifferences

      From Argo CD upstream https://github.com/argoproj/argo-cd/issues/12396

      Similar to https://github.com/argoproj/argo-cd/issues/11817 it appears that it does not respect the IgnoreDifferences.

       

      Note:

      See https://docs.google.com/document/d/1zTI4QVstD6VGS5gcXZXTuNk179RNwQXskara2L2ktmU/edit?usp=sharing

      for details on why we are making fixes to the Argo CD upstream Progressive Sync feature.

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

      How reproducible:

      Create an Argo Application with something that uses e.g. Helm's randAlpha so that it is different on every refresh/sync:

       

      apiVersion: v1
      kind: Secret
      metadata:
          name: my-secret
          namespace: {{ .Release.Namespace }}
      stringData:
          password: {{ randAlpha 24 }} 

       

       

      The applicationSet:

       

       

      apiVersion: argoproj.io/v1alpha1
      kind: ApplicationSet
      metadata:
        name: wordpress
        namespace: argocd
      spec:
        generators: ....  strategy:
          type: RollingSync
          rollingSync:
            steps:
              - matchExpressions:
                  - key: app
                    operator: In
                    values:
                      - wordpress
                maxUpdate: 4    
        syncPolicy:
          preserveResourcesOnDeletion: true
        goTemplate: true
        template:
          metadata:
            name: my-app-set
            namespace: argocd
            finalizers:
            - resources-finalizer.argocd.argoproj.io
            labels:
              app: my-project
          spec:
            project: my-project
            source:
              repoURL: ....
              path: '.'
              helm: ....
            syncPolicy:
              syncOptions:
                - Prune=false
                - RespectIgnoreDifferences=true
            ignoreDifferences:
            - group: ""
              kind: Secret
              jsonPointers:
              - /data/password               destination: .... 

       

       

      Actual results:

      Expected results:

      I expect the applicationSet controller to sync the application with respecting the ignoreDifferences.

      Additional info:

      Argo CD version: 
      v2.6.1+3f143c9

              ming@redhat.com Mike Ng
              ming@redhat.com Mike Ng
              Michael Brudnoy, Xiangjing Li
              David Huynh David Huynh
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: