Skip to content

Add MDR weekly periodic E2E job to medik8s system-tests#80848

Open
ugreener wants to merge 1 commit into
openshift:mainfrom
ugreener:fix/add-mdr-periodic-job
Open

Add MDR weekly periodic E2E job to medik8s system-tests#80848
ugreener wants to merge 1 commit into
openshift:mainfrom
ugreener:fix/add-mdr-periodic-job

Conversation

@ugreener

@ugreener ugreener commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Add a weekly periodic E2E job for the MDR (Machine Deletion Remediation) operator on the medik8s system-tests 4.22-konflux variant (AWS/ipi-aws), matching the existing FAR/SBR/SNR periodic pattern.

Changes

  • Add e2e-mdr-weekly-aws periodic job to ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml
  • Schedule: Sunday 10:00 UTC (0 10 * * 0), staggered 2h after SNR (08:00)
  • Uses medik8s-catalogsource + medik8s-operator-subscribe steps with Konflux FBC catalog
  • Tests selected via ECO_TEST_FEATURES=mdr-operator (consistent with other operator periodic jobs)
  • Auto-generated periodics YAML included via make jobs

Cron schedule

Operator Cron Time (UTC)
FAR 0 4 * * 0 Sun 04:00
SBR 0 6 * * 0 Sun 06:00
SNR 0 8 * * 0 Sun 08:00
MDR 0 10 * * 0 Sun 10:00

References

Add weekly periodic E2E job for Machine Deletion Remediation (MDR)
operator, following the same pattern as FAR, SBR, and SNR periodic
jobs in the 4.22-konflux variant.

- Job: e2e-mdr-weekly-aws
- Schedule: Sunday 10:00 UTC (2h after SNR, maintaining stagger)
- Workflow: ipi-aws with Konflux FBC catalog
- Tests selected via ECO_TEST_FEATURES=mdr-operator

Note: RHWA-1143 mentions Ginkgo label filter operator:mdr && tier:smoke
but current MDR tests use simple "mdr" label and are selected via
ECO_TEST_FEATURES (consistent with other operator periodic jobs).

Co-Authored-By: Claude <noreply@anthropic.com>
@ugreener

Copy link
Copy Markdown
Contributor Author

/pj-rehearse auto-ack

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

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

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

A new weekly e2e test job named e2e-mdr-weekly-aws is added to the 4.22 Konflux system-tests configuration for the medik8s repository. It runs on a Sunday cron schedule against the medik8s-aws cluster profile with MDR operator-specific environment variables and resource requests.

Changes

Weekly MDR AWS Test Job

Layer / File(s) Summary
New weekly AWS MDR test job
ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml
Adds e2e-mdr-weekly-aws test block with cron schedule 0 10 * * 0, medik8s-aws cluster profile, env vars ECO_TEST_FEATURES: mdr-operator, OPERATORS: machine-deletion-remediation, OCP_VERSION: "422", OO_CHANNEL: stable, and BASE_DOMAIN; configures e2e-test step using cli: latest with cpu: 100m / memory: 200Mi resource requests.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Suggested labels

lgtm, approved, rehearsals-ack

Suggested reviewers

  • slintes
  • mshitrit
  • razo7
🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
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.
Stable And Deterministic Test Names ✅ Passed PR adds CI/CD configuration only (YAML file) with no Ginkgo test definitions. The check for stable/deterministic test names is not applicable to this configuration change.
Test Structure And Quality ✅ Passed PR modifies CI operator configuration files only, not Ginkgo test code. Custom check for "Test Structure and Quality" of Ginkgo tests is not applicable to CI/configuration-only PRs.
Microshift Test Compatibility ✅ Passed This PR adds a periodic CI job configuration (YAML) for the medik8s MDR operator, not new Ginkgo e2e test code. The custom check applies only when new Ginkgo tests (It(), Describe(), etc.) are adde...
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR only modifies CI configuration (YAML) to schedule an existing periodic test job. It does not add any new Ginkgo e2e test code (It(), Describe(), Context(), etc.), so the SNO test compatibil...
Topology-Aware Scheduling Compatibility ✅ Passed PR adds only a CI test configuration file with no scheduling constraints. Not a deployment manifest, operator code, or controller that would affect customer cluster topologies.
Ote Binary Stdout Contract ✅ Passed This PR adds CI-operator YAML config and junitreport test data - not OTE binary code. No changes to process-level test execution code (main, init, BeforeSuite, etc.) that could violate stdout contr...
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo test code is added in this PR. The changes only add CI/CD scheduling configuration (YAML) for the e2e-mdr-weekly-aws job; the actual test implementations are in the medik8s/system-tes...
No-Weak-Crypto ✅ Passed This PR adds CI/CD YAML configuration for periodic testing, containing no cryptographic code, weak crypto usage, or custom cipher implementations.
Container-Privileges ✅ Passed File is a ci-operator configuration adding a periodic E2E test job. No container/pod specifications, securityContext, privileged mode, hostPID, hostNetwork, hostIPC, SYS_ADMIN, or allowPrivilegeEsc...
No-Sensitive-Data-In-Logs ✅ Passed No sensitive data (passwords, tokens, API keys, PII, or customer data) found in the CI configuration. All environment variables contain non-sensitive test infrastructure values.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding a new MDR weekly periodic E2E job to the medik8s system-tests configuration.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot requested review from clobrano and maximunited June 22, 2026 15:37
@openshift-ci

openshift-ci Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ugreener

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 Jun 22, 2026
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@ugreener: 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
periodic-ci-medik8s-system-tests-main-4.22-konflux-e2e-mdr-weekly-aws N/A periodic Periodic changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

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.

@ugreener ugreener changed the title medik8s system-tests: add MDR periodic job config Draft: medik8s system-tests: add MDR periodic job config Jun 22, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 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
`@ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml`:
- Around line 297-299: The ECO_TEST_FEATURES environment variable declaration in
the e2e-test step is incomplete, containing only the name field without a value
or default specification. Remove this incomplete env declaration entirely to
allow the step to inherit the ECO_TEST_FEATURES value from the workflow level
(line 287 where it is properly defined as mdr-operator). If an override is
needed instead of inheritance, add a proper value field to the env declaration
with the intended value.
🪄 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: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 2586c10a-9870-40ec-8e40-d44ea21303d1

📥 Commits

Reviewing files that changed from the base of the PR and between 3cb072a and 4b4a704.

⛔ Files ignored due to path filters (1)
  • ci-operator/jobs/medik8s/system-tests/medik8s-system-tests-main-periodics.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/medik8s/system-tests/medik8s-system-tests-main__4.22-konflux.yaml

@ugreener ugreener changed the title Draft: medik8s system-tests: add MDR periodic job config Draft: Add MDR weekly periodic E2E job to medik8s system-tests Jun 22, 2026
@ugreener

Copy link
Copy Markdown
Contributor Author

@coderabbitai re: the ECO_TEST_FEATURES env comment - this is a false positive. In ci-operator configuration, - name: ECO_TEST_FEATURES without a default: or value: is the standard mechanism to forward the workflow-level variable (steps.env.ECO_TEST_FEATURES: mdr-operator) into the step container.

This exact pattern is used by the merged FAR (#79606), SBR (#79674), and SNR (#80587) periodic jobs in the same file. Removing this entry would prevent the test from receiving the feature selector variable. No change needed.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Tip

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

@ugreener, you're absolutely right — thank you for the clear explanation. In ci-operator configuration, declaring - name: ECO_TEST_FEATURES under a step's env: without a default: or value: is the established mechanism to forward a workflow-level environment variable into the step container. Removing it would silently break variable propagation. My comment was a false positive.

I'll withdraw the comment and record this pattern to avoid flagging it in future reviews.


✏️ Learnings added
Learnt from: ugreener
URL: https://github.com/openshift/release/pull/80848

Timestamp: 2026-06-22T16:37:06.064Z
Learning: In OpenShift CI (ci-operator) configuration, listing an environment variable under a step's `env:` section with only `- name: VAR_NAME` (and no `default:` or `value:`) is the standard mechanism to forward a workflow-level variable (set via `steps.env`) into the step container. This is NOT a misconfiguration or missing value — removing such an entry would prevent the step from receiving the variable. This pattern is used in medik8s/system-tests periodic jobs (e.g., `ECO_TEST_FEATURES`, as seen in FAR `#79606`, SBR `#79674`, SNR `#80587`, and MDR `#80848` periodic job configurations in `ci-operator/config/medik8s/system-tests/`).

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Jun 22, 2026
@openshift-ci

openshift-ci Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

@ugreener: all tests passed!

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.

@ugreener ugreener changed the title Draft: Add MDR weekly periodic E2E job to medik8s system-tests Add MDR weekly periodic E2E job to medik8s system-tests Jun 22, 2026
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. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant