Skip to content

WIP: AUTOSCALE-971: Run HTTP Add-on e2e tests in CMA operator CI - #84156

Open
linkvt wants to merge 1 commit into
openshift:mainfrom
linkvt:autoscale-971-cma-e2e-http-addon-3
Open

WIP: AUTOSCALE-971: Run HTTP Add-on e2e tests in CMA operator CI#84156
linkvt wants to merge 1 commit into
openshift:mainfrom
linkvt:autoscale-971-cma-e2e-http-addon-3

Conversation

@linkvt

@linkvt linkvt commented Aug 27, 2026

Copy link
Copy Markdown
Member

Depends on all related PRs:

Extends the CMA operator's cma-e2e-aws-ovn test to also install the HTTP Add-on (via the shared KedaController CR alongside KEDA) and run its e2e suite, so HTTP Add-on failures surface in CMA operator CI and not just in the standalone kedacore-http-add-on CI.
Also add steps to run the HTTP Addon E2E tests.

make update was run before this commit.

Summary by CodeRabbit

This PR extends CMA operator OpenShift CI coverage. The cma-e2e-aws-ovn workflow now installs the HTTP Add-on through the shared KedaController resource and runs the HTTP Add-on end-to-end tests.

The new CI steps install external test dependencies and run make e2e-test-openshift-ci with the required gRPC echo image. This exposes HTTP Add-on failures in CMA operator CI.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Aug 27, 2026
@openshift-ci-robot

openshift-ci-robot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

@linkvt: This pull request references AUTOSCALE-971 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.1.0" version, but no target version was set.

Details

In response to this:

Depends on all related PRs:

Extends the CMA operator's cma-e2e-aws-ovn test to also install the HTTP Add-on (via the shared KedaController CR alongside KEDA) and run its e2e suite, so HTTP Add-on failures surface in CMA operator CI and not just in the standalone kedacore-http-add-on CI.
Also add steps to run the HTTP Addon E2E tests.

make update was run before this commit.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Aug 27, 2026
@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: b48b36c7-5a2c-4fcb-8b58-9efc77f98e6a

📥 Commits

Reviewing files that changed from the base of the PR and between 024ffcd and 7dbd39d.

📒 Files selected for processing (9)
  • ci-operator/config/openshift/custom-metrics-autoscaler-operator/openshift-custom-metrics-autoscaler-operator-main.yaml
  • ci-operator/step-registry/http-addon/e2e/run/OWNERS
  • ci-operator/step-registry/http-addon/e2e/run/http-addon-e2e-run-commands.sh
  • ci-operator/step-registry/http-addon/e2e/run/http-addon-e2e-run-ref.metadata.json
  • ci-operator/step-registry/http-addon/e2e/run/http-addon-e2e-run-ref.yaml
  • ci-operator/step-registry/http-addon/e2e/setup/OWNERS
  • ci-operator/step-registry/http-addon/e2e/setup/http-addon-e2e-setup-commands.sh
  • ci-operator/step-registry/http-addon/e2e/setup/http-addon-e2e-setup-ref.metadata.json
  • ci-operator/step-registry/http-addon/e2e/setup/http-addon-e2e-setup-ref.yaml

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


Walkthrough

Changes

HTTP Add-on end-to-end testing

