Skip to content

redhat-cop/cloud.vmware_ops

Repository files navigation

cloud.vmware_ops roles/playbooks for VMware

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.

Ansible version compatibility

This collection has been tested against following Ansible versions: >=2.14.0.

Python version compatibility

This collection requires Python 3.9 or greater.

Included content

Click on the name of a role to view that content's documentation:

Roles

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.

Playbooks

Name Description
cloud.vmware_ops.provision_vcenter A playbook to provison Vcenter on ESXi host.
cloud.vmware_ops.provision_vm A playbook to create/manage virtual machines on VMware.
cloud.vmware_ops.system_settings A playbook to manage system settings on VMware.

Installation and Usage

Requirements

The community.vmware, vmware.vmware_rest and community.general collections MUST be installed in order for this collection to work.

Installation

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

Using this collection

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

See Also

Contributing to this collection

We welcome community contributions to this collection. If you find problems, please open an issue or create a PR against this collection repository.

Testing and Development

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

Integration Tests

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

License

GNU General Public License v3.0 or later

See LICENSE to see the full text.