Skip to content

Update to latest commit of argo-rollouts-manager '3e07addcb2cbf65869ebf04b26f72dc61fc26b8a'#1159

Merged
openshift-merge-bot[bot] merged 2 commits into
redhat-developer:masterfrom
jgwest:upgrade-rollouts-manager
May 29, 2026
Merged

Update to latest commit of argo-rollouts-manager '3e07addcb2cbf65869ebf04b26f72dc61fc26b8a'#1159
openshift-merge-bot[bot] merged 2 commits into
redhat-developer:masterfrom
jgwest:upgrade-rollouts-manager

Conversation

@jgwest
Copy link
Copy Markdown
Member

@jgwest jgwest commented May 26, 2026

Update to most recent 'argo-rollouts-manager' commit: argoproj-labs/argo-rollouts-manager@3e07add

The Rollouts E2E tests don't currently run as part of gitops-operator PRs, so I ran those automated tests manually against this commit, and they passed.

…bf04b26f72dc61fc26b8a'

Signed-off-by: Jonathan West <jgwest@gmail.com>
@openshift-ci openshift-ci Bot requested review from chetan-rns and varshab1210 May 26, 2026 11:11
olivergondza
olivergondza previously approved these changes May 26, 2026
@ranakan19
Copy link
Copy Markdown

@coderabbitai testing if it works

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

Tip

For best results, initiate chat on the files or code changes.

@ranakan19 Yes, it works! I'm here and ready to help with your PR. Let me know if you'd like me to review the changes or if there's anything else I can assist with.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 27, 2026

Review Change Stack

📝 Walkthrough

Walkthrough

This PR regenerates five Kubernetes CustomResourceDefinition (CRD) manifests using a newer controller-gen version (v0.19.0, from v0.14.0), adds EKS API group RBAC permissions across operator rules and tests, and updates supporting dependencies.

Changes

CRD Schema Regeneration with controller-gen v0.19.0 and RolloutManager NetworkPolicy

Layer / File(s) Summary
Analysis CRDs Bundle Manifest Regeneration
bundle/manifests/argoproj.io_analysisruns.yaml, bundle/manifests/argoproj.io_analysistemplates.yaml, bundle/manifests/argoproj.io_clusteranalysistemplates.yaml
AnalysisRun, AnalysisTemplate, and ClusterAnalysisTemplate bundle manifests are regenerated, adding x-kubernetes-list-type: atomic annotations, x-kubernetes-list-map-keys metadata, and new pod/container schema fields (fileKeyRef, stopSignal, recursiveReadOnly, restartPolicyRules, hostnameOverride, expanded securityContext with appArmorProfile and policy fields, kayenta.lookback boolean). Schema defaults are introduced for optional reference names.
Analysis CRDs Config Base Manifest Regeneration
config/crd/bases/analysis-run-crd.yaml, config/crd/bases/analysis-template-crd.yaml, config/crd/bases/cluster-analysis-template-crd.yaml
Config base manifests for Analysis CRDs remove preserveUnknownFields: false, update controller-gen.kubebuilder.io/version to v0.19.0, and apply the same structural schema refinements as bundle manifests.
Experiment CRD Regeneration
bundle/manifests/argoproj.io_experiments.yaml, config/crd/bases/experiment-crd.yaml
Experiment CRD manifests (bundle and config) are regenerated with controller-gen v0.19.0, adding list/map typing annotations and new pod/container schema fields consistent with other CRD updates.
Rollout CRD Regeneration
bundle/manifests/argoproj.io_rollouts.yaml, config/crd/bases/rollout-crd.yaml
Rollout CRD manifests are regenerated, adding selector immutability enforcement via x-kubernetes-validations, extensive structural schema annotations, new field definitions (replicaProgressThreshold, stopSignal, fileKeyRef, hostnameOverride, recursiveReadOnly, restartPolicyRules, expanded securityContext), and volume schema updates.
RolloutManager CRD Regeneration and NetworkPolicy Feature
bundle/manifests/argoproj.io_rolloutmanagers.yaml, config/crd/bases/argoproj.io_rolloutmanagers.yaml
RolloutManager CRD manifests are regenerated with controller-gen v0.19.0, and a new spec.networkPolicy.enabled boolean field (default true) is added to control whether NetworkPolicy resources are created or removed.

EKS API Group RBAC Permissions

Layer / File(s) Summary
GitOps Operator CSV and RBAC Configuration Update
bundle/manifests/gitops-operator.clusterserviceversion.yaml, config/rbac/role.yaml
ClusterServiceVersion createdAt timestamp is updated. The ClusterRole and ClusterServiceVersion clusterPermissions apiGroups list are extended to include eks.amazonaws.com for targetgroupbindings resource access.
GitOps Service Controller RBAC Annotation
controllers/gitopsservice_controller.go
A Kubebuilder RBAC annotation is added to permit list and get operations on eks.amazonaws.com targetgroupbindings resources.
E2E Test Permission Validations
test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go, test/openshift/e2e/ginkgo/sequential/1-101_validate_rollout_policyrules_test.go
E2E test expectations are updated to include eks.amazonaws.com API group in RBAC permission assertions.

Dependency and Script Updates

