You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
MGMT-22968: Add infrastructure-only mode and Landing Zone VM support
Add new 'infra_only' Makefile target and Landing Zone VM support to
dev-scripts, enabling creation of baremetal-like test infrastructure
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
2. Landing Zone VM support
- Added NUM_LANDINGZONE environment variable (default: 0)
- Configurable specs: LANDINGZONE_MEMORY (8192 MB), LANDINGZONE_DISK
(60 GB), LANDINGZONE_VCPU (4)
- Landing Zone VM has dual network access (BMC and cluster networks)
- Worker VMs use cluster network only when NUM_LANDINGZONE > 0
3. NetworkManager connection handling fix
- Fixed nmcli error when cluster network is managed by libvirt
- Suppress error if NetworkManager connection doesn't exist:
sudo nmcli con del ${BAREMETAL_NETWORK_NAME} 2>/dev/null || true
- Prevents make infra_only from failing in CI pipelines
4. Documentation
- Added "Infrastructure-Only Mode" section to README
- Added "Deploying with Landing Zone VMs" section to README
Use case: Testing external deployment tools (e.g., GoRI Lab) that need
infrastructure without cluster deployment.
Backward compatibility: All existing targets work unchanged. New variables
default to 0 (no Landing Zone VMs).
Copy file name to clipboardExpand all lines: README.md
+50Lines changed: 50 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -222,6 +222,29 @@ Then you can interact with the k8s API on the bootstrap VM e.g
222
222
You can also see the status of the bootkube.sh script which is running via
223
223
`journalctl -b -f -u bootkube.service`.
224
224
225
+
## Infrastructure-Only Mode
226
+
227
+
For testing external deployment tools or custom installers, you can use the `infra_only` target to create just the infrastructure without deploying an OpenShift cluster:
228
+
229
+
```
230
+
make infra_only
231
+
```
232
+
233
+
This will:
234
+
- Create libvirt VMs with configured specs
235
+
- Set up networking (provisioning + baremetal networks)
- Test external deployment tools (e.g., GoRI Lab, custom installers)
241
+
- Use the infrastructure for development without deploying OpenShift
242
+
- Have full control over the cluster installation process
243
+
244
+
After running `make infra_only`, you can deploy OpenShift using your own tooling and access the BMC endpoints via Redfish (port 8000) or IPMI (ports 6230+).
245
+
246
+
To clean up the infrastructure, use `make clean`.
247
+
225
248
## Interacting with the deployed cluster
226
249
227
250
Consider `export KUBECONFIG=<path-to-config>` to avoid using the `--kubeconfig` flag on each command.
@@ -452,6 +475,33 @@ in `config_$USER.sh` (check `config_example.sh` for recommended defaults):
452
475
#export WORKER_VCPU=4
453
476
```
454
477
478
+
### Deploying with Landing Zone VMs
479
+
480
+
Landing Zone VMs are special-purpose VMs that have access to both the BMC (provisioning)
481
+
and cluster (baremetal) networks. They are useful as deployment hosts for external
482
+
tooling that needs to manage worker nodes via BMC while also having access to the
483
+
cluster network.
484
+
485
+
To create Landing Zone VMs, set the following in `config_$USER.sh`:
486
+
487
+
```
488
+
# Create 1 Landing Zone VM
489
+
export NUM_LANDINGZONE=1
490
+
491
+
# Customize Landing Zone VM resources (optional)
492
+
export LANDINGZONE_MEMORY=8192 # 8 GB RAM
493
+
export LANDINGZONE_DISK=60 # 60 GB disk
494
+
export LANDINGZONE_VCPU=4 # 4 vCPUs
495
+
```
496
+
497
+
Network topology when using Landing Zone VMs:
498
+
- **Worker VMs**: Cluster network only (BMC network interface is automatically removed)
499
+
- **Landing Zone VMs**: Both BMC and cluster networks (dual-network access)
500
+
- **BMC emulation**: Runs on the host machine, accessible via the BMC network
501
+
502
+
This topology ensures proper network isolation while allowing the Landing Zone VM
503
+
to act as a bridge for deployment tools.
504
+
455
505
### Testing custom container images
456
506
dev-scripts uses an openshift release image that contains references to openshift
457
507
containers, any of these containers can be overridden by setting environment
0 commit comments