Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Webhook not refreshing applications #15427

Closed
3 tasks done
AlekseiTikhonov-azur opened this issue Sep 8, 2023 · 49 comments · Fixed by #19783
Closed
3 tasks done

Webhook not refreshing applications #15427

AlekseiTikhonov-azur opened this issue Sep 8, 2023 · 49 comments · Fixed by #19783
Labels
bug Something isn't working component:api API bugs and enhancements type:bug

Comments

@AlekseiTikhonov-azur
Copy link

Checklist:

  • I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
  • I've included steps to reproduce the bug.
  • I've pasted the output of argocd version.

Describe the bug

github webhook seems not working. It does not refreshing argo-cd applications but dropping git repository cache.

To Reproduce

Add a hook just like in the documentation.

helm values

---

global:
  securityContext:
    runAsUser: 999
    runAsGroup: 999
    fsGroup: 999
  podLabels:
    vector_enable: "true"
    vector_type: "text"
  logging:
    format: text
    level: debug
  tolerations:
    - key: "platform"
      operator: "Equal"
      value: "true"
      effect: "NoSchedule"
  nodeSelector:
    platform: "true"

applicationSet:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true
  webhook:
    ingress:
      enabled: true
      hosts:
        - argocd-webhook.someorg.dev
      tls:
        - secretName: wildcard-someorg-dev
          hosts:
            - argocd-webhook.someorg.dev
      ingressClassName: public-nginx

notifications:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true

controller:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true

repoServer:
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true
  env:
    - name: ARGOCD_GIT_MODULES_ENABLED
      value: "false"

dex:
  enabled: true
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true

