Introduction
This guide shows you the best way to list all the virtual machines within your VMware infrastructure using Ansible. I’ll provide a live Playbook and some simple Ansible code. Welcome to today’s episode of Ansible Pilot—I’m Luca Berton.
Ansible Dynamic Inventory for VMware
- Functionality: Dynamically retrieves virtual machines as inventory hosts from the VMware environment.
- Plugin:
community.vmware.vmware_vm_inventory
- Dependencies: Python
pyVmomi
,requests
, and vSphere Automation SDK
The VMware dynamic inventory plugin interacts with VMware APIs to dynamically manage nodes with Ansible. The community.vmware.vmware_vm_inventory
plugin, part of the community-supported collection, allows you to run Ansible automation across your VMware virtual machines.
Links
Demo
Let’s configure Ansible Dynamic Inventory for VMware to list all virtual machines in your VMware infrastructure as an Ansible inventory.
Configuration Files
ansible.cfg:
[inventory] enable_plugins = vmware_vm_inventory
inventory.vmware.yml:
plugin: vmware_vm_inventory strict: False hostname: vmware.example.com username: [email protected] password: MySecretPassword123 validate_certs: False with_tags: False groups: VMs: True
Listing Hosts
- Command:
$ ansible-inventory -i inventory.vmware.yml --list
- Output:
{ "VMs": { "hosts": [ "myvm_42254893-3793-0e4f-9f61-7c37d244c2a8" ] }, "_meta": { "hostvars": { "myvm_42254893-3793-0e4f-9f61-7c37d244c2a8": { "config": { ... }, ... } } }, "all": { "children": [ "VMs", ... ] }, ... }
Graphing Hosts
- Command:
$ ansible-inventory -i inventory.vmware.yml --graph
- Output:
@all: |--@VMs: | |--myvm_42254893-3793-0e4f-9f61-7c37d244c2a8 |--@centos64Guest: | |--myvm_42254893-3793-0e4f-9f61-7c37d244c2a8 |--@poweredOff: | |--myvm_42254893-3793-0e4f-9f61-7c37d244c2a8
Conclusion
Now you know how to configure Ansible Dynamic Inventory for VMware, enabling you to automate and manage your VMware virtual machines efficiently.
Subscribe to the YouTube channel, Medium, and Website, X (formerly Twitter) to not miss the next episode of the Ansible Pilot.Academy
Learn the Ansible automation technology with some real-life examples in my Udemy 300+ Lessons Video Course.
My book Ansible By Examples: 200+ Automation Examples For Linux and Windows System Administrator and DevOps
Donate
Want to keep this project going? Please donate