This repository hosts the cloud.vmware_ops
Ansible Collection.
The collection includes a variety of Ansible roles and playbooks to help automate the management of VMware.
This collection has been tested against following Ansible versions: >=2.14.0.
This collection requires Python 3.9 or greater.
Click on the name of a role to view that content's documentation:
Name | Description |
---|---|
cloud.vmware_ops.provision_vcenter | A role to provison Vcenter on ESXi host. |
cloud.vmware_ops.provision_vm | A role to create/manage virtual machines on VMware. |
cloud.vmware_ops.system_settings | A role to manage system settings on VMware. |
cloud.vmware_ops.cluster_settings | A role to define cluster settings in vCenter. |
cloud.vmware_ops.content_library | A role to manage VMWare content libaries. |
cloud.vmware_ops.deploy_ovf | A role to deploy a VM from an OVF file. |
cloud.vmware_ops.esxi_maintenance_mode | Either put an ESXI host in maintenance mode or take the host out of maintenance mode. |
cloud.vmware_ops.export_vm_as_ovf | A role to export a VM from VCenter or ESXi as an OVF. |
cloud.vmware_ops.info | A role that gather information from vCenter. |
cloud.vmware_ops.manage_folder | A role to create, delete, or update a folder or folder tree in VCenter. |
cloud.vmware_ops.provision_virtual_esxi | A role to provision one or more virtual ESXi hosts. |
cloud.vmware_ops.snapshot_management | A role to manages virtual machines snapshots in vCenter. |
cloud.vmware_ops.vcenter_host_connection | A role to add, remove, connect, disconnect, or reconnect an ESXi host from a VCenter. |
Name | Description |
---|---|
cloud.vmware_ops.provision_vcenter | A playbook to provison Vcenter on ESXi host. |
cloud.vmware_ops.system_settings | A playbook to manage system settings on VMware. |
cloud.vmware_ops.cluster_settings | A set of playbook to manage cluster settings. |
cloud.vmware_ops.esxi_management | A set of playbooks to manage esxi in a cluster. |
cloud.vmware_ops.provision_vcenter | A playbook to provision vCenter applicationm on ESXi host. |
cloud.vmware_ops.provision_vm | A set of playbooks to manage provisioning VM. |
cloud.vmware_ops.snapshot_management | A set of playbooks to manage VM snapshots on vCenter. |
cloud.vmware_ops.export_vm_as_ovf | A playbook to export vm as OVF file. |
cloud.vmware_ops.info | A playbook to gather information from vCenter. |
cloud.vmware_ops.manage_content_library | A playbook to manage content libraries in vCenter. |
cloud.vmware_ops.manage_folder | A playbook to manage folders in vCenter. |
The community.vmware (>=4.4.0), vmware.vmware_rest, vmware.vmware, community.general and ansible.posix collections MUST be installed in order for this collection to work.
To consume this Validated Content from Automation Hub, please ensure that you add the following lines to your ansible.cfg file.
[galaxy]
server_list = automation_hub
[galaxy_server.automation_hub]
url=https://cloud.redhat.com/api/automation-hub/
auth_url=https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token
token=<SuperSecretToken>
The token can be obtained from the Automation Hub Web UI.
Once the above steps are done, you can run the following command to install the collection.
ansible-galaxy collection install cloud.vmware_ops
Once installed, you can reference the cloud.vmware_ops collection content by its fully qualified collection name (FQCN), for example:
- hosts: localhost
roles:
- role: cloud.vmware_ops.system_settings
- Ansible Using collections for more details.
We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against this collection repository.
The project uses ansible-lint
and black
.
Assuming this repository is checked out in the proper structure,
e.g. collections_root/ansible_collections/cloud/vmware_ops/
, run:
tox -e linters
Sanity and unit tests are run as normal:
ansible-test sanity
Currently integration tests are using vcsim, which is VMware SOAP API simulator. So no external infrastructure is needed. Vcsim is executed in a podman container before the integration test is executed.
In order to run the integration tests, please follow:
make integration
GNU General Public License v3.0 or later
See LICENSE to see the full text.