configs:
  secret:
    extra:
      bindDN: 'CN=argocd-infrastructure,OU=infrastructure,OU=users,DC=ldap,DC=local'
  rbac:
    create: true
    policy.default: role:none
    scopes: '[groups, email]'
    policy.csv: |
      p, role:none, *, *, */*, deny
      g, Infrastructure, role:admin
      p, role:test-app, *, *, test-app/*, allow
      p, role:test-app, projects, get, test-app, allow
      p, proj:test-app:test-app, applications, update, test-app/*, allow
      p, proj:test-app:test-app, applications, get, test-app/*, allow

server:
  config:
    kustomize.enabled: 'true'
    url: "https://argocd.someorg.dev"
    dex.config: |
      logger:
        level: error
      admin.enabled: "false"
      connectors:
      - type: ldap
        name: "ldap.local"
        id: ad
        config:
          host: "ldap.local:389"
          insecureNoSSL: true
          insecureSkipVerify: true
          bindDN: "$bindDN"
          bindPW: "$bindPW"
          usernamePrompt: Username
          userSearch:
            baseDN: "DC=dc,DC=local"
            filter: "(objectClass=user)"
            username: sAMAccountName
            idAttr: sAMAccountName
            emailAttr: userPrincipalName
            nameAttr: givenName
          groupSearch:
            baseDN: "DC=dc,DC=local"
            filter: "(objectClass=group)"
            userAttr: distinguishedName
            groupAttr: member
            nameAttr: cn

  ingress:
    enabled: true
    hosts:
      - argocd.someorg.dev
    tls:
      - secretName: wildcard-someorg-dev
        hosts:
          - argocd.someorg.dev
    ingressClassName: nginx
    annotations:
      nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
  metrics:
    enabled: true
    serviceMonitor:
      enabled: true

ingressClassName: ingress - internal ingress controller
ingressClassName: public-nginx - public ingress controller

Expected behavior

Argocd refresh applications and not waiting before it updated by refresh interval.

Version

argocd version
argocd: v2.7.6+00c914a.dirty
  BuildDate: 2023-06-20T20:51:13Z
  GitCommit: 00c914a948d9e8ad99be8bd82a368fbdeba12f88
  GitTreeState: dirty
  GoVersion: go1.19.10
  Compiler: gc
  Platform: linux/amd64

Logs applicationset-controller created by applicationset api

time="2023-09-01T15:30:04Z" level=info msg="Received push event repo: https://github.com/test-app, revision: webhook-fix, touchedHead: false"

Logs applicationset-controller created by application api

time="2023-09-01T15:44:25Z" level=debug msg="received update event from owning an application"
time="2023-09-01T15:44:25Z" level=debug msg="requeue: false caused by application test-app\n"
@AlekseiTikhonov-azur AlekseiTikhonov-azur added the bug Something isn't working label Sep 8, 2023
@robinlieb
Copy link
Member

Hi @AlekseiTikhonov-azur, can you check if the revision webhook-fix is defined aswell in the source section of your Argo CD Application?
Argo CD is checking if the revision coming from the webhook is matching the one defined in the Application and only refreshing if they are matching.

@AlekseiTikhonov-azur
Copy link
Author

Revision is defined:

    "source" = {
      "directory" = {
        "recurse" = true
      }
      "path"           = "projects/shared/dev/aws/eu-central-1/argocd/_init"
      "repoURL"        = "https://github.com/test-app.git"
      "targetRevision" = "webhook-fix"
    }

@AlekseiTikhonov-azur
Copy link
Author

I checked on argocd v2.9.3. The same result. Argocd not refreshing application. Applicationset-controller received github webhook succesfully.

@pre
Copy link

pre commented Jan 30, 2024

We have been experiencing the same issue with ArgoCD 2.8: ApplicationSet webhook does not update Application resources.

The webhook is logged, but Application resources are not updated before "some cache" has expired in Redis. This takes exactly 10 minutes - after 10 minutes the Applications are updated at the next reconciliation loop (3 minutes in our case).

It is notable that scaling down applicationset-controller replicas to zero and back to 1 do not have an effect.
The new applicationset-controller replica will update the old (wrong) state (eg targetRevision: A) from Redis cache even though the ApplicationSet's source repository has changed to eg. targetRevision: B.

There clearly is something cached in Redis which is not invalidated by the webhook or not even by the newly created applicationset-controller replica.

That said, when the ApplicationSet webhook arrives, it will take maximum of 10min (Redis cache) + 3min (reconciliation max) = 13 minutes (max) before Application resources are updated.

{"level":"info","msg":"Received push event repo: https://github.com/our-org/our-repository, revision: env/canary, touchedHead: false","time":"2024-01-30T12:31:21Z"}
{"level":"info","msg":"Alloc=29734 TotalAlloc=190263 Sys=77885 NumGC=13 Goroutines=90","time":"2024-01-30T12:32:00Z"}
{"generator":{"git":{"repoURL":"https://github.com/our-org/our-repository","files":[{"path":"our-path/subpath1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-01-30T12:34:08Z"}
{"generator":{"git":{"repoURL":"https://github.com/our-org/our-repository","files":[{"path":"our-path/subpath2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-01-30T12:34:08Z"}
{"app":"one-of-the-applications","appSet":"our-path-subpath1-1","level":"info","msg":"unchanged Application","time":"2024-01-30T12:34:08Z"}

.. rest of the Application resources are logged with "unchanged Application" until 10min + 0-3min <= 13 minutes has passed.

.. after this, with the timestamps, exactly after 10 minutes the next reconciliation loop will update the applications.

@pre
Copy link

pre commented Jan 30, 2024

We were running v2.8.3 - It seems v2.8.8 has a possible fix! We'll try with v2.8.9 soon and see if it fixes the issue!

https://github.com/argoproj/argo-cd/releases/tag/v2.8.8

@AlekseiTikhonov-azur
Copy link
Author

AlekseiTikhonov-azur commented Feb 1, 2024

@pre can you try 2.9.3 version ? I tested it. Webhooks not working.

@pre
Copy link

pre commented Feb 1, 2024

@AlekseiTikhonov-azur the fixes I linked in my previous message are introduced in v2.9.4, see https://github.com/argoproj/argo-cd/releases/tag/v2.9.4

So v2.9.3 is still broken - note that v2.8.9 is newer than v2.9.3.

@pre
Copy link

pre commented Feb 9, 2024

It seems the problem is not fully fixed yet in v2.8.9 -- but something has changed!

The delay between Received push event repo and update Application was exactly 10 minutes + reconciliation in v2.8.3.
With v2.8.9 the delay was in our first environment less than 3 minutes (and the person doing the release did not actively monitor the timeout). This failed us to believe the problem was resolved.

However, with the next environment it took 9 minutes until update Application was written to the logs and Application resources got updated.

So the problem seems to be not fixed yet, but something did change as the deterministic "10 minutes + reconciliation" changed to "something between 3-9 mintues".

Here are some redacted from argocd-applicationset-controller:
{"built":"2024-01-19T18:16:11Z","commit":"3ef5ba76a95d71de88bfa9b6e887c86025a88fdd","level":"info","msg":"ArgoCD ApplicationSet Controller is starting","namespace":"argocd","time":"2024-02-09T12:57:12Z","version":"v2.8.9+3ef5ba7"}
{"level":"info","msg":"Starting configmap/secret informers","time":"2024-02-09T12:57:13Z"}
{"level":"info","msg":"Configmap/secret informer synced","time":"2024-02-09T12:57:13Z"}
{"level":"info","msg":"Starting webhook server","time":"2024-02-09T12:57:13Z"}
{"level":"info","msg":"Starting manager","time":"2024-02-09T12:57:13Z"}
{"level":"info","msg":"processing event for cluster secret","name":"build-service-1","namespace":"argocd","time":"2024-02-09T12:57:14Z","type":"createSecretEventHandler"}
{"count":6,"level":"info","msg":"listed ApplicationSets","time":"2024-02-09T12:57:14Z","type":"createSecretEventHandler"}
{"level":"info","msg":"processing event for cluster secret","name":"cloud-runtime-1","namespace":"argocd","time":"2024-02-09T12:57:14Z","type":"createSecretEventHandler"}
{"count":6,"level":"info","msg":"listed ApplicationSets","time":"2024-02-09T12:57:14Z","type":"createSecretEventHandler"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T12:57:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-02-09T12:57:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-02-09T12:57:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"app-runtime/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-02-09T12:57:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-integration/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-02-09T12:57:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-4/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T12:57:14Z"}

#
# Webhook received at 13:00:59
#
{"level":"info","msg":"Received push event repo: https://github.com/my-org-release-control, revision: env/canary, touchedHead: false","time":"2024-02-09T13:00:59Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"app-runtime/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-02-09T13:03:14Z"}
{"app":"orchestra-preview","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"transdolan","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:03:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-4/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:03:14Z"}

#
# Git generator: "unchanged Application at 13:03"
# This should have been "updated Application"
#
{"app":"cr-image-pull-credentials-injector","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"cr-istio-control-plane","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"cr-istio-service-resources","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"cr-node-drain","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"cr-sap-logging","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-1-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:14Z"}
{"app":"bs-common-secrets","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"bs-external-secrets-operator","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"bs-image-pull-credentials-injector","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"bs-node-drain","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"bs-sap-logging","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-4-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-integration/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-02-09T13:03:14Z"}
{"app":"btp-service-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"cluster-internal-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"sap-btp-operator","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"sap-connectivity-proxy","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"sap-logging","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"xrs-certificate-manager","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-02-09T13:03:14Z"}
{"app":"database-initializer","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"design-time-apis","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"design-time-core","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"destination-proxy","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"ee-metering","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"frontend","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"quota-calculator","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"service-broker","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"app":"subscription-manager","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-02-09T13:03:15Z"}
{"app":"cert-manager","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"external-secrets-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"plutono","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"image-pull-credentials-injector","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"istio-control-plane","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"istio-service-resources","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"k8s-synchronizer","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"kube-state-metrics","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"node-drain","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"oidc-extauthz","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"prometheus-config","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"prometheus-node-exporter","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"app":"prometheus-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:03:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-2"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:03:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"app-runtime/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-02-09T13:06:14Z"}
{"app":"orchestra-preview","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"transdolan","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:06:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-4/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:06:14Z"}
{"app":"cr-image-pull-credentials-injector","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"cr-istio-control-plane","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"cr-istio-service-resources","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"cr-node-drain","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"cr-sap-logging","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-1-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:14Z"}
{"app":"bs-common-secrets","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"bs-external-secrets-operator","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"bs-image-pull-credentials-injector","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"bs-node-drain","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"bs-sap-logging","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-4-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-integration/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-02-09T13:06:14Z"}
{"app":"btp-service-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"cluster-internal-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"sap-btp-operator","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"sap-connectivity-proxy","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"sap-logging","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"xrs-certificate-manager","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-02-09T13:06:14Z"}
{"app":"database-initializer","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"design-time-apis","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"design-time-core","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"destination-proxy","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"ee-metering","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"frontend","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"quota-calculator","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"service-broker","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"app":"subscription-manager","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:14Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-02-09T13:06:15Z"}
{"app":"cert-manager","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"external-secrets-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"plutono","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"image-pull-credentials-injector","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"istio-control-plane","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"istio-service-resources","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"k8s-synchronizer","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"kube-state-metrics","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"node-drain","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"oidc-extauthz","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"prometheus-config","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"prometheus-node-exporter","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"app":"prometheus-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:06:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-2"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:06:15Z"}
{"level":"info","msg":"Alloc=39348 TotalAlloc=166231 Sys=78653 NumGC=12 Goroutines=89","time":"2024-02-09T13:07:13Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"app-runtime/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-02-09T13:09:15Z"}
{"app":"orchestra-preview","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:15Z"}
{"app":"transdolan","appSet":"app-runtime-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-02-09T13:09:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-4/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-integration/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-02-09T13:09:15Z"}

#
# "updated Application" at 13:09:15 - this was supposed to happen immediately after the webhook instead
#
{"app":"cr-image-pull-credentials-injector","appSet":"cloud-release-redacted-1-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"bs-common-secrets","appSet":"cloud-release-redacted-4-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"cr-istio-control-plane","appSet":"cloud-release-redacted-1-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"bs-external-secrets-operator","appSet":"cloud-release-redacted-4-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"cr-istio-service-resources","appSet":"cloud-release-redacted-1-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"bs-image-pull-credentials-injector","appSet":"cloud-release-redacted-4-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"cr-node-drain","appSet":"cloud-release-redacted-1-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"bs-node-drain","appSet":"cloud-release-redacted-4-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"cr-sap-logging","appSet":"cloud-release-redacted-1-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-1-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:15Z"}
{"app":"bs-sap-logging","appSet":"cloud-release-redacted-4-1","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-4-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-1/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-4/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 5 applications","time":"2024-02-09T13:09:15Z"}
{"app":"database-initializer","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"design-time-apis","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"design-time-core","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"destination-proxy","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"ee-metering","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"frontend","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"quota-calculator","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"service-broker","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"btp-service-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"subscription-manager","appSet":"cloud-release-redacted-service","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"cluster-internal-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:15Z"}
{"app":"sap-btp-operator","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-service/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-02-09T13:09:15Z"}
{"app":"sap-connectivity-proxy","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"sap-logging","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"app":"xrs-certificate-manager","appSet":"cloud-release-redacted-integration","level":"info","msg":"updated Application","time":"2024-02-09T13:09:15Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:15Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-integration/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-02-09T13:09:15Z"}
{"app":"cr-image-pull-credentials-injector","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"cr-istio-control-plane","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"cr-istio-service-resources","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"cr-node-drain","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"cr-sap-logging","appSet":"cloud-release-redacted-1-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-1-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:16Z"}
{"app":"bs-common-secrets","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"bs-external-secrets-operator","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"bs-image-pull-credentials-injector","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"bs-node-drain","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"bs-sap-logging","appSet":"cloud-release-redacted-4-1","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-4-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:16Z"}
{"app":"cert-manager","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"external-secrets-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"plutono","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"image-pull-credentials-injector","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"istio-control-plane","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"istio-service-resources","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"k8s-synchronizer","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"kube-state-metrics","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"node-drain","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"oidc-extauthz","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"prometheus-config","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"prometheus-node-exporter","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"app":"btp-service-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"cluster-internal-bindings","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"sap-btp-operator","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"sap-connectivity-proxy","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"sap-logging","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"xrs-certificate-manager","appSet":"cloud-release-redacted-integration","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:16Z"}
{"app":"prometheus-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"updated Application","time":"2024-02-09T13:09:16Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-2"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:16Z"}
{"generator":{"git":{"repoURL":"https://github.com/my-org-release-control","files":[{"path":"cloud-release/redacted-2/*.yaml"}],"revision":"env/canary","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-02-09T13:09:16Z"}
{"app":"database-initializer","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"design-time-apis","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"design-time-core","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"destination-proxy","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"ee-metering","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"frontend","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"quota-calculator","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"service-broker","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"app":"subscription-manager","appSet":"cloud-release-redacted-service","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:16Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:16Z"}
{"app":"cert-manager","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"external-secrets-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"plutono","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"image-pull-credentials-injector","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"istio-control-plane","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"istio-service-resources","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"k8s-synchronizer","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"kube-state-metrics","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"node-drain","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"oidc-extauthz","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"prometheus-config","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"prometheus-node-exporter","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"app":"prometheus-operator","appSet":"cloud-release-redacted-2","level":"info","msg":"unchanged Application","time":"2024-02-09T13:09:17Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-redacted-2"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-02-09T13:09:17Z"}

@pre
Copy link

pre commented Mar 20, 2024

Here's an even more reduced log of an experiment I just ran

Push a commit which changes targetRevision of the given Application.

Every three minutes log gets a message of unchanged Application.

Until 10 minutes have passed: after 10 minutes, something expires in the Redis cache and the
Application is updated (targetRevision in this case).

{"level":"info","msg":"Received push event repo: https://our-repository, revision: test, touchedHead: false","time":"2024-03-20T15:05:11Z"}

.. nothing happens ..

{"app":"myapp","appSet":"as","level":"info","msg":"unchanged Application","time":"2024-03-20T15:06:45Z"}

.. 3 minutes later, nothing happens ..

{"app":"myapp","appSet":"as","level":"info","msg":"unchanged Application","time":"2024-03-20T15:09:45Z"}

.. 3+3=6 minutes later, nothing happens ..

{"app":"myapp","appSet":"as","level":"info","msg":"unchanged Application","time":"2024-03-20T15:12:45Z"}

.. 3+3+3=9 minutes later, nothing happens ..

{"app":"myapp","appSet":"as","level":"info","msg":"unchanged Application","time":"2024-03-20T15:15:45Z"}

.. until 3+3+3+3 = 12 minutes later, it finally updates:

{"app":"myapp","appSet":"as","level":"info","msg":"updated Application","time":"2024-03-20T15:18:45Z"}

.. followed with an immediate unchanged Application

{"app":"myapp","appSet":"as","level":"info","msg":"unchanged Application","time":"2024-03-20T15:18:46Z"}

@pre
Copy link

pre commented Apr 17, 2024

I can confirm that ArgoCD v2.10.6 still has the issue: argocd-applicationset-controller webhook does not update the generated applications.

However, there is a change!

  • With v2.10.6 the log message is now generated 7 applications for each ApplicationSet
    • There is no longer a message about unchanged Application
  • But the application is generated using a cached targetRevision
    • ie. if previous target revision was v1 and new one is v2, the webhook regenerates v1 instead of v2.

Also, it's weird that when the update finally happens (after 10 minutes) the same Generated N applications is displayed 20 times within the same minute for the exact same *.yaml match. This did not happen in ArgoCD v2.9.8:

image

@pre
Copy link

pre commented May 14, 2024

Possible bugfix found in Slack:

I believe (didn't have time to test) we need to change:
https://github.com/argoproj/argo-cd/blob/master/applicationset/generators/git.go#L59
noRevisionCache := appSet.RefreshRequired() -> noRevisionCache := true

@q-lawrencewebber
Copy link

Hi do you know when this bug fix will be merged?

@pre
Copy link

pre commented May 17, 2024

Hi do you know when this bug fix will be merged?

Somebody should craft a pull request to figure out if the above is a proper fix. @anyone ?

@pre
Copy link

pre commented May 28, 2024

My theory is that the git generator fetches the manifests from the repo-server which caches the repository

Possibly relevant pieces of information from

@alen-z
Copy link

alen-z commented May 29, 2024

ApplicationSet not refreshed after webhook event if pullRequest generator is used. Would you like me to open a new ticket?

@pre
Copy link

pre commented May 29, 2024

I don’t think new tickets help, we’d need someone to look at the issue on the code level.

@q-lawrencewebber
Copy link

q-lawrencewebber commented May 29, 2024

Realised I needed to send webhook requests to the argocd-server and not the argocd applicationset-controller. When I correctly sent webhook events to argocd-server the applications refresh as expected upon receiving the event. The reason why I was initially getting a 404 was because my argocd server was configured with a rootpath of argocd, so the correct path for me was /argocd/api/webhook and not /api/webhook.

Basically I ran into skill issues :s

@pre
Copy link

pre commented May 30, 2024

You’re now talking about the application webook which does work.

The applicationset-webhook needs to be routed to applicationset-controller (instead of argocd-server), but the applicationset webhook does not refresh applications even though the webhook call is received and showing up in logs of applicationset-controller.

Ie. There are two separate webhooks.

@lost11n
Copy link

lost11n commented Jul 12, 2024

Similar error in 2.11.2 ,git webhook didn't refresh my application.By the way, i use mutileplate source repo(helm and git ) and custom namespace.I didn't test git web hook for namespace argocd,so confused

@alexmt alexmt added component:api API bugs and enhancements type:bug labels Jul 12, 2024
@pre
Copy link

pre commented Jul 12, 2024

I didn't test git web hook for namespace argocd,so confused

You should see the webhook being received in the applicationset-controller logs. Then you have configured it correctly.

However, the target Application resources behind that ApplicationSet resource are still being cached by the git generator, and as a result, the applicationset-controller does not refresh any resources upon receiving the applicationset webhook.

@lost11n
Copy link

lost11n commented Jul 12, 2024

You should see the webhook being received in the applicationset-controller logs. Then you have configured it correctly.

However, the target Application resources behind that ApplicationSet resource are still being cached by the git generator, and as a result, the applicationset-controller does not refresh any resources upon receiving the applicationset webhook.

I just tested the application not applicationset,when i configured git webhook firstly,encountered the error.I got the log in argocd-server,but application didn't refresh

time="2024-07-12T13:30:03Z" level=info msg="Received push event repo: http://***/configurations-non-production, revision: main, touchedHead: true"

