community.vmware 6.4.0 Released - Whats New and How to Test
Introduction
community.vmware is the Ansible collection that provides modules and plugins for automating VMware vSphere infrastructure, covering vCenter, ESXi hosts, clusters, datastores, virtual machines, and content libraries. It is one of the most widely used collections for private cloud and virtualization automation with Ansible.
Version 6.4.0 has been published on Ansible Galaxy, bumping up from 6.3.0. Unlike a typical patch release, this version does not add new modules or fix bugs directly. Instead, it formally deprecates a large batch of internal module_utils functions and methods that are used across many modules in the collection. All of these deprecations are tracked under a single pull request, PR #2599, and are scheduled for removal in community.vmware 8.0.0.
Whats New
Deprecated module_utils Functions and Methods
The following functions and methods in plugins.module_utils.vmware and plugins.module_utils.vmware_rest_client are now marked as deprecated. They still work in 6.4.0, but playbook authors and, more importantly, module and role developers relying on these internals should plan a migration path before community.vmware 8.0.0 ships.
| Module | Deprecated symbol | Type | Removal target |
|---|---|---|---|
module_utils.vmware | find_host_by_cluster_datacenter | function | 8.0.0 |
module_utils.vmware | vmware_argument_spec | function | 8.0.0 |
module_utils.vmware | PyVmomi.get_all_hosts_by_cluster | method | 8.0.0 |
module_utils.vmware | PyVmomi.get_folder_path | method | 8.0.0 |
module_utils.vmware | PyVmomi.vcenter_version_at_least | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_cluster_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_datacenter_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_datastore_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_host_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_library_item_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_library_item_from_content_library_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_resource_pool_by_name | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.get_tags_for_cluster | method | 8.0.0 |
module_utils.vmware_rest_client | VMwareRestClient.vmware_client_argument_spec | method | 8.0.0 |
All fourteen deprecations point back to the same source: PR #2599, which consolidates internal cleanup of the vmware and vmware_rest_client module_utils in preparation for a larger refactor planned for the 8.0.0 major release.
Impact on Existing Playbooks
End users writing standard playbooks and roles that only call the public modules (e.g. community.vmware.vmware_guest, community.vmware.vmware_host_facts, etc.) are not directly affected, since these are internal helper functions consumed by the modules themselves, not part of the public playbook-facing API. However, anyone maintaining custom modules, action plugins, or forks that import directly from community.vmware.plugins.module_utils.vmware or vmware_rest_client should start looking for replacement APIs before 8.0.0 lands, since these calls will start raising DeprecationWarning in supported Ansible-core versions and will be removed outright afterward.
Installation and Verification
Upgrade the collection to 6.4.0 with ansible-galaxy and confirm the installed version.
# Install/upgrade community.vmware to 6.4.0
ansible-galaxy collection install community.vmware:6.4.0 --force
# Verify the installed version
ansible-galaxy collection list community.vmware
# Inspect the changelog directly from the installed collection
ansible-doc --list community.vmware | head -20
# Trigger deprecation warnings by running a module that uses the deprecated helpers
ANSIBLE_DEPRECATION_WARNINGS=True ansible-playbook -i localhost, my_vmware_test.yml -vvv
If managing dependencies through a requirements.yml file, pin the version explicitly:
cat <<'EOF' > requirements.yml
collections:
- name: community.vmware
version: 6.4.0
EOF
ansible-galaxy collection install -r requirements.yml
Conclusion
community.vmware 6.4.0 is primarily a deprecation-notice release: no new modules, no bugfixes, just a formal heads-up that fourteen internal module_utils functions and methods will disappear in community.vmware 8.0.0. Regular playbook users can upgrade without any action required, while collection and module maintainers building on top of community.vmware should track PR #2599 and plan their migration ahead of the next major version.