Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive CI/CD improvements including QEMU-based integration testing, unit test coverage, and test execution metrics. Replaces direct deployment testing with isolated VM-based
tests and adds unit tests to the CI pipeline.
Motivation and Context
The previous CI approach directly modified the runner system, which was risky and could cause failures. This PR introduces isolated QEMU VM testing for safer integration tests and
adds unit test coverage to catch regressions early.
Changes Made
QEMU Integration Testing
qemu-disk-test.shscript for VM-based testing with 8 NVMe devicesyqfor pass/fail validationTest Metrics & Reporting
bloom testcommandduration_ms) and human-readable formatUnit Tests
TestSetupAndCheckRocmStep- Check Skip() before Action()TestCreateMetalLBConfigStep- Check Skip() before Action()TestSetupKubeConfig- Check Skip() before Action()TestPrepareLonghornDisksStep- Use NO_DISKS_FOR_CLUSTER flagTestInotifyInstancesStep- Skip when not running as rootTestGenerateNodeLabels- Remove subtests requiring /etc/rancher pathsTestOIDCConfigTemplateexpectations to match actual codeInstallation Improvements
CreateBloomConfigMapStepafterWaitForClusterReadyfor better reliabilityCreateBloomConfigMapStepUpdateModprobeStepfor non-GPU nodesType of Change
Testing
Test Coverage
All unit tests in
./pkgnow pass without requiring root privileges or modifying the host system.Testing Instructions
go test ./pkgBreaking Changes
None
Checklist
Performance Impact
CI/CD Changes
Additional Notes
The QEMU-based approach provides true isolation for integration testing, allowing safe execution on shared CI runners without risk of system modification.