@BFreitas16
Copy link

BFreitas16 commented Jul 19, 2024

I have a similar problem, but I am using Azure DevOps. From Azure DevOps, it says "Success" and I can see that ArgoCD responds with HTTP 200.

From the logs point of view, the argocd-server received the event, but nothing happens:
level=info msg="Received push event repo: XYZ, revision: ABC, touchedHead: true"

ArgoCD Version: v2.11.5

@pre
Copy link

pre commented Jul 19, 2024

From the logs point of view, the argocd-server received the event

The argocd-server handles the Application webhook, which doesn’t have an issue at least in ArgoCD 2.10.

This issue is about the ApplicationSet webhook which needs to be routed to the applicationset-controller. The ApplicationSet webhook does not currently refresh any git generator based Application resources.

@pantao24
Copy link

I also encountered a similar problem. After git repository was updated, Argocd was triggered for deployment through webhook, but Argocd occasionally did not respond, and it was necessary to REFRESH manually on the web page to display the configuration difference OutOfSync

@pre
Copy link

pre commented Jul 24, 2024

it was necessary to REFRESH manually on the web page to display the configuration difference OutOfSync

Refreshing does not help in this issue with applicationset-webhook. Even with a hard refresh, the cached resources are still being used by the statefulset/application-controller because the deployment/applicationset-controller did not invalidate the existing cache.

As a result, only waiting for 10 minutes +/- 3 minutes will eventually cause the git generator cache be regenerated and only after that the updated Application manifests will mark the existing Application resources OutOfSync.

This can be demonstrated easily by updating the targetRevision via ApplicationSet: even after Hard Refresh the previous targetRevision remains visible. Only after the git generator cache has expired, the new targetRevision will be updated.

@AsafZoki
Copy link

any solution that can work?
i do see the webhook is connected to my repo but my applications sets are not auto sync from the webhook I don't even see any log not in the argocd-server and the application-controller that mention something about the webhook
any fix??
argocd version: v2.10.4+f5d63a5

@pre
Copy link

pre commented Jul 25, 2024

No fix available, but you can manually remove the affected cache keys from Redis to trigger the update.

@zeusal
Copy link
Contributor

zeusal commented Aug 2, 2024

I have same issue with v2.10.7+b060053

@AsafZoki
Copy link

AsafZoki commented Aug 2, 2024

Well in order to make webhook to work on my github repo i just change the ingress of the webhook to navigate repo-server ingress abd it works just fine for me

@pre
Copy link

pre commented Aug 2, 2024

@AsafZoki you’re probably talking about the application webhook. That works.

The applicationset webhook is the one broken.

@rumstead
Copy link
Member

