Skip to content

MGMT-22968: Add infrastructure-only mode and Landing Zone VM support#1846

Open
eliorerz wants to merge 2 commits intoopenshift-metal3:masterfrom
eliorerz:MGMT-22968-infra-only-landing-zone
Open

MGMT-22968: Add infrastructure-only mode and Landing Zone VM support#1846
eliorerz wants to merge 2 commits intoopenshift-metal3:masterfrom
eliorerz:MGMT-22968-infra-only-landing-zone

Conversation

@eliorerz
Copy link

This commit adds a new infra_only Makefile target and support for Landing Zone VMs to dev-scripts. This enables users to create baremetal-like test infrastructure (VMs, networks, BMC emulation) without deploying an OpenShift cluster.

Changes:

  1. New infra_only Makefile target

    • Runs 'requirements' and 'configure' steps only
    • Stops before cluster deployment (build_installer, ironic, etc.)
    • Useful for testing external deployment tools (GoRI Lab, custom installers)
  2. Landing Zone VM support

    • Added NUM_LANDINGZONE environment variable (default: 0)
    • Added landingzone flavor with configurable specs:
      • LANDINGZONE_MEMORY (default: 8192 MB)
      • LANDINGZONE_DISK (default: 60 GB) * LANDINGZONE_VCPU (default: 4)
    • Landing Zone VM acts as deployment host with dual network access
  3. Network topology fix for Landing Zone use case

    • Worker VMs: cluster network only (BMC network removed)
    • Landing Zone VM: both BMC and cluster networks
    • Ensures proper network isolation for testing scenarios
    • Only applies when NUM_LANDINGZONE > 0
  4. Documentation updates

    • Added "Infrastructure-Only Mode" section to README
    • Added "Deploying with Landing Zone VMs" section to README
    • Documented network topology and use cases

Use case: Testing external deployment tools that need infrastructure without cluster deployment, such as GoRI Lab for bare metal OpenShift installations.

Backward compatibility: All existing targets (default, agent, assisted) work unchanged. New variables default to 0 (no Landing Zone VMs).

This commit adds a new 'infra_only' Makefile target and support for
Landing Zone VMs to dev-scripts. This enables users to create
baremetal-like test infrastructure (VMs, networks, BMC emulation)
without deploying an OpenShift cluster.

Changes:

1. New 'infra_only' Makefile target
   - Runs 'requirements' and 'configure' steps only
   - Stops before cluster deployment (build_installer, ironic, etc.)
   - Useful for testing external deployment tools (GoRI Lab, custom installers)

2. Landing Zone VM support
   - Added NUM_LANDINGZONE environment variable (default: 0)
   - Added landingzone flavor with configurable specs:
     * LANDINGZONE_MEMORY (default: 8192 MB)
     * LANDINGZONE_DISK (default: 60 GB)
     * LANDINGZONE_VCPU (default: 4)
   - Landing Zone VM acts as deployment host with dual network access

3. Network topology fix for Landing Zone use case
   - Worker VMs: cluster network only (BMC network removed)
   - Landing Zone VM: both BMC and cluster networks
   - Ensures proper network isolation for testing scenarios
   - Only applies when NUM_LANDINGZONE > 0

4. Documentation updates
   - Added "Infrastructure-Only Mode" section to README
   - Added "Deploying with Landing Zone VMs" section to README
   - Documented network topology and use cases

Use case: Testing external deployment tools that need infrastructure
without cluster deployment, such as GoRI Lab for bare metal OpenShift
installations.

Backward compatibility: All existing targets (default, agent, assisted)
work unchanged. New variables default to 0 (no Landing Zone VMs).
@openshift-ci openshift-ci bot requested review from celebdor and mkowalski January 28, 2026 23:06
@openshift-ci openshift-ci bot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 28, 2026
@openshift-ci
Copy link

openshift-ci bot commented Jan 28, 2026

Hi @eliorerz. Thanks for your PR.

I'm waiting for a openshift-metal3 member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

@eliorerz
Copy link
Author

FYI @carbonin

@mkowalski
Copy link
Member

/ok-to-test

@openshift-ci openshift-ci bot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 29, 2026
@mkowalski
Copy link
Member

/approve

AFAIK what you call "landing zone vm" is called "bastion host" and "landing zone" itself is "everything in my cloud subscription what can possibly interact with each other.

But it's just a naming so whatever works for you, works

@openshift-ci
Copy link

openshift-ci bot commented Jan 29, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mkowalski

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 Jan 29, 2026
@eliorerz
Copy link
Author

/retest

…workManager

When MANAGE_BR_BRIDGE=y and the cluster network is managed by libvirt
(not NetworkManager), the `nmcli con del` command fails because the
connection doesn't exist in NetworkManager.

This causes make infra_only to exit with error, breaking CI pipelines.

Fix: Suppress error if NetworkManager connection doesn't exist:
  sudo nmcli con del ${BAREMETAL_NETWORK_NAME} 2>/dev/null || true

This allows the script to continue successfully whether the NetworkManager
connection exists or not.
@eliorerz
Copy link
Author

eliorerz commented Feb 3, 2026

/retest

@dtantsur
Copy link
Member

dtantsur commented Feb 4, 2026

/retest

@elfosardo
Copy link
Member

/retest
failures do not seem related to the patch

@openshift-ci
Copy link

openshift-ci bot commented Feb 4, 2026

@eliorerz: The following tests 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/prow/e2e-metal-ipi-serial-ipv4-2of2 fd911c0 link true /test e2e-metal-ipi-serial-ipv4-2of2
ci/prow/e2e-metal-ipi-serial-ipv4-1of2 fd911c0 link true /test e2e-metal-ipi-serial-ipv4-1of2
ci/prow/e2e-metal-ovn-arbiter fd911c0 link false /test e2e-metal-ovn-arbiter
ci/prow/e2e-metal-ipi-ovn-dualstack fd911c0 link false /test e2e-metal-ipi-ovn-dualstack
ci/prow/e2e-metal-ipi-bm-bond fd911c0 link false /test e2e-metal-ipi-bm-bond
ci/prow/e2e-metal-ipi-ovn-ipv6 fd911c0 link true /test e2e-metal-ipi-ovn-ipv6
ci/prow/e2e-metal-ipi-virtualmedia fd911c0 link false /test e2e-metal-ipi-virtualmedia
ci/prow/e2e-agent-compact-ipv4-iso-no-registry fd911c0 link false /test e2e-agent-compact-ipv4-iso-no-registry
ci/prow/e2e-agent-ha-dualstack fd911c0 link false /test e2e-agent-ha-dualstack
ci/prow/e2e-metal-ipi-serial-ovn-ipv6 fd911c0 link false /test e2e-metal-ipi-serial-ovn-ipv6

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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants