Skip to content

MGMT-24194: add required vmaas E2E presubmit tests to fulfillment-service#78717

Open
omer-vishlitzky wants to merge 1 commit intoopenshift:mainfrom
omer-vishlitzky:MGMT-24194-fulfillment-service
Open

MGMT-24194: add required vmaas E2E presubmit tests to fulfillment-service#78717
omer-vishlitzky wants to merge 1 commit intoopenshift:mainfrom
omer-vishlitzky:MGMT-24194-fulfillment-service

Conversation

@omer-vishlitzky
Copy link
Copy Markdown
Contributor

@omer-vishlitzky omer-vishlitzky commented May 3, 2026

Summary

https://redhat.atlassian.net/browse/MGMT-24194

Add 8 required vmaas E2E presubmit tests to fulfillment-service. Tests build the fulfillment-service container image and osac CLI from the PR source, plus a modified osac-installer image with the PR's manifests swapped in.

Depends on

Test plan

  • Rehearsal jobs pass after step registry PR merges

Summary by CodeRabbit

  • Tests

    • Expanded test coverage with many new metal environment scenarios (compute lifecycle, restart positive/negative, subnet, and virtual network variants) targeting OpenShift 4.20 and running via the new PR-image test matrix.
  • Chores

    • Updated infrastructure and CLI to support OpenShift 4.20.
    • Enhanced fulfillment-service image/promote configuration and added additional image build targets and release metadata for nightly 4.20 candidates.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 3, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 3, 2026

@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.

Details

In response to this:

Summary

https://redhat.atlassian.net/browse/MGMT-24194

Add 8 required vmaas E2E presubmit tests to fulfillment-service. Tests build the fulfillment-service container image and osac CLI from the PR source, plus a modified osac-installer image with the PR's manifests swapped in.

Depends on

Test plan

  • Rehearsal jobs pass after step registry PR merges

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.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 3, 2026

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: Enterprise

Run ID: b37f0bc7-a637-4734-b090-1d6dddef7dc4

📥 Commits

Reviewing files that changed from the base of the PR and between 9d2144b and fcca8cc.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/osac-project/fulfillment-service/osac-project-fulfillment-service-main-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/fulfillment-service/osac-project-fulfillment-service-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml

Walkthrough

CI configuration for the fulfillment-service adds base image mappings, new image build targets (fulfillment-service-pr, osac-installer-with-pr) including a dockerfile_literal stage, updates promotion/release metadata to include OCP 4.20, and expands the e2e-metal test matrix with multiple bare-metal jobs that use the PR images and OPENSHIFT_VERSION=4.20.

Changes

Fulfillment Service CI Configuration

Layer / File(s) Summary
Base Image Definitions
ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml (lines 1–41)
Adds base_images entries: assisted-service, dev-scripts, osac-installer, osac-test-infra, and origin-cli set to 4.20 from ocp namespace and backplane/backplane-5.0 mappings.
Image Build Outputs
ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml (lines 61–75)
Adds fulfillment-service-pr output and osac-installer-with-pr built via dockerfile_literal that starts from osac-installer, copies fulfillment manifests into /installer/base/.../manifests/ and installs the osac binary to /usr/local/bin/osac.
Promotion & Release Config
ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml (lines 76–88)
Updates releases.latest.promotion to exclude PR-tagged images and extends releases.latest.candidate with an ocp nightly version: "4.20".
Test Matrix Expansion
ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml (lines 101–268)
Adds multiple e2e-metal-* test jobs (compute instance lifecycle variants, restart positive/negative, subnet lifecycle, virtual network lifecycle). All run with intranet capability on packet-assisted, depend on COMPONENT_IMAGE: fulfillment-service-pr and OSAC_INSTALLER_IMAGE: osac-installer-with-pr, set ASSISTED_CONFIG including OPENSHIFT_VERSION=4.20, reference specific Python test files, and use the osac-project-ofcir-baremetal-component workflow.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (2 inconclusive)

Check name Status Explanation Resolution
Test Structure And Quality ❓ Inconclusive PR modifies CI/CD pipeline configuration (YAML files), not actual Ginkgo test code implementation within this repository. Clarify if Ginkgo test code exists in separate repository or should be included in this PR for quality assessment against specified criteria.
Microshift Test Compatibility ❓ Inconclusive The PR adds e2e test job definitions in a CI config file, but the actual test implementations are in a dependent step registry PR #78715 which cannot be analyzed in this context. Review the test implementations in step registry PR #78715 and the fulfillment-service repository for MicroShift API compatibility issues, particularly checking for Project, BuildConfig, DeploymentConfig, ClusterOperator, and Machine APIs.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The PR title accurately describes the main change: adding required vmaas E2E presubmit tests to the fulfillment-service, which aligns with the raw summary showing expansion of the test matrix with multiple e2e-metal test jobs.
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 All test names are stable, deterministic, and descriptive without dynamic information such as timestamps, UUIDs, or IP addresses.
Single Node Openshift (Sno) Test Compatibility ✅ Passed This PR only modifies CI configuration YAML files and does not add new Ginkgo e2e test code.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI/CD test configuration file, not deployment manifests or operator code with scheduling constraints.
Ote Binary Stdout Contract ✅ Passed The OTE Binary Stdout Contract check is not applicable to this PR. The PR only modifies CI/CD configuration files in YAML format and does not contain any Go source code or test binaries.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR modifies only CI configuration YAML files and references external Python tests, not Ginkgo e2e tests which this check targets.

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

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

