Skip to content

REQ 021

sergio velderrain edited this page Nov 9, 2026 · 1 revision

REQ-021: Ubuntu-LabVIEW orchestration supports dual Linux/Windows host adapters

Requirement

The Ubuntu-LabVIEW provisioning workflow shall support running its own orchestration from either a Linux or a Windows self-hosted provisioner host, with behaviorally equivalent Linux (build-virtualbox.sh) and Windows (build-virtualbox.ps1) adapter scripts taking the same identity parameters (VmName/VM_NAME, BaseFolder/BASEFOLDER, SshHostPort/SSH_HOST_PORT, GuestFullName/GUEST_FULLNAME, GuestHostname/GUEST_HOSTNAME). Parity is at the adapter-script/parameter level specifically, not phase-by-phase: 6 of provision-ubuntu-vm.yml's 10 real phases (inspect-public, console-fingerprint, repair-ssh-console, restart-public, repair-public, resume-public) are deliberately one-OS-only per .github/scripts/validate-vm-provisioning-dispatch.py's own WINDOWS_ONLY_PHASES/LINUX_ONLY_PHASES sets.

Rationale

The host that happens to be available to run the orchestrator should not constrain which guest OS family can be provisioned, for the phases both hosts are expected to run.

Fit Criterion

provision-ubuntu-vm.yml's runs-on is computed from the runner_os dispatch input (linux or windows); its "Validate Linux Adapter Plan"/"Validate Windows Adapter Plan" steps are mutually exclusive on runner.os and invoke the two adapter scripts with the same parameter set.

Verification

Code review of provision-ubuntu-vm.yml's dual adapter-plan validation steps and validate-vm-provisioning-dispatch.py's phase/OS sets.

Source

Software-Requirements-Specification

Priority

Medium

TestID

TEST-021

TestArtifact

Code review of the mutually-exclusive adapter-plan validation steps

CodeRef

.github/workflows/provision-ubuntu-vm.yml, vm/ubuntu-labview/build-virtualbox.sh/.ps1

Status

Verified (manual)

Clone this wiki locally