summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorOndra Machacek <machacek.ondra@gmail.com>2017-06-09 17:45:19 +0200
committerRyan Brown <sb@ryansb.com>2017-06-09 11:45:19 -0400
commit603d52f8febdf6ffa2362d10cd1ad180060bddf0 (patch)
tree4121b4eddefb79de8aa8f02c15d1b15b0fb869fd /lib
parenta1ceb1c4044b682d550631a19387f3c7280f7214 (diff)
downloadansible-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.py8
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':