rumstead commented Aug 2, 2024

@pre could you please correct/confirm my understanding of what is happening?

You have some application ,appA. appA uses a branch as its targetRevision, test. You are pushing a commit to test and expecting the applicationset webhook to cause a resync on appA?

@pre
Copy link

pre commented Aug 2, 2024

@rumstead We have a repository ”release-control”.

  • This repository holds the information on which release version is deployed and where.
  • There are multiple yaml files each having the value for targetRevision.
  • targetRevision is a git tag, eg v1.2.3

Another repository ”continuous-delivery” contains the actual manifests of the application. The tag v1.2.3 exists in this repository.

We have various ApplicationSet resources which generate the Application resources with git generator, using *.yaml as the source from the ”release-control” repository. The targetRevision of Application is defined by ApplicationSet.

We can see applicationset-controller receives the webhook when ”release-control” is pushed with a new commit with an updated value for targetRevision.

Here we expect applicationset-controller to regenerate the Application resource(s) using this new value. However, unless the Redis cache is emptied, it will take 10min +/- 3 minutes until the new attributes are used. Even restarting applicationset-controller uses the previous values in ”release-control” until the Redis cache has expired.

This issue is not only about the applicationset-webhook. The issue is nothing except waiting for 10min +/- 3 minutes (or emptying Redis cache manually) will generate the Application resources with updated attributes from ”release-control”.

TargetRevision is just an example. I have tested with any values read from *.yaml by the appset and they are all cached.

I’m happy to provide more information, this issue is consistent and we want to help it get fixed.

@rumstead
Copy link
Member

rumstead commented Aug 2, 2024

Got it, I use a similar workflow without the webhook.

In a very basic setup, I cannot reproduce this. I see the revision cache returning the new commit and not using any cached files but grabbing the new ones from git and updating my application immediately.

Here is a snippet from the repo server logs, I added a log line when there is a cache miss.

{"level":"debug","msg":"cache hit for repo: https://github.com/rumstead/argocd-playground.git revision: cc3b9469e89dbd9831612f67b1c55450c117580b pattern: manifests/applicationsets/git-file/config/config.yaml","time":"2024-08-02T16:26:40-04:00"}

{"level":"info","msg":"cache miss for repo: https://github.com/rumstead/argocd-playground.git revision: fe8ac1e353f75464bf161f55e991c8fec1472348 pattern: manifests/applicationsets/git-file/config/config.yaml","time":"2024-08-02T16:28:28-04:00"}

Appset Logs

