fix: disable parallel operations for Pulumi as backend does not support that, yet
This commit is contained in:
parent
7d6135e099
commit
e74bca7199
@ -342,21 +342,39 @@ def _render(stacks):
|
|||||||
logger.info("{} uses Pulumi, render skipped.".format(s.stackname))
|
logger.info("{} uses Pulumi, render skipped.".format(s.stackname))
|
||||||
|
|
||||||
|
|
||||||
|
def _anyPulumi(step):
|
||||||
|
for stack in step:
|
||||||
|
if stack.mode == "pulumi":
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def _provision(cb, stacks):
|
def _provision(cb, stacks):
|
||||||
"""Utility function to reuse code between tasks"""
|
"""Utility function to reuse code between tasks"""
|
||||||
for step in sort_stacks(cb, stacks):
|
for step in sort_stacks(cb, stacks):
|
||||||
if step:
|
if step:
|
||||||
with ThreadPoolExecutor(max_workers=len(step)) as group:
|
# if there are any Pulumi stacks in the step execute serial
|
||||||
futures = []
|
if _anyPulumi(step):
|
||||||
for stack in step:
|
for stack in step:
|
||||||
status = stack.get_status()
|
status = stack.get_status()
|
||||||
if not status:
|
if not status:
|
||||||
futures.append(group.submit(stack.create))
|
stack.create()
|
||||||
else:
|
else:
|
||||||
futures.append(group.submit(stack.update))
|
stack.update()
|
||||||
|
|
||||||
for future in as_completed(futures):
|
else:
|
||||||
future.result()
|
with ThreadPoolExecutor(max_workers=len(step)) as group:
|
||||||
|
futures = []
|
||||||
|
for stack in step:
|
||||||
|
status = stack.get_status()
|
||||||
|
if not status:
|
||||||
|
futures.append(group.submit(stack.create))
|
||||||
|
else:
|
||||||
|
futures.append(group.submit(stack.update))
|
||||||
|
|
||||||
|
for future in as_completed(futures):
|
||||||
|
future.result()
|
||||||
|
|
||||||
|
|
||||||
cli.add_command(render)
|
cli.add_command(render)
|
||||||
|
Loading…
Reference in New Issue
Block a user