-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stack will not be deleted when prerequisite stack is missing #751
Comments
Thanks for the report, your findings ring true. You're responsible for the lifecycle of the Would a possible solution be to use Argo CD sync waves? I believe that, by using two distinct waves, the ordering will be preserved during creation and deletion. Could you give that a try? For example: apiVersion: pulumi.com/v1
kind: Stack
metadata:
name: stack-a
annotations:
argocd.argoproj.io/sync-wave: "1"
---
apiVersion: pulumi.com/v1
kind: Stack
metadata:
name: stack-b
annotations:
argocd.argoproj.io/sync-wave: "2"
spec:
prerequisites:
- name: stack-a |
Hi Eron, Thanks for your reply. I guess what you suggest for ArgoCD might work, but would make things complicated. As a user I would expect that when I configure dependencies, then the operator would respect order also when deleting objects. The pulumi operator currently only respects oder for creation. Why should I rely on another operator for deletion? Then I don't need it in the Pulumi Operator at all. The question is, why the Pulumi Operator does even check for existence of prerequisite stacks when destroying a stack and cancels the process when prerequisites are missing. From my point of view this is not necessary. For now we removed the prerequisite completely. Stacks with missing prerequisites are destroyed and for creation, they are retried, until the prerequisite is up. |
@beffe123 makes a good point:
When a Stack is deleted, the behavior varies based on the To be clear, when |
What happened?
When you have two stacks where one (stack A) is a prerequsite of the other (stack B), then stack B can't be deleted after stack A has been deleted. In other words, order is not maintained during deletion and it is not fault tolerant.
Example
Output from 'kubectl describe stack-b':
Output of
pulumi about
n/a
Additional context
Pulumi Operator versions tested:
This is especially a problem when using GitOps tools like Flux and ArgoCD.
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).
The text was updated successfully, but these errors were encountered: