vmpooler-provider-vsphere
- vmpooler-provider-vsphere
- Usage
- Custom VM Config Attribute
- Update the Gemfile Lock
- Releasing
- License
- Usage
This is a provider for VMPooler allows using vSphere as a source of machines. This provider was originally part of the main VMPooler code base but was extracted to be a standalone gem so that development could be done independently of VMPooler itself.
Usage
Include this gem in the same Gemfile that you use to install VMPooler itself and then define one or more pools with the provider
key set to vsphere
. VMPooler will take care of the rest.
Examples of deploying VMPooler with this provider can be found in the puppetlabs/vmpooler-deployment repository.
Custom VM Config Attribute
This provider sets a custom attribute on the VM called guestinfo.hostname
to the name of the generated VM, which can be queried from inside the guest OS if VMware Tools is isntalled. For example:
macOS: "/Library/Application Support/VMware Tools/vmware-tools-daemon" --cmd "info-get guestinfo.hostname"
Linux or Windows Guest: vmtoolsd --cmd "info-get guestinfo.hostname"
See the VMware Tools Administration docs for more information about querying information from the GuestInfo variable.
Update the Gemfile Lock
To update the Gemfile.lock
run ./update-gemfile-lock
.
Verify, and update if needed, that the docker tag in the script and GitHub action workflows matches what is used in the vmpooler-deployment Dockerfile.
Releasing
Follow these steps to publish a new GitHub release, and build and push the gem to https://rubygems.org.
- Bump the "VERSION" in
lib/vmpooler-provider-vsphere/version.rb
appropriately based on changes inCHANGELOG.md
since the last release. - Run
./release-prep
to updateGemfile.lock
andCHANGELOG.md
. - Commit and push changes to a new branch, then open a pull request against
main
and be sure to add the "maintenance" label. - After the pull request is approved and merged, then navigate to Actions --> Release Gem --> run workflow --> Branch: main --> Run workflow.
License
vmpooler-provider-vsphere is distributed under the Apache License, Version 2.0. See the LICENSE file for more details.