ovirt_vms: Fix the module to work with check mode (#37916)
Fixes: https://github.com/ansible/ansible/issues/36712
This commit is contained in:
parent
0a17adb3df
commit
17928ff666
2 changed files with 22 additions and 18 deletions
|
@ -581,29 +581,30 @@ class BaseModule(object):
|
||||||
self.post_create(entity)
|
self.post_create(entity)
|
||||||
self.changed = True
|
self.changed = True
|
||||||
|
|
||||||
# Wait for the entity to be created and to be in the defined state:
|
if not self._module.check_mode:
|
||||||
entity_service = self._service.service(entity.id)
|
# Wait for the entity to be created and to be in the defined state:
|
||||||
|
entity_service = self._service.service(entity.id)
|
||||||
def state_condition(entity):
|
|
||||||
return entity
|
|
||||||
|
|
||||||
if result_state:
|
|
||||||
|
|
||||||
def state_condition(entity):
|
def state_condition(entity):
|
||||||
return entity and entity.status == result_state
|
return entity
|
||||||
|
|
||||||
wait(
|
if result_state:
|
||||||
service=entity_service,
|
|
||||||
condition=state_condition,
|
def state_condition(entity):
|
||||||
fail_condition=fail_condition,
|
return entity and entity.status == result_state
|
||||||
wait=self._module.params['wait'],
|
|
||||||
timeout=self._module.params['timeout'],
|
wait(
|
||||||
poll_interval=self._module.params['poll_interval'],
|
service=entity_service,
|
||||||
)
|
condition=state_condition,
|
||||||
|
fail_condition=fail_condition,
|
||||||
|
wait=self._module.params['wait'],
|
||||||
|
timeout=self._module.params['timeout'],
|
||||||
|
poll_interval=self._module.params['poll_interval'],
|
||||||
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'changed': self.changed,
|
'changed': self.changed,
|
||||||
'id': entity.id,
|
'id': getattr(entity, 'id', None),
|
||||||
type(entity).__name__.lower(): get_dict_of_struct(
|
type(entity).__name__.lower(): get_dict_of_struct(
|
||||||
struct=entity,
|
struct=entity,
|
||||||
connection=self._connection,
|
connection=self._connection,
|
||||||
|
|
|
@ -1933,8 +1933,11 @@ def main():
|
||||||
clone=module.params['clone'],
|
clone=module.params['clone'],
|
||||||
clone_permissions=module.params['clone_permissions'],
|
clone_permissions=module.params['clone_permissions'],
|
||||||
)
|
)
|
||||||
vms_module.post_present(ret['id'])
|
# If VM is going to be created and check_mode is on, return now:
|
||||||
|
if module.check_mode and ret.get('id') is None:
|
||||||
|
module.exit_json(**ret)
|
||||||
|
|
||||||
|
vms_module.post_present(ret['id'])
|
||||||
# Run the VM if it was just created, else don't run it:
|
# Run the VM if it was just created, else don't run it:
|
||||||
if state == 'running':
|
if state == 'running':
|
||||||
initialization = vms_module.get_initialization()
|
initialization = vms_module.get_initialization()
|
||||||
|
|
Loading…
Reference in a new issue