-
Bug
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
3
-
False
-
-
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:
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.