A failure in a parent stack blocks permanently children stacks that refer to an output

Given a dependency between a parent stack and a group of children stacks:

  1. The parent stack run fails (it becomes the last one in the stack runs)

  2. All children stacks with dependency references to any parent output get blocked with the following message:
    job assignment failed: the following inputs are missing: <parent_stack>:<output> => <child_input>

However, you can clearly see the output value in the parent stack.

The issue is that the child stack is not able to get the output value when the latest run has failed.

  • Why the output is not available in the parent stack when it fails.

  • Why the outputs don't match with the state at any time? It will be in the state anyway.

Real example:

  1. We are creating a bucket in a parent stack.

  2. The bucket is recreated from another account so we have to wait until AWS drops the name reservation.

  3. In the meantime though, we can't use any child stack that depends on any output from the parent stack (regardless if the output is related to the bucket issue or not).

This is at all not how Spacelift should behave from my understanding. No child stack should be blocked if the parent stack contains the output in the terraform state, regardless of the parent’s last stack run status.

Otherwise, a single change in one stack (a simple failure), will always block other children stacks for no reason.


More context in here (internal link): https://app.clickup.com/t/8695ecwy4

Workaround
Just wait or fix as quick as possible the parent stack failure. No real workaround is available.
Problem
Issues inside a stack blocks all children stacks that use an output from the parent

Please authenticate to join the conversation.

Upvoters
Status

βœ… Completed

Board

πŸ’‘ Feature Requests

Tags

Stacks

Date

Over 1 year ago

Subscribe to post

Get notified by email when there are changes.