← ClaudeAtlas

ocpvirt-provisionlisted

Phase 3 — build demo VMs on OpenShift Virtualization with Terraform and register them as managed hosts in AAP, ready for the daily-demo content to run against. Runs playbooks/provision_vm.yml. TRIGGER when: the user asks to provision, create, build or spin up demo VMs, wants a Linux or Windows VM for a demo, or asks for a specific size tier. SKIP: if the environment has never been set up — that is ocpvirt-setup — or if the user wants to destroy VMs, which is ocpvirt-teardown.
ericcames/sales.demos · ★ 1 · DevOps & Infrastructure · score 67
Install: claude install-skill ericcames/sales.demos
# ocpvirt-provision Phase 3. Runs `terraform/ocpvirt/` and registers the resulting VMs in AAP so the demo content has hosts to run against. This skill contains **no logic**. All the work is in [`playbooks/provision_vm.yml`](../../../playbooks/provision_vm.yml), which is the same playbook the `Linux Day 1 - 1 Provision` job template runs, with survey answers mapped to the same variable names. See `CLAUDE.md` → *Skills and playbooks*. **Prefer the job template when AAP is available** — it is the demo-able path and the one a customer sees. This skill is for when you are working ahead of AAP, or debugging a run without the controller in the way. ## The inputs are the contract | Variable | Values | Default | |---|---|---| | `vm_size_tier` | `small`, `medium`, `large` | `small` | | `os_type` | `linux`, `windows`, `both` | `linux` | | `vm_role` | `web`, `db`, `app` (1-8 lowercase alphanumeric) | `web` | | `vm_count` | `1` or `2` | `1` | These names are shared verbatim with the AAP survey and `terraform/ocpvirt/variables.tf`. Changing one means changing all three. **`vm_role` and `vm_count` build a farm (#389).** VMs are named `{role}-{os}-{index}` — `web-win-1`, `db-lnx-2` — and `vm_count=1` behaves exactly as a single-VM run always did. Two things follow that are easy to get wrong: - **Each role has its OWN Terraform state** (`secret_suffix=<env>-<os>-<role>`), the same way each OS has since #301. So `vm_role=db` cannot disturb a running `web` farm — and **a teardown mu