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

Argo Rollouts Operator: spec.plugins.metric is not translated into correct ConfigMap field

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • None
    • Rollouts
    • None
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • GitOps Scarlet Sprint 29

      Description of Problem

      Create the following RolloutsManager CR in openshift-gitops namespace.

      apiVersion: argoproj.io/v1alpha1
      kind: RolloutManager
      metadata:
        name: argo-rollouts
        namespace: openshift-gitops
      spec:
        namespaceScoped: false
        env:
          - name: LOG_LEVEL
            value: "info"
          - name: SSL_CERT_FILE
            value: /etc/ssl/certs/openshift-ca.crt
        plugins:
          metric:
            - name: argoproj-labs/metric-ai
      	  location: https://github.com/kdubois/rollouts-plugin-metric-ai/releases/download/v0.1.7/rollouts-plugin-metric-ai-linux-amd64
          trafficManagement: []
      

      Look in the pod logs for the Argo Rollouts pod. You will see that the plugin is never downloaded. This is because the operator code is creating the wrong ConfigMap field.

      It is creating:

      apiVersion: v1
      data:
        metricPlugins: |
          - name: argoproj-labs/metric-ai
            location: https://github.com/kdubois/rollouts-plugin-metric-ai/releases/download/v0.1.8/rollouts-plugin-metric-ai-linux-amd64
            sha256: ""
      kind: ConfigMap
      metadata:
        name: argo-rollouts-config
        namespace: openshift-gitops
      

      But it should be :

      # (...)
      # was: 'metricPlugins'
      metricProviderPlugins: |
          - name: argoproj-labs/metric-ai
            location: https://github.com/kdubois/rollouts-plugin-metric-ai/releases/download/v0.1.8/rollouts-plugin-metric-ai-linux-amd64
            sha256: ""
      

      You can verify the correct field name from https://argo-rollouts.readthedocs.io/en/stable/analysis/plugins/

      You can verify the fix by looking for the following log in argo rollouts pod:

      time="2026-02-23T15:27:41Z" level=info msg="Downloading plugin argoproj-labs/metric-ai from: https://github.com/kdubois/rollouts-plugin-metric-ai/releases/download/v0.1.8/rollouts-plugin-metric-ai-linux-amd64"
      time="2026-02-23T15:27:41Z" level=info msg="Download complete, it took 404.806015ms"
      

      See slack thread for context:

      https://redhat-internal.slack.com/archives/CMP95ST2N/p1771860567548049?thread_ts=1771609489.931729&cid=CMP95ST2N

      Acceptance Criteria

      • Operator sets the correct value in ConfigMap
      • Unit/E2E tests to verify the correct field name is set in ConfigMap

      Definition of Done

      • Code Complete:
        • All code has been written, reviewed, and approved.
      • Tested:
        • Unit tests have been written and passed.
        • Ensure code coverage is not reduced with the changes.
        • Integration tests have been automated.
        • System tests have been conducted, and all critical bugs have been fixed.
        • Tested and merged on OpenShift either upstream or downstream on a local build.
      • Documentation:
        • User documentation or release notes have been written (if applicable).
      • Build:
        • Code has been successfully built and integrated into the main repository / project.
        • Midstream changes (if applicable) are done, reviewed, approved and merged.
      • Review:
        • Code has been peer-reviewed and meets coding standards.
        • All acceptance criteria defined in the user story have been met.
        • Tested by reviewer on OpenShift.
      • Deployment:
        • The feature has been deployed on OpenShift cluster for testing.

              jgwest Jonathan West
              jgwest Jonathan West
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: