USHIFT-6979: Reorganize optional RF tests#6667
Conversation
|
Skipping CI for Draft Pull Request. |
|
/test e2e-aws-tests-periodic |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: pacevedom The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThis PR introduces a Robot Framework optional configuration system for MicroShift test suites, enabling per-suite optional component enablement via configurable manifests directories, and updates a CI build script to force rebuild image layers. ChangesMicroShift Optional Configuration Framework
CI Image Build Optimization
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 11 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (11 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
@pacevedom: This pull request references USHIFT-6979 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 bug to target the "5.0.0" version, but no target version was set. DetailsIn response to this: 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. |
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 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 `@test/bin/scenario.sh`:
- Around line 317-344: collect_pcp_reports_for_vm_offline is missing the
fault-tolerance in collect_pcp_reports_for_vm: make the remote stop and archive
steps tolerant of absent service or missing dirs by updating the
invoke_qemu_script "bash" call that runs "sudo systemctl stop pmlogger" to
append "|| true" and change the tar invocation to first check the directory
(e.g., test -d /var/log/pcp/pmlogger && tar ...) or append "|| true" to the tar
command; ensure the same target paths used in collect_pcp_reports_for_vm are
validated before downloading so the function gracefully continues if pmlogger or
/var/log/pcp/pmlogger are absent.
In `@test/resources/optional-config.resource`:
- Around line 29-31: The teardown step "Teardown MicroShift With Optionals"
currently only restores the config file ("Restore Default MicroShift Config")
but does not apply it to the running MicroShift process; update the teardown to
reload or restart MicroShift after restoring the file (e.g., call the same
restart/reload mechanism your suite uses elsewhere—systemctl restart microshift,
microshift --reload, or sending the appropriate signal) so the restored config
takes effect before finishing the suite.
🪄 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: 69a2be94-ae06-4486-93bb-fd729cfca720
📒 Files selected for processing (28)
test/bin/ci_phase_iso_build.shtest/bin/scenario.shtest/image-blueprints-bootc/el10/layer1-base/group1/rhel102-test-agent.containerfiletest/image-blueprints-bootc/el9/layer1-base/group1/rhel96-test-agent.containerfiletest/image-blueprints-bootc/el9/layer1-base/group1/rhel98-test-agent.containerfiletest/image-blueprints-bootc/upstream/group1/cos10-test-agent.containerfiletest/image-blueprints-bootc/upstream/group1/cos9-test-agent.containerfiletest/image-blueprints/layer1-base/group1/rhel96.tomltest/image-blueprints/layer1-base/group1/rhel98.tomltest/image-blueprints/layer2-presubmit/group1/rhel98-source-base.tomltest/image-blueprints/layer2-presubmit/group1/rhel98-source-fake-next-minor.tomltest/image-blueprints/layer2-presubmit/group1/rhel98-source-with-optionals.tomltest/image-blueprints/layer2-presubmit/group1/rhel98-source.tomltest/image-blueprints/layer3-periodic/group1/rhel98-source-isolated.tomltest/image-blueprints/layer4-release/group1/rhel96-brew-y2-with-optionals.tomltest/image-blueprints/layer4-release/group2/rhel96-brew-y1-with-optionals.tomltest/image-blueprints/layer4-release/group3/rhel98-brew-lrel-optional.tomltest/image-blueprints/layer4-release/group3/rhel98-brew-nightly-with-optionals.tomltest/resources/optional-config.resourcetest/suites/optional/cert-manager.robottest/suites/optional/gateway-api.robottest/suites/optional/generic-device-plugin.robottest/suites/optional/healthchecks-disabled-service.robottest/suites/optional/multus.robottest/suites/optional/observability.robottest/suites/optional/olm.robottest/suites/optional/sriov.robottest/suites/optional/tls-scanner.robot
| Teardown MicroShift With Optionals | ||
| [Documentation] Restore the original MicroShift config after a suite. | ||
| Restore Default MicroShift Config |
There was a problem hiding this comment.
Restore is not applied to the running service.
Teardown MicroShift With Optionals only restores the config file; MicroShift keeps running with the previously loaded optionals until it is restarted.
Proposed fix
Teardown MicroShift With Optionals
[Documentation] Restore the original MicroShift config after a suite.
Restore Default MicroShift Config
+ Stop MicroShift
+ Start MicroShift
+ Setup Kubeconfig
+ Wait For MicroShift🤖 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/resources/optional-config.resource` around lines 29 - 31, The teardown
step "Teardown MicroShift With Optionals" currently only restores the config
file ("Restore Default MicroShift Config") but does not apply it to the running
MicroShift process; update the teardown to reload or restart MicroShift after
restoring the file (e.g., call the same restart/reload mechanism your suite uses
elsewhere—systemctl restart microshift, microshift --reload, or sending the
appropriate signal) so the restored config takes effect before finishing the
suite.
|
/test e2e-aws-tests-periodic |
|
/test e2e-aws-tests-periodic |
|
/test e2e-aws-tests-periodic |
|
/test e2e-aws-tests-periodic |
Add optional-config.resource with keywords to reconfigure MicroShift's kustomizePaths so each test suite loads only its required manifests.d directories. This avoids running all optional controllers simultaneously, reducing API server contention from concurrent controller wake-ups.
|
/test e2e-aws-tests-periodic |
Each optional test suite now reconfigures MicroShift at setup to load only its own manifests.d directory, cleans etcd data, and restarts fresh. Suites that don't need optional components run with base manifests only. Suite-to-manifests.d mapping: - olm.robot: 001-microshift-olm - cert-manager.robot: 060-microshift-cert-manager - gateway-api.robot: 000-microshift-gateway-api - sriov.robot: 070-microshift-sriov - multus, observability, healthchecks, tls-scanner, GDP: base only
|
/test e2e-aws-tests-periodic |
1 similar comment
|
/test e2e-aws-tests-periodic |
|
@pacevedom: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Summary by CodeRabbit
Tests
Chores