Load EVE-NG Images (HyOps)¶
- Purpose: Stage and install EVE-NG images from URL, local, or remote sources onto an existing EVE-NG host.
- Trigger: Initial lab content load, curriculum refresh, or controlled image catalog update.
- Impact: Writes under
/opt/unetlab/addonson the target EVE-NG host. -
Severity: P2 Pre-reqs: Base EVE-NG service is already ready, SSH access works, and source paths or URLs are approved.
-
Rollback strategy: Run
hyops destroywith expliciteveng_images_destroy_paths, or rebuild the host from a clean baseline if broad image cleanup is required.
Context¶
This runbook covers platform/linux/eve-ng-images, the content-layer module used after platform/linux/eve-ng is ready.
Supported source modes:
urllocalremote
The module is intentionally separate from the base EVE-NG blueprint so shared, academy, and instructor lanes can reuse the same foundation with different image catalogs.
Preconditions and safety checks¶
- Correct environment selected (
--env dev|staging|prod). - Base EVE-NG module state is
ok. - Source images are approved for the target lane.
- URL downloads are reachable, or local/remote sources are accessible from the execution runner.
- For destructive cleanup,
eveng_images_destroy_pathsonly contains paths under/opt/unetlab/addons/.
Steps¶
-
Validate inputs
hyops validate --env dev \ --module platform/linux/eve-ng-images \ --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-images/examples/inputs.min.yml" -
Preflight
hyops preflight --env dev --strict \ --module platform/linux/eve-ng-images \ --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-images/examples/inputs.min.yml" -
Apply
hyops apply --env dev \ --module platform/linux/eve-ng-images \ --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-images/examples/inputs.min.yml" -
Verify state
cat $HOME/.hybridops/envs/dev/state/modules/platform__linux__eve-ng-images/latest.json
Check:
statusisokoutputs.cap.lab.eveng.imagesis present-
outputs.eveng_images_requested_countmatches the intended batch -
Controlled cleanup
hyops destroy --env dev \ --module platform/linux/eve-ng-images \ --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-images/examples/inputs.min.yml"
Verification¶
- Target host contains the expected image directories under
/opt/unetlab/addons/. - State file:
$HOME/.hybridops/envs/<env>/state/modules/platform__linux__eve-ng-images/latest.json - Logs:
$HOME/.hybridops/envs/<env>/logs/module/platform__linux__eve-ng-images/<run_id>/
Post-actions and clean-up¶
- Remove temporary staging or controller-side source files if they were created for one-off imports.
- Update curriculum or inventory references if image names changed.
- Keep image runs separate from lab-content runs so troubleshooting stays clean.