Review rate limit: 7/10 reviews remaining, refill in 14 minutes and 5 seconds.

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

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 3, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: omer-vishlitzky

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 May 3, 2026
Copy link
Copy Markdown
Contributor

@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

🤖 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/fulfillment-service/osac-project-fulfillment-service-main.yaml`:
- Line 121: The workflow name referenced ("workflow:
osac-project-ofcir-baremetal-component") does not exist in the step-registry and
will block presubmits; either change each job that uses that workflow to the
existing workflow name "osac-project-ofcir-baremetal" or ensure the missing
"osac-project-ofcir-baremetal-component" workflow is added to the step-registry
(e.g., via the pending PR), updating all occurrences where "workflow:
osac-project-ofcir-baremetal-component" appears so they match a registered
workflow.
🪄 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: af68b941-46e0-45d8-9822-db3f5a487d38

📥 Commits

Reviewing files that changed from the base of the PR and between 47e52e1 and 9d2144b.

⛔ Files ignored due to path filters (2)
  • ci-operator/jobs/osac-project/fulfillment-service/osac-project-fulfillment-service-main-postsubmits.yaml is excluded by !ci-operator/jobs/**
  • ci-operator/jobs/osac-project/fulfillment-service/osac-project-fulfillment-service-main-presubmits.yaml is excluded by !ci-operator/jobs/**
📒 Files selected for processing (1)
  • ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml

OPENSHIFT_VERSION=4.20
COMPONENT_IMAGE_NAME: ghcr.io/osac-project/fulfillment-service
TEST: test_compute_instance_creation.py
workflow: osac-project-ofcir-baremetal-component
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.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify whether the referenced workflow exists in this branch.
# Expected:
# - At least one hit for `as: osac-project-ofcir-baremetal-component` if reference is valid here.
# - If no hit, this PR must stay blocked on the dependency PR merge.

rg -n --type=yaml '^\s*as:\s*osac-project-ofcir-baremetal-component\s*$' ci-operator/step-registry
rg -n --type=yaml '^\s*as:\s*osac-project-ofcir-baremetal\s*$' ci-operator/step-registry

Repository: openshift/release

Length of output: 196


Workflow osac-project-ofcir-baremetal-component does not exist and will block these presubmits.

Line 121 (and the same workflow lines in the other 7 jobs) references osac-project-ofcir-baremetal-component, but only osac-project-ofcir-baremetal exists in the step-registry. These jobs cannot execute until the -component variant is registered (likely via PR #78715).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@ci-operator/config/osac-project/fulfillment-service/osac-project-fulfillment-service-main.yaml`
at line 121, The workflow name referenced ("workflow:
osac-project-ofcir-baremetal-component") does not exist in the step-registry and
will block presubmits; either change each job that uses that workflow to the
existing workflow name "osac-project-ofcir-baremetal" or ensure the missing
"osac-project-ofcir-baremetal-component" workflow is added to the step-registry
(e.g., via the pending PR), updating all occurrences where "workflow:
osac-project-ofcir-baremetal-component" appears so they match a registered
workflow.

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/retest

@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-api-fields pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-cli-fields pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-creation pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-delete-during-provision pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-restart pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-restart-negative pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-subnet-lifecycle pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-virtual-network-lifecycle

Add 8 required vmaas E2E presubmit tests that run on every
fulfillment-service PR. Tests build the fulfillment-service
container image and osac CLI from the PR source, plus a modified
osac-installer image with the PR's manifests swapped in.
@omer-vishlitzky omer-vishlitzky force-pushed the MGMT-24194-fulfillment-service branch from 9d2144b to fcca8cc Compare May 4, 2026 10:05
@omer-vishlitzky
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-api-fields pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-cli-fields pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-creation pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-delete-during-provision pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-restart pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-compute-instance-restart-negative pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-subnet-lifecycle pull-ci-osac-project-fulfillment-service-main-e2e-metal-vmaas-virtual-network-lifecycle

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

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. 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