Skip to content

HOWTO: Provision the Control Node

Purpose: Bootstrap the control node using the HybridOps module so it is ready to run the full automation stack.

Difficulty: Intermediate

Track: Platform Services


Overview

The control node is the automation anchor for the HybridOps platform. Before any module run, blueprint, or CI/CD job can execute, the control node must be correctly provisioned with the right tools, credentials, and connectivity. This HOWTO covers that bootstrap path.


1. Module Overview

  • Module ID: platform/onprem/control-node.
  • Installed components: HybridOps CLI, Ansible, Nornir, Python environment, Jenkins controller.
  • Idempotency: safe to re-run for configuration drift correction.

2. Prerequisites

  • VM provisioned in management VLAN with a static IP from IPAM.
  • Secrets manager accessible from the control node VM.
  • Base VM image from core/onprem/template-image.

3. Module Inputs

  • Control node VM IP and SSH credentials.
  • HybridOps CLI version.
  • Jenkins version and plugin list.
  • Secrets manager endpoint and bootstrap credential reference.
  • Repo root path on the control node.

4. Bootstrap Sequence

  • HybridOps CLI installation and version confirmation.
  • Python environment setup with Ansible and Nornir.
  • Jenkins controller installation and initial configuration.
  • Secrets manager client wiring.
  • SSH key deployment for managed hosts.

5. Validation

  • hyops --version returns expected version.
  • Ansible inventory smoke test.
  • Nornir connectivity test to at least one managed host.
  • Jenkins controller accessible at management IP.
  • Run record: all steps ok.

6. Post-Bootstrap Configuration

  • Registering the control node in NetBox.
  • Configuring the Jenkins credential store.
  • Setting up the initial pipeline for inventory export.

References


License: MIT-0 for code, CC-BY-4.0 for documentation unless otherwise stated.