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
Clean up handling of check-related graph nodes #32051
Commits on Oct 19, 2022
-
-
-
outputs should not be checked during destroy
Module output may need to be evaluated during destroy in order to possibly be used by providers. The final state however is that all objects are destroyed, so preconditions should not be evaluated.
-
complete the root output expansion
Not all root output instances were going through proper expansion when destroy operations were involved, leading to cases where they would be evaluated even though the expected result was only to remove them from the state. Normally destroy nodes stand alone in the graph, and do not produce references to other nodes. Because root output nodes were replaced by expansion nodes, these were being connected via normal references, even in the case where we were working with a destroy graph.
-
remove IsFullDestroy workaround
IsFullDestroy was a workaround during apply to detect when the change set was created by a destroy plan. This no longer works correctly, and we need to fall back to the UIMode set in the plan.
-
The removeRootOutputs field was not strictly used for that purpose, and was also copied to another DestroyPlan field.
-
-
-
-
the destroy refresh plan should be refresh-only
Refreshing for a destroy should use the refresh-only plan to avoid planning new objects or evaluating conditions. This should also be skipped if there is no state, since there would be nothing to refresh.
-
Commits on Oct 20, 2022
-
-
NoOp nodes should not have destroy edges
NoOp changes should not participate in a destroy sequence, but because they are included as normal update nodes the usual connections were still being made.
-
-
-