Skip to content

Commit

Permalink
Moved logic to eliminate serial blueprint execution
Browse files Browse the repository at this point in the history
  • Loading branch information
jwcolbert committed Aug 17, 2017
1 parent 85bef58 commit c9558ce
Showing 1 changed file with 13 additions and 12 deletions.
25 changes: 13 additions & 12 deletions clc_ansible_module/clc_server_snapshot.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ def process_request(self):
server_ids=server_ids,
ignore_failures=ignore_failures)

self._wait_for_requests_to_complete(request_list)
self._wait_for_requests_to_complete(request_list, changed_servers)
return self.module.exit_json(
changed=changed,
server_ids=changed_servers,
Expand Down Expand Up @@ -314,16 +314,6 @@ def _delete_server_snapshot(self, server, ignore_failures):
server.id, ex.message
))

t_end = time.time() + 600
while time.time() < t_end:
if len(self.clc.v2.Server(server).GetSnapshots()) == 0:
break
if len(self.clc.v2.Server(server).GetSnapshots()) != 0:
if ignore_failures:
return None
else:
self.module.fail_json(msg='Failed to delete snapshot for server : {0}.'.format(
server.id))
return result

def ensure_server_snapshot_restore(self, server_ids, ignore_failures):
Expand Down Expand Up @@ -376,10 +366,11 @@ def _restore_server_snapshot(self, server, ignore_failures):
))
return result

def _wait_for_requests_to_complete(self, requests_lst):
def _wait_for_requests_to_complete(self, requests_lst, changed_servers):
"""
Waits until the CLC requests are complete if the wait argument is True
:param requests_lst: The list of CLC request objects
:param changed_servers: The list of servers that were changed
:return: none
"""
if not self.module.params['wait']:
Expand All @@ -391,6 +382,16 @@ def _wait_for_requests_to_complete(self, requests_lst):
self.module.fail_json(
msg='Unable to process server snapshot request')

if self.module.params['state'] == 'absent':
for server in changed_servers:
t_end = time.time() + 600
while time.time() < t_end:
if len(self.clc.v2.Server(server).GetSnapshots()) == 0:
break
if len(self.clc.v2.Server(server).GetSnapshots()) != 0:
self.module.fail_json(msg='Failed to delete snapshot for server : {0}.'.format(server))


@staticmethod
def define_argument_spec():
"""
Expand Down

0 comments on commit c9558ce

Please sign in to comment.