This article will guide you implement automation on the deployment procedure of a VMware infrastructure. In more detail the ansible project that is listed on the bottom of the page will deploy VMs from a list that you provide on your VMware hypervisor.
The dependencies that are necessary for this solution to work are:
The community.vmware plugin which can be installed with:
ansible-galaxy collection install community.vmware
the PyVmomi package which can be installed with pip or pip3 with the command:
sudo pip3 install pyvmomi
The project consists of the below components:
- deploy.yml which is the base script that performs the deployment.
- ansible.cfg and inventory which are not useful for this example
- secrets.yml which is an ansible vault that contains secrets and passwords
- vms.yml which is the list of the VMs that we want to create.
You can run the example by using prompt so that you input the ansible vault password.
ansible-playbook deploy.yml --vault-id=@prompt
After the successful run you will get the newly created vms on the folder you specified (in my example ansible folder within the vcenter server)