diff options
author | Ondra Machacek <machacek.ondra@gmail.com> | 2017-06-09 17:45:19 +0200 |
---|---|---|
committer | Ryan Brown <sb@ryansb.com> | 2017-06-09 11:45:19 -0400 |
commit | 603d52f8febdf6ffa2362d10cd1ad180060bddf0 (patch) | |
tree | 4121b4eddefb79de8aa8f02c15d1b15b0fb869fd /lib | |
parent | a1ceb1c4044b682d550631a19387f3c7280f7214 (diff) | |
download | ansible-603d52f8febdf6ffa2362d10cd1ad180060bddf0.tar.gz |
cloud: ovirt: Fix upgraded state of the ovirt_hosts module (#25535)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ansible/modules/cloud/ovirt/ovirt_hosts.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/ansible/modules/cloud/ovirt/ovirt_hosts.py b/lib/ansible/modules/cloud/ovirt/ovirt_hosts.py index 0090835f2f..bb9b5ab97a 100644 --- a/lib/ansible/modules/cloud/ovirt/ovirt_hosts.py +++ b/lib/ansible/modules/cloud/ovirt/ovirt_hosts.py @@ -178,6 +178,7 @@ host: returned: On success if host is found. ''' +import time import traceback try: @@ -307,6 +308,7 @@ def control_state(host_module): condition=lambda host: host.status == hoststate.MAINTENANCE, fail_condition=failed_state, ) + return host def main(): @@ -350,7 +352,7 @@ def main(): ) state = module.params['state'] - control_state(hosts_module) + host = control_state(hosts_module) if state == 'present': hosts_module.create( deploy_hosted_engine=( @@ -374,10 +376,12 @@ def main(): ) ret = hosts_module.create() elif state == 'upgraded': + result_state = hoststate.MAINTENANCE if host.status == hoststate.MAINTENANCE else hoststate.UP ret = hosts_module.action( action='upgrade', action_condition=lambda h: h.update_available, - wait_condition=lambda h: h.status == hoststate.UP, + wait_condition=lambda h: h.status == result_state, + post_action=lambda h: time.sleep(module.params['poll_interval']), fail_condition=failed_state, ) elif state == 'started': |