Skip to content

Verify EVE-NG Health (HyOps)

  • Purpose: Run structured EVE-NG health checks and publish a concise HyOps health result.
  • Trigger: Post-deploy validation, scheduled operational checks, or controlled content refresh validation.
  • Impact: Reads host, service, API, and optional image/lab state; does not alter platform configuration beyond report generation.
  • Severity: P2 Pre-reqs: Base EVE-NG service is ready, SSH access works, and EVENG_ADMIN_PASSWORD is available through shell env or runtime vault.

  • Rollback strategy: None required; this is a validation module.

Context

This runbook covers platform/linux/eve-ng-healthcheck, the validation layer for an existing EVE-NG host.

Supported levels:

  • basic
  • images
  • full

Use lower levels for frequent smoke checks and the full level for controlled audits or before publishing a training lane.

Preconditions and safety checks

  • Correct environment selected (--env dev|staging|prod).
  • Base EVE-NG module state is ok.
  • EVENG_ADMIN_PASSWORD is available via shell env or runtime vault.
  • If health_check_images or health_check_labs is enabled, the corresponding content layer has already been applied.
  • load_vault_env defaults to true, so missing admin-password seeding now fails during validate/preflight rather than during the role run.

Steps

  1. Seed required secret if not already present

    hyops secrets set --env dev EVENG_ADMIN_PASSWORD='...'
    
  2. Validate inputs

    hyops validate --env dev \
      --module platform/linux/eve-ng-healthcheck \
      --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-healthcheck/examples/inputs.min.yml"
    
  3. Preflight

    hyops preflight --env dev --strict \
      --module platform/linux/eve-ng-healthcheck \
      --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-healthcheck/examples/inputs.min.yml"
    
  4. Apply

    hyops apply --env dev \
      --module platform/linux/eve-ng-healthcheck \
      --inputs "$HYOPS_CORE_ROOT/modules/platform/linux/eve-ng-healthcheck/examples/inputs.min.yml"
    
  5. Verify state

    cat $HOME/.hybridops/envs/dev/state/modules/platform__linux__eve-ng-healthcheck/latest.json
    

Check:

  • status is ok
  • outputs.cap.lab.eveng.health is present
  • outputs.eveng_health_status reflects the expected lane status

Verification

  • State file: $HOME/.hybridops/envs/<env>/state/modules/platform__linux__eve-ng-healthcheck/latest.json
  • Logs: $HOME/.hybridops/envs/<env>/logs/module/platform__linux__eve-ng-healthcheck/<run_id>/
  • Optional controller-side reports, if enabled, land under the configured var/lib/hybridops/reports/eveng-healthcheck or var/log/hybridops/eveng-healthcheck paths.

Post-actions and clean-up

  • Archive or publish the health report only when it supports a specific review or release gate.
  • Re-run after any image or lab rollout that materially changes the host.
  • Use health_check_fail_on_warning: true only when the lane should block on warnings.

References