How to move on with Ansible & VMware vCloud Director

Hi there,

I wanted to discuss the situation with Ansible and VMware vCloud Director. I know things are changing at VMware regarding the Broadcom acquisition.

However, we are still using the ansible-module-vcloud-director which is based on the python library pyvcloud.

The repository of pyvcloud and ansible-module-vcloud-director has very recently been archived. There was not much response from any developer in the last months anyways.

I was not able to find any semi-official statement about what is going on or where to go from here but actions speak louder than words. Having a look at the official VMware account on GitHub I saw that for VMware vCloud Director a Terraform provider with its underlying Go library is still under active development.

Up to now, I did not check in detail on pyvmomi which is a library for VMware vSphere and used in the current vmware collections. Does this work with VMware vCloud Director?

I wanted to ask the community which way did you choose to work with vCloud Director? Are you still sticking to the archived modules? Did you start to update the old codebase inhouse? Did you migrate to Terraform?

As long as our cloud providers are using VMware vCloud Director, we need a solution to manage our virtual servers. But with the recent news, it sounds like VMware might be on track to be replaced in the next few years.


dev/architect for a large VCD-based cloud provider here,

The feedback we’ve gotten from vmware is that the pyvcloud module and associated ansible playbooks and CLI tooling are no longer supported and that the TF provider is the recommended solution. (The vsphere and pyvmomi toolsets are separate and do not interact with vcloud at all).

The deprecation of those modules was actually a pre-broadcom decision, and even before it was formally announced they were really only getting bugfixes, so we’d already mostly moved away from those modules as of a year or two ago and the deprecation was just a final push to remove the last few modules from our playbooks so we’re now fully on our own in-house collection.

Having worked with both pyvcloud and the vmware-provided modules, I wouldn’t recommend trying to fork unless you’re comfortable working with XML and are familiar with SOAP API patterns (the API is actually REST even in XML form, but, pyvcloud attempts to mirror pyvmomi, which interacts with vsphere SOAP api, its… fun).

The two best options are to either use Ansibles terraform modules to call into the still-supported TF provider, or, to create your own collection to replace the vmware one.

Alternatively, if your team would be interested in collaborating on the collection we have in place already, send me a DM so we can chat a bit about it and see if it’s feasible.

1 Like