{"level":"info","msg":"Received push event repo: https://github.com/rumstead/argocd-playground.git, revision: main, touchedHead: true","time":"2024-08-02T16:28:28-04:00"}
{"level":"info","msg":"refresh ApplicationSet argocd/git-file from webhook","time":"2024-08-02T16:28:28-04:00"}
{"applicationset":{"Namespace":"argocd","Name":"git-file"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-02T16:28:30-04:00"}
{"applicationset":{"Namespace":"argocd","Name":"git-file"},"generator":{"git":{"repoURL":"https://github.com/rumstead/argocd-playground.git","files":[{"path":"manifests/applicationsets/git-file/config/config.yaml"}],"revision":"HEAD","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 1 applications","time":"2024-08-02T16:28:30-04:00"}

Sanity checks I was also slow to switch over to my terminal as I was looking at the logs.

❯ k get application git-file -o jsonpath="{.spec.source.targetRevision}" 16:26:53 PM
09dc43d39c9a0561c498c71d99f56e747d558593%
❯ k get application git-file -o jsonpath="{.spec.source.targetRevision}" 16:29:17 PM
HEAD%

The reason we see so many "generated applications" is because the applicationset gets updated 2 times during a webhook event. each update causes the applicationset to be requeued

  1. we add the refresh annotation - this is intended, to cause the applicationset controller to regenerate
  2. we remove the refresh annotation - this is a side effect of removing the annotation

EDIT:
Here is the applicationset
Here is the config file

I am also now realizing the repo-server log don't help much because we overload the revision variable.

@rumstead
Copy link
Member

rumstead commented Aug 2, 2024

If you look at the ApplicationSet controller logs and search for “end reconcile” for a single ApplicationSet, how long is between the two log messages?

@pre
Copy link

pre commented Aug 16, 2024

@rumstead There are some earlier timestemps above:

For the context, I'm using the argocd-ha manifests which come with the Redis cache with three instances.

Here's a fresh example run with ArgoCD 2.10.11.

  • There are multiple ApplicationSet resources generating Application resources from *.yaml in "release-control".
  • The "release-control" defines the targetRevision attribute for each Application.
  • In this test case, only a single resource "quota-calculator" was updated. This Application belongs to the "cloud-release-ag-service" ApplicationSet.
  • Change is commited to "release-control" at 06:09:40Z
  • Application resource was updated by applicationset-controller at 06:18:52Z
  • Logs of argocd-repo-server or argocd-application-controller do not show anything about the updated application (quota-calculator in this case) until applicationset-controller logs show updated Application. This clearly indicates this is an applicationset-controller problem.

The key word to watch from the applicationset-controller logs is updated Application. This keyword comes only after the Application resource is updated with the new information from *.yaml in the "release-control" repository.

In total the update took 9 minutes and 12 seconds, which fits the window of 10 minutes +/- 3 minutes.

The first end reconcile comes immediately, but the Application is not updated:

{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 7 applications","time":"2024-08-16T06:09:34Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:09:34Z"}
{"level":"info","msg":"Received push event repo: https://github.enterprise.com/OurOrg/ourorg-release-control, revision: env/dev, touchedHead: false","time":"2024-08-16T06:09:40Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:09:41Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:09:42Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-08-16T06:09:50Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:09:51Z"}

Reconciling for 10 minutes, but the Application is not updated:

{"level":"info","msg":"Alloc=26607 TotalAlloc=13812576 Sys=58661 NumGC=845 Goroutines=92","time":"2024-08-16T06:10:05Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/cr-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-08-16T06:10:30Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:10:30Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:10:42Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:10:42Z"}
{"applicationset":{"Namespace":"argocd","Name":"pullrequest-frontend"},"generator":{"pullRequest":{"github":{"owner":"OurOrg","repo":"ourorg-frontend","api":"https://github.enterprise.com/","tokenRef":{"secretName":"git-credentials-ourorg-corp","key":"password"},"labels":["deploy-to-dev"]},"requeueAfterSeconds":300,"template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 15 applications","time":"2024-08-16T06:10:51Z"}
{"applicationset":{"Namespace":"argocd","Name":"pullrequest-frontend"},"level":"info","msg":"end reconcile","requeueAfter":300000000000,"time":"2024-08-16T06:10:52Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/cr-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-08-16T06:11:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:11:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:11:22Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:11:23Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 1 applications","time":"2024-08-16T06:11:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:11:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-08-16T06:11:56Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:11:57Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-integration/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-08-16T06:12:25Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:12:25Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 7 applications","time":"2024-08-16T06:12:34Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:12:34Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:12:42Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:12:43Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-08-16T06:12:51Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:12:51Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:13:12Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:13:13Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/cr-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-08-16T06:13:30Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:13:31Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:13:42Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:13:43Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:14:12Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:14:13Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:14:23Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:14:24Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 1 applications","time":"2024-08-16T06:14:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:14:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-08-16T06:14:57Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:14:57Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-integration/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-08-16T06:15:25Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:15:25Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 7 applications","time":"2024-08-16T06:15:34Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:15:34Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:15:43Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:15:43Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-08-16T06:15:51Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:15:51Z"}
{"applicationset":{"Namespace":"argocd","Name":"pullrequest-frontend"},"generator":{"pullRequest":{"github":{"owner":"OurOrg","repo":"ourorg-frontend","api":"https://github.enterprise.com/","tokenRef":{"secretName":"git-credentials-ourorg-corp","key":"password"},"labels":["deploy-to-dev"]},"requeueAfterSeconds":300,"template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 15 applications","time":"2024-08-16T06:15:52Z"}
{"applicationset":{"Namespace":"argocd","Name":"pullrequest-frontend"},"level":"info","msg":"end reconcile","requeueAfter":300000000000,"time":"2024-08-16T06:15:52Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/cr-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 13 applications","time":"2024-08-16T06:16:31Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-cr-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:16:31Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:17:13Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:17:14Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 19 applications","time":"2024-08-16T06:17:24Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:17:24Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 1 applications","time":"2024-08-16T06:17:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-bs-cluster"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:17:53Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"app-runtime/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 2 applications","time":"2024-08-16T06:17:57Z"}
{"applicationset":{"Namespace":"argocd","Name":"app-runtime-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:17:57Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-integration/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 6 applications","time":"2024-08-16T06:18:26Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-integration"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:18:26Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/bs-cluster/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 7 applications","time":"2024-08-16T06:18:35Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-bs-cluster-1"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:18:35Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"generator":{"git":{"repoURL":"https://github.enterprise.com/OurOrg/ourorg-release-control","files":[{"path":"cloud-release/ag-service/*.yaml"}],"revision":"env/dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 9 applications","time":"2024-08-16T06:18:51Z"}

After 10 minutes the Application got updated, notice the keyword updated Application:

{"app":"argocd/quota-calculator","applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"info","msg":"updated Application","time":"2024-08-16T06:18:52Z"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"info","msg":"end reconcile","requeueAfter":180000000000,"time":"2024-08-16T06:18:52Z"}

First mention of the updated Application (quota-calculator) in the application-controller logs is only after applicationset-controller shows updated Application, timestamp 06:18:52Z

{"application":"argocd/quota-calculator","level":"info","msg":"Refreshing app status (spec.source differs), level (3)","time":"2024-08-16T06:18:52Z"}
{"application":"argocd/quota-calculator","level":"info","msg":"Comparing app state (cluster: https://kubernetes.default.svc, namespace: quota-calculator)","time":"2024-08-16T06:18:52Z"}

Same with argocd-repo-server: first mention is only after updated Application is already showing in applicationset-controller logs, timestamp 06:18:52Z:

{"level":"info","msg":"manifest cache miss: \u0026ApplicationSource{RepoURL:[...]:"2024-08-16T06:18:52Z"}

@pre
Copy link

pre commented Aug 16, 2024

Could someone please rename this issue title to ApplicationSet webhook does not refresh Applications?

This issue is about the applicationset-controller. The normal Application webhook works!

There were some fix attempts in v2.8.8 but they didn't work.

@rumstead
Copy link
Member

@pre can you share your appset?

@pre
Copy link

pre commented Aug 23, 2024

@rumstead certainly I can! Here's an example where I changed OurOrg and acme as names, but otherwise these are real manifests:

  • ApplicationSet
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: cloud-release-ag-service
  namespace: argocd
spec:
  generators:
  - git:
      files:
      - path: cloud-release/ag-service/*.yaml
      repoURL: https://github.enterprise.com/OurOrg/acme-release-control
      revision: env/dev
  template:
    metadata:
      name: '{{acmeService.name}}'
    spec:
      destination:
        namespace: '{{acmeService.namespace}}'
        server: https://kubernetes.default.svc
      project: ag-service
      source:
        path: design-time/ag-service/{{acmeService.name}}/dev
        plugin:
          env:
          - name: AG_APP_NAMESPACE
            value: '{{acmeService.namespace}}'
          - name: AG_ENVSUBST_SOURCE
            value: design-time/common/ag-envsubst/dev
          - name: AG_TARGET_REVISION
            value: '{{release.targetRevision}}'
          name: kustomize-agenvsubst-vault
        repoURL: https://github.enterprise.com/OurOrg/acme-continuous-delivery
        targetRevision: '{{release.targetRevision}}'
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
        - CreateNamespace=true
  • Example resource in our acme-release-control-repository which matches the *.yaml in ApplicationSet
# acme-release-control/cloud-release/ag-service/quota-calculator.yaml 
acmeService:
  name: quota-calculator
  namespace: quota-calculator

release:
  targetRevision: v3.7.0

@pre
Copy link

pre commented Aug 29, 2024

For the record, the issue is still in ArgoCD v2.12.2

@rumstead
Copy link
Member

I am still unable to reproduce. I changed the targetRevision from v3.7.0 to test, which happened almost instantly once the webhook fired.

{"level":"info","msg":"Received push event repo: https://github.com/rumstead/argocd-playground.git, revision: dev, touchedHead: false","time":"2024-08-30T15:35:11-04:00"}
{"level":"debug","msg":"https://github.com/rumstead/argocd-playground.git uses repoURL dev","time":"2024-08-30T15:35:11-04:00"}
{"level":"info","msg":"refresh ApplicationSet argocd/cloud-release-ag-service from webhook","time":"2024-08-30T15:35:11-04:00"}
{"applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"generator":{"git":{"repoURL":"https://github.com/rumstead/argocd-playground.git","files":[{"path":"manifests/applicationsets/webhook-15427/cloud-release/ag-service/*.yaml"}],"revision":"dev","template":{"metadata":{},"spec":{"destination":{},"project":""}}}},"level":"info","msg":"generated 1 applications","time":"2024-08-30T15:35:15-04:00"}
{"app":"argocd/quota-calculator","applicationset":{"Namespace":"argocd","Name":"cloud-release-ag-service"},"level":"debug","msg":"patching application","patch":{"spec":{"source":{"targetRevision":"test"}}},"time":"2024-08-30T15:35:15-04:00"}

What does the workqueue look like for applicationset controller? Do you see it going to 0? It is exposed via the workqueue_depth{app_name="argocd-applicationset-controller"} metric

@pre
Copy link

pre commented Sep 2, 2024

Thank you for testing, @rumstead! Did you try updating an existing Application, which had already been created? Creation of an Application is always instant, it's the update which takes between 6-13 minutes.

I also tested by creating a public test in https://github.com/pre/public-argocd-test-release-control/blob/main/release/example-application.yaml

Using this ApplicationSet

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: public-test-1
  namespace: argocd
spec:
  generators:
  - git:
      files:
      - path: release/*.yaml
      repoURL: https://github.com/pre/public-argocd-test-release-control
      revision: main
  template:
    metadata:
      name: example-{{acmeService.name}}
    spec:
      destination:
        namespace: '{{acmeService.namespace}}'
        server: https://kubernetes.default.svc
      project: ag-service
      source:
        path: design-time/ag-service/{{acmeService.name}}/int
        plugin:
          env:
          - name: AG_APP_NAMESPACE
            value: '{{acmeService.namespace}}'
          - name: AG_ENVSUBST_SOURCE
            value: design-time/common/ag-envsubst/dev
          - name: AG_TARGET_REVISION
            value: '{{release.targetRevision}}'
          - name: EXAMPLE_RELEASE_CONTROL_VALUE
            value: '{{release.acmeValue}}'
          name: kustomize-agenvsubst-vault
        repoURL: https://github.enterprise.com/acme/acme-continuous-delivery
        targetRevision: '{{release.targetRevision}}'
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
        - CreateNamespace=true
  1. When I publish the AppSet: example application acme-calculator gets immediately created if it already exists in public-argocd-test-release-control.

  2. When I create release/example-application.yaml and the AppSet manifest has already been applied in Kubernetes: acme-calculator gets immediately created.

In these two cases the webhook works.

  1. When changing acmeValue: lolcat-<num> or targetRevision: petrus-test-<num> after the Application has already been created into the cluster, it takes 10 -/+ 3 minutes for applicationset-controller to update the Application.

The workqueue metric workqueue_depth{name="applicationset"} 0 .. stays between 0 and 1.

Timestamps

image

Grafana

We have the default ArgoCD Grafana dashboard (it doesn't seem to have ApplicationSet metrics), here is a snapshot from the test bench during the time of my test:

image
image
image
image

@pre
Copy link

pre commented Sep 2, 2024

Scrap that above - my test repository's github.com webhook was not correct. I'll try again.

@pre
Copy link

pre commented Sep 2, 2024

All right - I fixed my webhook in the github.com test example repository, and it works:

{"level":"info","msg":"Received push event repo: https://github.com/pre/public-argocd-test-release-control, revision: main, touchedHead: true","time":"2024-09-02T14:08:15Z"}
{"level":"info","msg":"refresh ApplicationSet argocd/public-test-1 from webhook","time":"2024-09-02T14:08:15Z"}

The message refresh ApplicationSet xxx from webhook message does NOT appear when the webhook is received in the repository of the Github Enterprise server.

So .. there is some difference in the webhook payload between github.com and Github Enterprise (currently v3.11.14).

I ran out of time today - next I will set up a test bench that let's me compare the webhook's payload between github.com and Github Enterprise.

@rumstead
Copy link
Member

rumstead commented Sep 2, 2024

Awesome! I know it doesn’t fix the issue but at least gives us a hint.

@pre
Copy link

pre commented Sep 3, 2024

I did some further digging, and now I can reproduce the problem also with the github.com webhook.

Summary: Webhook does not work with git tags or branches which contain the character /. @rumstead Could you try your repro again with two AppSets, one tracking main and the other tracking eg. env/hello ?

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: public-test-5
  namespace: argocd
spec:
  generators:
  - git:
      files:
      - path: release/*.yaml
      repoURL: https://github.com/pre/public-argocd-test-release-control
      revision: env/hello # <-- does not work with the slash, but "main" and "dev" do work
[..]

I inspected the webhook payload between Github Enterprise and Github.com - the payloads are equivalent, only difference are the organization and enterprise attributes which were not delivered by github.com. The only thing different with my working example yesterday was the branch name: main without a slash.

My reproduction in github.com where the ApplicationSet webhook does not work:

  • ApplicationSet A tracks branch main, it receives the webhook and produces the refresh ApplicationSet message.
{"level":"info","msg":"Received push event repo: https://github.com/pre/public-argocd-test-release-control, revision: main, touchedHead: true","time":"2024-09-03T13:45:13Z"}
{"level":"info","msg":"refresh ApplicationSet argocd/public-test-2 from webhook","time":"2024-09-03T13:45:13Z"}
  • ApplicationSet B tracks branch env/hello. It receives the webhook but does not produce the refresh ApplicationSet message.
{"level":"info","msg":"Received push event repo: https://github.com/pre/public-argocd-test-release-control, revision: env/hello, touchedHead: false","time":"2024-09-03T13:43:02Z"}
  • ApplicationSet C tracks git tag v1.0.0. It behaves like ApplicationSet B.

Also notable: The git repository cache is not updated for env/xyz or v1.0.0 when the webhook arrives. Here's an interesting set of events:

  • ApplicationSet A (tracking main) was already deployed, and it updates manifests immediately with the Webhook.
  • Create branch env/hello after ApplicationSet A already read the repository using main.
  • Create ApplicationSet B which tracks env/hello

-> ApplicationSet B will fail with Internal desc = unable to resolve git revision : Unable to resolve 'env/hello' upon receiving the webhook.

After waiting for ~10 minutes, ApplicationSet B will generate the Application and see that env/hello actually exists.

If changes are pushed to main (or any other branch without the / character in its name), they do work immediately with ApplicationSet A even though ApplicationSet B is broken (with stale git repository cache).

I guess the tags break because internally eg. v1.0.0 is something likerefs/tags/v1.0.0 -- with a slash.

Test script

Using my example ApplicationSet above, I tracked a value in source.plugin.env which was defined in https://github.com/pre/public-argocd-test-release-control.

Polling the value of EXAMPLE_RELEASE_CONTROL_VALUE shows when the value actually updates (either seconds after git push by webhook, or ~10 minutes after some caches expire).

while true; do 
  kubectl get app -n argocd example-envhello-acme-calculator -o jsonpath='{.spec.source.plugin.env[3]}' 
  date  
  sleep 1
done

@rumstead
Copy link
Member

rumstead commented Sep 3, 2024

This is extremely helpful, I found the issue. GitHub sends the full branch ref eg, refs/heads/env/dev. There is code to parse out the revision which will correctly parse out env/dev. However, in the appset, we use the shorthand, env/dev which gets parsed out incorrectly to dev.

I will submit a PR

@rumstead
Copy link
Member

rumstead commented Sep 3, 2024

/assign rumstead

@rumstead
Copy link
Member

rumstead commented Sep 3, 2024

The alternative to my PR is to use the fully qualified refs git generator. Eg, refs/heads/env/dev or refs/tags/v3.14.1

@pre
Copy link

pre commented Sep 4, 2024

Thanks, @rumstead!

I tested prepending the git revision with refs/heads/ and the ApplicationSet webhook now works! Hopefully we'll get that bugfix into upstream as well. Thank you for the help!

gdsoumya pushed a commit that referenced this issue Sep 5, 2024
…19783)

* fix(appset): allow for shorthand git refs in git generators

Signed-off-by: rumstead <[email protected]>

* Retrigger CI pipeline

Signed-off-by: rumstead <[email protected]>

* attempt to fix goimports

Signed-off-by: rumstead <[email protected]>

* attempt to fix goimports

Signed-off-by: rumstead <[email protected]>

* remove redundant test

Signed-off-by: rumstead <[email protected]>

---------

Signed-off-by: rumstead <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working component:api API bugs and enhancements type:bug
Projects
None yet
Development

Successfully merging a pull request may close this issue.