diff --git a/lib/ansible/module_utils/ovirt.py b/lib/ansible/module_utils/ovirt.py index fface397089..2114e93d609 100644 --- a/lib/ansible/module_utils/ovirt.py +++ b/lib/ansible/module_utils/ovirt.py @@ -541,6 +541,7 @@ class BaseModule(object): fail_condition=lambda e: False, search_params=None, update_params=None, + _wait=None, **kwargs ): """ @@ -621,7 +622,7 @@ class BaseModule(object): service=entity_service, condition=state_condition, fail_condition=fail_condition, - wait=self._module.params['wait'], + wait=_wait if _wait is not None else self._module.params['wait'], timeout=self._module.params['timeout'], poll_interval=self._module.params['poll_interval'], ) diff --git a/lib/ansible/modules/cloud/ovirt/ovirt_vm.py b/lib/ansible/modules/cloud/ovirt/ovirt_vm.py index fe722233cb8..f0ecc91752c 100644 --- a/lib/ansible/modules/cloud/ovirt/ovirt_vm.py +++ b/lib/ansible/modules/cloud/ovirt/ovirt_vm.py @@ -2087,6 +2087,7 @@ def main(): if module.params['xen'] or module.params['kvm'] or module.params['vmware']: vms_module.changed = import_vm(module, connection) + # In case of wait=false and state=running, waits for VM to be created # In case VM don't exist, wait for VM DOWN state, # otherwise don't wait for any state, just update VM: ret = vms_module.create( @@ -2095,6 +2096,7 @@ def main(): update_params={'next_run': module.params['next_run']} if module.params['next_run'] is not None else None, clone=module.params['clone'], clone_permissions=module.params['clone_permissions'], + _wait=True if not module.params['wait'] and state == 'running' else module.params['wait'], ) # If VM is going to be created and check_mode is on, return now: if module.check_mode and ret.get('id') is None: