mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-28 03:00:23 -07:00
vmware_deploy_ovf: Add cluster support (#43606)
When a datacenter has multiple clusters it is required to use the cluster name to find the correct default resource pool to import OVF images to. Fixes issue 42644. Signed-off-by: Michael Cronenworth <mike@cchtml.com>
This commit is contained in:
parent
ab76fcd18a
commit
8bf122e97f
1 changed files with 18 additions and 5 deletions
|
@ -31,6 +31,9 @@ options:
|
||||||
default: ha-datacenter
|
default: ha-datacenter
|
||||||
description:
|
description:
|
||||||
- Datacenter to deploy to.
|
- Datacenter to deploy to.
|
||||||
|
cluster:
|
||||||
|
description:
|
||||||
|
- Cluster to deploy to.
|
||||||
datastore:
|
datastore:
|
||||||
default: datastore1
|
default: datastore1
|
||||||
description:
|
description:
|
||||||
|
@ -138,8 +141,8 @@ from ansible.module_utils.basic import AnsibleModule
|
||||||
from ansible.module_utils.six import string_types
|
from ansible.module_utils.six import string_types
|
||||||
from ansible.module_utils.urls import generic_urlparse, open_url, urlparse, urlunparse
|
from ansible.module_utils.urls import generic_urlparse, open_url, urlparse, urlunparse
|
||||||
from ansible.module_utils.vmware import (HAS_PYVMOMI, connect_to_api, find_datacenter_by_name, find_datastore_by_name,
|
from ansible.module_utils.vmware import (HAS_PYVMOMI, connect_to_api, find_datacenter_by_name, find_datastore_by_name,
|
||||||
find_network_by_name, find_resource_pool_by_name, find_vm_by_name, gather_vm_facts,
|
find_network_by_name, find_resource_pool_by_name, find_vm_by_name, find_cluster_by_name,
|
||||||
vmware_argument_spec, wait_for_task, wait_for_vm_ip)
|
gather_vm_facts, vmware_argument_spec, wait_for_task, wait_for_vm_ip)
|
||||||
try:
|
try:
|
||||||
from ansible.module_utils.vmware import vim
|
from ansible.module_utils.vmware import vim
|
||||||
from pyVmomi import vmodl
|
from pyVmomi import vmodl
|
||||||
|
@ -282,6 +285,13 @@ class VMwareDeployOvf:
|
||||||
if not self.datacenter:
|
if not self.datacenter:
|
||||||
self.module.fail_json(msg='%(datacenter)s could not be located' % self.params)
|
self.module.fail_json(msg='%(datacenter)s could not be located' % self.params)
|
||||||
|
|
||||||
|
if self.params['cluster']:
|
||||||
|
cluster = find_cluster_by_name(self.si, self.params['cluster'])
|
||||||
|
if cluster is None:
|
||||||
|
self.module.fail_json(msg="Unable to find cluster '%(cluster)s'" % self.params)
|
||||||
|
else:
|
||||||
|
self.resource_pool = cluster.resourcePool
|
||||||
|
else:
|
||||||
self.resource_pool = find_resource_pool_by_name(self.si, self.params['resource_pool'])
|
self.resource_pool = find_resource_pool_by_name(self.si, self.params['resource_pool'])
|
||||||
if not self.resource_pool:
|
if not self.resource_pool:
|
||||||
self.module.fail_json(msg='%(resource_pool)s could not be located' % self.params)
|
self.module.fail_json(msg='%(resource_pool)s could not be located' % self.params)
|
||||||
|
@ -509,6 +519,9 @@ def main():
|
||||||
'datacenter': {
|
'datacenter': {
|
||||||
'default': 'ha-datacenter',
|
'default': 'ha-datacenter',
|
||||||
},
|
},
|
||||||
|
'cluster': {
|
||||||
|
'default': None,
|
||||||
|
},
|
||||||
'deployment_option': {
|
'deployment_option': {
|
||||||
'default': None,
|
'default': None,
|
||||||
},
|
},
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue