Documentation
¶
Overview ¶
Package dellpowerflex provisions the host-side virtualization stack used by the Dell PowerFlex all-in-one lab: a bare-metal RHEL9 host (m5.metal) that runs nested libvirt guests (the PFMP appliance plus MDM/SDS VMs) on its EBS root, with the Datadog Agent + dell_powerflex check running on the host.
This component is responsible only for the deterministic, idempotent host preparation that can run unattended at create time:
- install qemu-kvm / libvirt / virt-install / libguestfs-tools (dnf)
- enable + start libvirtd and verify hardware KVM (/dev/kvm)
- define an isolated libvirt NAT network with fixed DHCP reservations so the host Agent can reach PFMP at a stable URL (10.55.0.20:443)
Everything beyond this point (pulling the PFMP OVA + el9 RPMs from S3, OVA->qcow2 conversion, the PFMP first-boot wizard, building the nested MDM/SDS scli cluster, registering the system into PFMP, and snapshotting a golden AMI) is DEFERRED to live exploration. It depends on live-only unknowns (appliance console mode, install_PFMP.sh prompts, single-node PFMP support) and must not be implemented blind. The deferred steps are captured as TODO stubs here and as an operator-driven bootstrap.sh in this directory; the live runbook is .agint/labs/dell-powerflex/research/metal-nested.md.
Index ¶
Constants ¶
const ( // PFMPReservedIP is the libvirt-NAT DHCP reservation for the PFMP Gateway. // The host Agent's dell_powerflex check targets https://PFMPReservedIP:443. PFMPReservedIP = "10.55.0.20" )
Variables ¶
This section is empty.
Functions ¶
func InstallVirtStack ¶
func InstallVirtStack(e config.Env, host *remoteComp.Host, opts ...pulumi.ResourceOption) (command.Command, error)
InstallVirtStack prepares the bare-metal host so it can run nested libvirt guests. It returns the last command in the ordered chain so callers can make the Agent (and any later bootstrap) depend on host readiness.
All commands are idempotent so repeated `pulumi up` runs (and golden-AMI relaunches) converge rather than fail.
Types ¶
This section is empty.