mirror of https://github.com/pulumi/pulumi.git
035a502d86
<!--- Thanks so much for your contribution! If this is your first time contributing, please ensure that you have read the [CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md) documentation. --> # Description <!--- Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. --> This updates test_plan.go to verify that every partial snapshot is also a valid snapshot. This tests that the journal always writes out _valid_ snapshots even for scenarios where an update only partially ran. While doing this it flagged up that the validation code was wrong for delete-before-create resources. When we do a delete-before-create replacement we need to leave the "being replaced" resource in the snapshot. This is because while that resource is being replaced it might have dependents that are not being replaced, and so there is a period of time where _it_ is deleted but dependents are still referring to it. If we removed it from the snapshot at this point those dependent resources would not validate. But in the case of two resources both being delete-before-create replaced you can have a scenario where both get deleted (but are still in the snapshot file) and the first then gets created thus removing it's old entry from the snapshot file and adding it's new state. If the first resource was a provider that will change it's ID, thus making the provider reference in the second resource now look invalid. |
||
---|---|---|
.. | ||
analyzer | ||
deploy | ||
edit | ||
graph | ||
provider | ||
stack | ||
testdata |