Layer / File(s) Summary
Define HTTP Add-on e2e setup
ci-operator/step-registry/http-addon/e2e/setup/*
Adds a CI step that runs make e2e-deps-external from the test image and installs external e2e dependencies.
Define HTTP Add-on e2e execution
ci-operator/step-registry/http-addon/e2e/run/*
Adds a CI step that runs make e2e-test-openshift-ci and exposes the gRPC echo image through IMAGE_GRPC_ECHO.
Wire steps into the CMA workflow
ci-operator/config/openshift/custom-metrics-autoscaler-operator/openshift-custom-metrics-autoscaler-operator-main.yaml
Runs the setup and execution steps in the CMA AWS OVN e2e workflow between KEDA setup and TLS scanning.

Estimated code review effort: 2 (Simple) | ~10 minutes

Merge Risk: ⚪ Minimal · up to 7dbd3

This change adds HTTP Add-on end-to-end coverage to CMA operator CI, and no actionable merge-blocking risk remains beyond normal checks and review.

Sequence Diagram(s)

sequenceDiagram
  participant CMAWorkflow
  participant HTTPAddonSetup
  participant OpenShiftCluster
  participant HTTPAddonRun
  participant TestImage
  CMAWorkflow->>HTTPAddonSetup: run external dependency setup
  HTTPAddonSetup->>TestImage: invoke make e2e-deps-external
  TestImage->>OpenShiftCluster: install e2e dependencies
  CMAWorkflow->>HTTPAddonRun: run HTTP Add-on e2e suite
  HTTPAddonRun->>TestImage: invoke make e2e-test-openshift-ci
  TestImage->>OpenShiftCluster: execute e2e tests
Loading
🚥 Pre-merge checks | ✅ 14 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Ipv6 And Disconnected Network Test Compatibility ⚠️ Warning FAIL: The PR adds http-addon-e2e-setup to cma-e2e-aws-ovn and runs make e2e-deps-external. The invoked HTTP Add-on Makefile target installs cert-manager, Jaeger, and OpenTelemetry from public He… IPv6 and disconnected network compatibility notice: This test may contain IPv4 assumptions or external connectivity requirements that will fail in IPv6-only disconnected environments. Please verify your test works on IPv6 by running an …
✅ Passed checks (14 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2…
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.
Stable And Deterministic Test Names ✅ Passed PASS: The pull request adds CI step references, shell wrappers, ownership metadata, and two static workflow refs. It adds no It, Describe, Context, or When declarations and no dynamic values i…
Test Structure And Quality ✅ Passed PASS: The pull request changes only CI YAML, step metadata, OWNERS files, and two strict-mode shell wrappers. The diff contains no Ginkgo test code or It/BeforeEach/AfterEach/Eventually/Consistently/E…
Microshift Test Compatibility ✅ Passed PASS: The pull request adds CI step definitions and shell wrappers only. The commit diff contains no Go or Ginkgo test changes and no references to OpenShift APIs, namespaces, or MicroShift-sensitive …
Single Node Openshift (Sno) Test Compatibility ✅ Passed PASS: The pull request adds CI orchestration and step metadata only. The diff contains no new Ginkgo test declarations or test implementation. It invokes the existing HTTP Add-on suite from a prebuilt…
Topology-Aware Scheduling Compatibility ✅ Passed PASS: The pull request changes only CI workflow wiring, CI step metadata, ownership files, and shell wrappers. The added step YAML declares an image, CPU request, and an image dependency, but no anti-…
Ote Binary Stdout Contract ✅ Passed No OTE binary source changed. The commit changes CI YAML, OWNERS, metadata, and two shell wrappers. The wrappers only invoke make; they contain no stdout writes or OTE lifecycle code such as main,…
No-Weak-Crypto ✅ Passed PASS: The pull request adds CI step references, metadata, ownership files, and shell wrappers that only invoke make e2e-deps-external and make e2e-test-openshift-ci. No MD5, SHA1, DES, RC4, 3DES, …
Container-Privileges ✅ Passed No prohibited privilege configuration is introduced. The changed CI workflow only adds two step references, and both new step-reference YAML files define the image, commands, CPU request, dependency, …
No-Sensitive-Data-In-Logs ✅ Passed No sensitive-data logging is introduced. The changed scripts only run make e2e-deps-external and make e2e-test-openshift-ci with strict error handling. The new step references contain no credentia…
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the main change: adding HTTP Add-on end-to-end tests to CMA operator CI. The Jira identifier and WIP prefix do not obscure the scope.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 2 files. (7 skipped: 7 unsupported.)

Full details: Stable And Deterministic Test Names

Explanation

PASS: The pull request adds CI step references, shell wrappers, ownership metadata, and two static workflow refs. It adds no It, Describe, Context, or When declarations and no dynamic values in test titles. The make e2e-test-openshift-ci command invokes the prebuilt HTTP Add-on test suite; any titles in that suite are not changed by this pull request.

Full details: Test Structure And Quality

Explanation

PASS: The pull request changes only CI YAML, step metadata, OWNERS files, and two strict-mode shell wrappers. The diff contains no Ginkgo test code or It/BeforeEach/AfterEach/Eventually/Consistently/Expect assertions. Therefore the listed Ginkgo test-structure requirements are not applicable, and the new wrappers delegate execution to the external make e2e-* suite.

Full details: Microshift Test Compatibility

Explanation

PASS: The pull request adds CI step definitions and shell wrappers only. The commit diff contains no Go or Ginkgo test changes and no references to OpenShift APIs, namespaces, or MicroShift-sensitive features. The new run step invokes a prebuilt external test image; this check does not flag tests that are not added or modified in the pull request.

Full details: Single Node Openshift (Sno) Test Compatibility

Explanation

PASS: The pull request adds CI orchestration and step metadata only. The diff contains no new Ginkgo test declarations or test implementation. It invokes the existing HTTP Add-on suite from a prebuilt image and adds no node, topology, affinity, replica, failover, or rescheduling assumptions.

Full details: Topology-Aware Scheduling Compatibility

Explanation

PASS: The pull request changes only CI workflow wiring, CI step metadata, ownership files, and shell wrappers. The added step YAML declares an image, CPU request, and an image dependency, but no anti-affinity, topology spread constraint, replica count, node selector/affinity, toleration, or PDB. The exact diff contains no operator code or deployment/controller manifest changes. Therefore, it introduces no scheduling constraint covered by this check.

Full details: Ote Binary Stdout Contract

Explanation

No OTE binary source changed. The commit changes CI YAML, OWNERS, metadata, and two shell wrappers. The wrappers only invoke make; they contain no stdout writes or OTE lifecycle code such as main, TestMain, BeforeSuite, or RunSpecs. The HTTP Add-on tests run from a prebuilt external image, so this pull request introduces no documented stdout contract violation.

Full details: Ipv6 And Disconnected Network Test Compatibility

Explanation

FAIL: The PR adds http-addon-e2e-setup to cma-e2e-aws-ovn and runs make e2e-deps-external. The invoked HTTP Add-on Makefile target installs cert-manager, Jaeger, and OpenTelemetry from public Helm repositories (charts.jetstack.io, jaegertracing.github.io, and open-telemetry.github.io). This requires public external connectivity and will fail in disconnected CI. The changed files add no IPv4 literals or Ginkgo test source.

Resolution

IPv6 and disconnected network compatibility notice: This test may contain IPv4 assumptions or external connectivity requirements that will fail in IPv6-only disconnected environments. Please verify your test works on IPv6 by running an additional CI job: For parallel tests: /payload-job periodic-ci-openshift-release-master-nightly-4.22-e2e-metal-ipi-ovn-ipv6 For serial tests: /payload-job periodic-ci-openshift-release-master-nightly-4.22-e2e-metal-ipi-serial-ovn-ipv6 Mirror the Helm charts and required images into internal CI sources, or skip this workflow in disconnected environments. If the external dependency cannot be adapted, add [Skipped:Disconnected] to the relevant test name.

Full details: No-Weak-Crypto

Explanation

PASS: The pull request adds CI step references, metadata, ownership files, and shell wrappers that only invoke make e2e-deps-external and make e2e-test-openshift-ci. No MD5, SHA1, DES, RC4, 3DES, Blowfish, ECB, custom cryptography, or secret comparisons appear in the added lines. The existing PQC_CHECK, TLS scanner configuration, and TLS scanner step are unchanged.

Full details: Container-Privileges

Explanation

No prohibited privilege configuration is introduced. The changed CI workflow only adds two step references, and both new step-reference YAML files define the image, commands, CPU request, dependency, and documentation. They contain no privileged: true, host PID/network/IPC settings, SYS_ADMIN, allowPrivilegeEscalation: true, or root user setting. The added scripts only invoke Make targets. The privilege scan of the exact added diff found no matching fields.

Full details: No-Sensitive-Data-In-Logs

Explanation

No sensitive-data logging is introduced. The changed scripts only run make e2e-deps-external and make e2e-test-openshift-ci with strict error handling. The new step references contain no credentials or logging commands. The linked HTTP Add-on tests use synthetic hosts, headers, and bodies; their failure diagnostics log selected test resources and pod logs, not Secret contents. The standalone HTTP Add-on CI already runs the same test target.

  • Fix all pre-merge checks with AI
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci

openshift-ci Bot commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: linkvt

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-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 27, 2026
@openshift-ci
openshift-ci Bot requested review from Fedosin and stbenjam August 27, 2026 07:47
Extends the CMA operator's cma-e2e-aws-ovn test to also install the
HTTP Add-on (via the shared KedaController CR alongside KEDA) and run
its e2e suite, so HTTP Add-on failures surface in CMA operator CI and
not just in the standalone kedacore-http-add-on CI.

Signed-off-by: Vincent Link <vlink@redhat.com>
@linkvt
linkvt force-pushed the autoscale-971-cma-e2e-http-addon-3 branch from 115ae56 to b81c1e4 Compare August 27, 2026 08:36
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@linkvt: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-custom-metrics-autoscaler-operator-main-cma-e2e-aws-ovn openshift/custom-metrics-autoscaler-operator presubmit Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

1 similar comment
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@linkvt: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-custom-metrics-autoscaler-operator-main-cma-e2e-aws-ovn openshift/custom-metrics-autoscaler-operator presubmit Ci-operator config changed
Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@linkvt

linkvt commented Aug 31, 2026

Copy link
Copy Markdown
Member Author

/pj-rehearse pull-ci-openshift-custom-metrics-autoscaler-operator-main-cma-e2e-aws-ovn

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

@linkvt: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-ci

openshift-ci Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

@linkvt: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/custom-metrics-autoscaler-operator/main/cma-e2e-aws-ovn b81c1e4 link unknown /pj-rehearse pull-ci-openshift-custom-metrics-autoscaler-operator-main-cma-e2e-aws-ovn

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants