MGMT-24194: add required vmaas E2E presubmit tests to osac-aap#78718
MGMT-24194: add required vmaas E2E presubmit tests to osac-aap#78718omer-vishlitzky wants to merge 1 commit intoopenshift:mainfrom
Conversation
|
@omer-vishlitzky: This pull request references MGMT-24194 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.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. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: omer-vishlitzky The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
WalkthroughCI configuration for the osac-aap project is expanded: it adds base image mappings, two new image build definitions (execution environment and installer variant), a releases.latest entry for OCP nightly 4.20, a dedicated resource profile, and replaces a placeholder test with multiple Packet-assisted intranet E2E workflows. ChangesOSAC AAP CI Configuration
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Review rate limit: 6/10 reviews remaining, refill in 20 minutes and 3 seconds. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml (1)
108-111: ⚡ Quick winDrop the no-op
temppresubmit.This leaves an extra required context that does not validate the PR and still consumes CI capacity. If it is only a placeholder, it should be removed or made optional.
Possible cleanup
- - as: temp - commands: echo "Test" - container: - from: src🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml` around lines 108 - 111, The presubmit entry currently defined as "as: temp" with "commands: echo \"Test\"" and "container: from: src" is a no-op that creates a required CI context; remove this presubmit block entirely or convert it into an optional check by adding "optional: true" under that entry (or otherwise removing the required context) so it no longer blocks PR validation or consumes CI capacity.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml`:
- Around line 49-59: The Dockerfile snippet under dockerfile_literal uses
unpinned external inputs (FROM quay.io/centos/centos:stream9 and packages like
ansible-core and ansible-runner plus pip requirements in
execution-environment/requirements.txt); update the Dockerfile to pin or mirror
those inputs by replacing the base image with a specific digest or internal
registry mirror, pin package versions (e.g., ansible-core==<version>,
ansible-runner==<version> or install from a mirrored index), and vendor or pin
the pip requirements (freeze versions in execution-environment/requirements.txt
or point to a hosted requirements artifact); modify the dockerfile_literal entry
so it references the pinned/mirrored artifacts and ensure any CI job manifest
references the mirrored base image in the same way.
---
Nitpick comments:
In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml`:
- Around line 108-111: The presubmit entry currently defined as "as: temp" with
"commands: echo \"Test\"" and "container: from: src" is a no-op that creates a
required CI context; remove this presubmit block entirely or convert it into an
optional check by adding "optional: true" under that entry (or otherwise
removing the required context) so it no longer blocks PR validation or consumes
CI capacity.
🪄 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: 8c9bd32e-e9e4-490d-9b7b-d6ca0ea21ad4
⛔ Files ignored due to path filters (1)
ci-operator/jobs/osac-project/osac-aap/osac-project-osac-aap-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (1)
ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml
| - dockerfile_literal: | | ||
| FROM quay.io/centos/centos:stream9 | ||
|
|
||
| RUN dnf install -y python3.12 python3.12-pip python3.12-devel \ | ||
| git-core bind-utils krb5-devel gcc systemd-libs systemd-devel && \ | ||
| dnf clean all | ||
|
|
||
| COPY execution-environment/requirements.txt /tmp/requirements.txt | ||
| RUN python3.12 -m pip install --no-cache-dir \ | ||
| ansible-core ansible-runner dumb-init==1.2.5 \ | ||
| -r /tmp/requirements.txt |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
find . -name "osac-project-osac-aap-main.yaml" -type fRepository: openshift/release
Length of output: 136
🏁 Script executed:
cat -n ./ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yamlRepository: openshift/release
Length of output: 10155
Pin the EE image's external build inputs before making these jobs required.
This image is built from unpinned upstream inputs (quay.io/centos/centos:stream9, ansible-core, ansible-runner), so required presubmits can start failing without any repo change. Pin or mirror those inputs to ensure the new jobs remain reproducible.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml`
around lines 49 - 59, The Dockerfile snippet under dockerfile_literal uses
unpinned external inputs (FROM quay.io/centos/centos:stream9 and packages like
ansible-core and ansible-runner plus pip requirements in
execution-environment/requirements.txt); update the Dockerfile to pin or mirror
those inputs by replacing the base image with a specific digest or internal
registry mirror, pin package versions (e.g., ansible-core==<version>,
ansible-runner==<version> or install from a mirrored index), and vendor or pin
the pip requirements (freeze versions in execution-environment/requirements.txt
or point to a hosted requirements artifact); modify the dockerfile_literal entry
so it references the pinned/mirrored artifacts and ensure any CI job manifest
references the mirrored base image in the same way.
Add 8 required vmaas E2E presubmit tests that run on every osac-aap PR. Tests build the Ansible Execution Environment image from the PR source, plus a modified osac-installer image with the PR's manifests swapped in.
6f737be to
0814186
Compare
|
/pj-rehearse pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-api-fields pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-cli-fields pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-creation pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-delete-during-provision pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-restart pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-restart-negative pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-subnet-lifecycle pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-virtual-network-lifecycle |
|
@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
♻️ Duplicate comments (1)
ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml (1)
49-59:⚠️ Potential issue | 🟠 Major | ⚡ Quick winPin EE build inputs before keeping these jobs required.
The EE image still depends on floating upstream inputs (
quay.io/centos/centos:stream9, unpinnedansible-core,ansible-runner), so required presubmits can fail without repo changes.Suggested change pattern
- FROM quay.io/centos/centos:stream9 + FROM quay.io/centos/centos@sha256:<pinned-digest> - RUN python3.12 -m pip install --no-cache-dir \ - ansible-core ansible-runner dumb-init==1.2.5 \ + RUN python3.12 -m pip install --no-cache-dir \ + ansible-core==<pinned-version> ansible-runner==<pinned-version> dumb-init==1.2.5 \ -r /tmp/requirements.txt#!/bin/bash set -euo pipefail file="$(fd -a 'osac-project-osac-aap-main.yaml' | head -n1)" nl -ba "$file" | sed -n '49,60p' # Verify: # 1) FROM uses digest-pinned image (or an internal mirrored image alias). # 2) ansible-core / ansible-runner are version-pinned.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml` around lines 49 - 59, The Dockerfile fragment in dockerfile_literal uses floating inputs: the FROM line (FROM quay.io/centos/centos:stream9) and the pip installs in the RUN python3.12 -m pip install command (ansible-core, ansible-runner) — update the FROM to a digest-pinned base image or internal mirror alias and pin the pip packages to specific versions (e.g., ansible-core==X.Y.Z, ansible-runner==A.B.C); ensure any additional dependencies in COPY execution-environment/requirements.txt are also version-pinned or validated, then rerun the presubmit checks.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml`:
- Around line 49-59: The Dockerfile fragment in dockerfile_literal uses floating
inputs: the FROM line (FROM quay.io/centos/centos:stream9) and the pip installs
in the RUN python3.12 -m pip install command (ansible-core, ansible-runner) —
update the FROM to a digest-pinned base image or internal mirror alias and pin
the pip packages to specific versions (e.g., ansible-core==X.Y.Z,
ansible-runner==A.B.C); ensure any additional dependencies in COPY
execution-environment/requirements.txt are also version-pinned or validated,
then rerun the presubmit checks.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 3bac881a-3b57-453d-94d5-171d048c176d
⛔ Files ignored due to path filters (1)
ci-operator/jobs/osac-project/osac-aap/osac-project-osac-aap-main-presubmits.yamlis excluded by!ci-operator/jobs/**
📒 Files selected for processing (1)
ci-operator/config/osac-project/osac-aap/osac-project-osac-aap-main.yaml
|
/pj-rehearse pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-api-fields pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-cli-fields pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-creation pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-delete-during-provision pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-restart pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-compute-instance-restart-negative pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-subnet-lifecycle pull-ci-osac-project-osac-aap-main-e2e-metal-vmaas-virtual-network-lifecycle |
|
@omer-vishlitzky: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/retest |
|
@omer-vishlitzky: The following tests 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. |
|
PR needs rebase. 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. |
Summary
https://redhat.atlassian.net/browse/MGMT-24194
Add 8 required vmaas E2E presubmit tests to osac-aap. Tests build the Ansible Execution Environment image from the PR source, plus a modified osac-installer image with the PR's manifests swapped in.
Depends on
Test plan
Summary by CodeRabbit
Chores
Tests