Skip to content

Releases: noahfarshad/vcf-import-prep

v1.2.0 — The image is taken from a host before the enable

Choose a tag to compare

@noahfarshad noahfarshad released this 24 Oct 15:35

The first ESXi 8 cluster behind a 9.1.1 vCenter, continued: the cluster had been created before its hosts joined, so it had no vLCM image - nothing was in the inventory to seed it from - and the VCF import refuses a baseline-managed cluster.

deploy_vc.py's image step now sets the desired image before the one-way enable, from a host already in the cluster, over the documented calls behind Setup Image > Import image from a host: the depot import from the host, the specification it returns as a draft, the commit, then the enablement check and the enable. The desired image is what the hosts run, so nothing is non-compliant and nothing is remediated; the specification is kept as evidence. The objects step seeds a fresh vCenter's first cluster from the site's first host, which joins the cluster as it is created. cluster.image_seed_from: auto (the default), a host name, or none. 289 self-test checks; the conversion sequence is exercised call by call against a stubbed REST side, and the plan sends nothing.

Built and proved out for essential.coach.
Full write-up: https://essential.coach/importing-esxi-8-into-vcf-9-1/

GPL-3.0. Example names only. Nothing secret is printed.

v1.1.1 — The switch is created at a version the hosts can join

Choose a tag to compare

@noahfarshad noahfarshad released this 23 Oct 21:46

The first ESXi 8 cluster built behind a 9.1.1 vCenter: the appliance deployed, the cluster formed, the hosts joined, NTP was set, and the host attach to the distributed switch failed with "the operation is not supported on the object". A vCenter left to choose builds the newest switch it can, version 9 here, and an ESXi 8 host cannot join one.

deploy_vc.py now creates the switch at network.vds_version, 8.0.3 unless set, and blocks the vds step when a switch already exists at another version, naming both, because a distributed switch is upgraded one way only: delete it in the vSphere Client and run the step again. A per-site esx: block replaces the shared one for a site whose hosts run a different build. A configured vmkernel gateway that is missing on a host is now set on commit and read back; one nobody asked for is still only reported. 264 self-test checks.

Built and proved out for essential.coach.
Full write-up: https://essential.coach/importing-esxi-8-into-vcf-9-1/

GPL-3.0. Example names only. Nothing secret is printed.

v1.1.0 — host_release.py, routed vmkernel gateways, the second-adapter guard

Choose a tag to compare

@noahfarshad noahfarshad released this 23 Oct 20:38

host_release.py joins deploy_vc.py: release ESXi hosts from the vCenter they are in today so esx_ready.sh can prep them for the one they are going to. Seven phases read from live inventory, check, evacuate, drain, disks, uncluster, nsx, release; survey, plan, apply --commit, verify. It refuses an evacuation that would leave the source vSAN under 25% free, a host found outside the cluster the config names, a cluster every host is leaving unless --dissolve is said out loud, and a host still carrying an N-VDS or TEP vmkernels, for which it prints the nsx_cleanup.py command instead. 158 self-test checks. The source: block lives in the same env file as the destination, so one file describes both ends of a move.

deploy_vc.py learns network.vmotion.gateway and network.vsan.gateway for routed vMotion or vSAN, refuses to add a second vmkernel on a portgroup where the host already has one at another address, and its self-test is 256 checks.

Built and proved out for essential.coach.
Full write-up: https://essential.coach/importing-esxi-8-into-vcf-9-1/

GPL-3.0. Example names only. Nothing secret is printed.

v1.0.0 — Initial public release

Choose a tag to compare

@noahfarshad noahfarshad released this 16 Oct 19:38

Initial public release.

Builds a vSphere 8 cluster outside VCF to the point VCF 9.1 imports it as a workload domain, in fourteen steps from one YAML file: DNS, host build, vcsa deploy or upgrade, cluster, hosts, NTP, VDS, vmkernels, management migration, vSAN, vLCM image, SSH, import prerequisites. Plan by default; --commit writes; --only runs one step. 246 self-test checks need no environment.

Built and proved out for essential.coach.
Full write-up: https://essential.coach/importing-esxi-8-into-vcf-9-1/

GPL-3.0. Example names only. Nothing secret is printed.