Layer / File(s) Summary
Go Module and E2E Script Updates
go.mod, scripts/run-rollouts-e2e-tests.sh
github.com/argoproj-labs/argo-rollouts-manager dependency is updated to a newer pseudo-version, and the E2E test script TARGET_ROLLOUT_MANAGER_COMMIT SHA is updated to match.

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: updating argo-rollouts-manager to a specific commit, which is reflected in the updated go.mod dependency and regenerated CRD manifests.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description check ✅ Passed The PR description directly relates to the changeset, clearly stating an update to the argo-rollouts-manager dependency and mentioning manual E2E test validation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go (1)

439-446: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

apiGroups order mismatch will cause test failure.

The test expects elbv2.k8s.aws before eks.amazonaws.com, but the actual CSV manifest (bundle/manifests/gitops-operator.clusterserviceversion.yaml lines 632-633) has them in reverse order: eks.amazonaws.com first, then elbv2.k8s.aws. Since line 736 uses Equal() for deep comparison, this ordering difference will fail the test.

Proposed fix
         - apiGroups:
-          - elbv2.k8s.aws
           - eks.amazonaws.com
+          - elbv2.k8s.aws
           resources:
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go` around
lines 439 - 446, The failure is due to mismatched ordering of the apiGroups
array in the expected object used in the test (the apiGroups block in
1-090_validate_permissions_test.go) vs the actual CSV manifest; update the
expected apiGroups order to match the manifest (place "eks.amazonaws.com" before
"elbv2.k8s.aws") so the deep equality assertion (the Equal() comparison used
later in this test) passes, or alternatively change the assertion to compare
sets/ignore order; prefer adjusting the apiGroups literal order to match the CSV
for minimal change.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@bundle/manifests/argoproj.io_clusteranalysistemplates.yaml`:
- Around line 3074-3077: The manifest changes add flattened fields
resourceClaimName and resourceClaimTemplateName inside resourceClaims on the
existing v1alpha1 CRD, which can break upgrades; instead preserve backward
compatibility by either (A) reverting the in-place shape change and adding a
oneOf that accepts both the old nested structure and the new flat structure for
resourceClaims (use oneOf to accept both shapes) or (B) move this schema change
into a new CRD version (e.g., v1beta1) and implement a conversion/migration path
so existing v1alpha1 objects are converted; update the CRD schema around
resourceClaims (and references to resourceClaimName/resourceClaimTemplateName)
accordingly and ensure the stored version remains compatible.

---

Outside diff comments:
In `@test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go`:
- Around line 439-446: The failure is due to mismatched ordering of the
apiGroups array in the expected object used in the test (the apiGroups block in
1-090_validate_permissions_test.go) vs the actual CSV manifest; update the
expected apiGroups order to match the manifest (place "eks.amazonaws.com" before
"elbv2.k8s.aws") so the deep equality assertion (the Equal() comparison used
later in this test) passes, or alternatively change the assertion to compare
sets/ignore order; prefer adjusting the apiGroups literal order to match the CSV
for minimal change.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: 1714ad19-7c7c-4849-b03d-8febca757d47

📥 Commits

Reviewing files that changed from the base of the PR and between 3b6fb22 and 90b426d.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (19)
  • bundle/manifests/argoproj.io_analysisruns.yaml
  • bundle/manifests/argoproj.io_analysistemplates.yaml
  • bundle/manifests/argoproj.io_clusteranalysistemplates.yaml
  • bundle/manifests/argoproj.io_experiments.yaml
  • bundle/manifests/argoproj.io_rolloutmanagers.yaml
  • bundle/manifests/argoproj.io_rollouts.yaml
  • bundle/manifests/gitops-operator.clusterserviceversion.yaml
  • config/crd/bases/analysis-run-crd.yaml
  • config/crd/bases/analysis-template-crd.yaml
  • config/crd/bases/argoproj.io_rolloutmanagers.yaml
  • config/crd/bases/cluster-analysis-template-crd.yaml
  • config/crd/bases/experiment-crd.yaml
  • config/crd/bases/rollout-crd.yaml
  • config/rbac/role.yaml
  • controllers/gitopsservice_controller.go
  • go.mod
  • scripts/run-rollouts-e2e-tests.sh
  • test/openshift/e2e/ginkgo/parallel/1-090_validate_permissions_test.go
  • test/openshift/e2e/ginkgo/sequential/1-101_validate_rollout_policyrules_test.go

Comment thread bundle/manifests/argoproj.io_clusteranalysistemplates.yaml
Signed-off-by: Jonathan West <jgwest@gmail.com>
@jgwest jgwest force-pushed the upgrade-rollouts-manager branch from 90b426d to 9810c17 Compare May 27, 2026 12:25
@jgwest
Copy link
Copy Markdown
Member Author

jgwest commented May 27, 2026

/retest

1 similar comment
@jgwest
Copy link
Copy Markdown
Member Author

jgwest commented May 28, 2026

/retest

@jparsai
Copy link
Copy Markdown
Collaborator

jparsai commented May 28, 2026

/lgtm

Copy link
Copy Markdown
Member

@svghadi svghadi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented May 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: svghadi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit aacca24 into redhat-developer:master May 29, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants