-
Notifications
You must be signed in to change notification settings - Fork 43
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
Provider panics when resource creation fails without a valid state #2706
Labels
impact/regression
Something that used to work, but is now broken
kind/bug
Some behavior is incorrect or out of spec
p1
A bug severe enough to be the next item assigned to an engineer
resolution/fixed
This issue was fixed
Comments
VenelinMartinov
added
impact/regression
Something that used to work, but is now broken
kind/bug
Some behavior is incorrect or out of spec
labels
Dec 10, 2024
VenelinMartinov
added
the
p1
A bug severe enough to be the next item assigned to an engineer
label
Dec 10, 2024
flostadler
added a commit
to pulumi/pulumi-aws
that referenced
this issue
Dec 10, 2024
This reverts commit 316ee6a. Rolling back 3.97.0 due to pulumi/pulumi-terraform-bridge#2706
VenelinMartinov
added a commit
that referenced
this issue
Dec 10, 2024
Additional tests for failure modes in `provider.go`'s `Create` method. This would have caught #2706
This issue has been addressed in PR #2707 and shipped in release v3.97.1. |
VenelinMartinov
added a commit
that referenced
this issue
Dec 11, 2024
In the SDKv2 bridge under PlanResourceChange we are not passing any state we receive during TF Apply back to the engine if we also received an error. This causes us to incorrectly miss any resources which were created but encountered errors during the creation process. The engine should see these as ResourceInitError, which allows the engine to attempt to update the partially created resource on the next up. This PR fixes the issue by passing the state down to the engine in the case when we receive an error and a non-nil state from TF during Apply. This is the second attempt at this. The first was #2695 but was reverted because it caused a different panic: #2706. We added a regression test for that in #2710 The reason for that panic was that we were now creating a non-nil `InstanceState` with a nil `stateValue` which causes the `ID` function to panic. This PR fixes both issues by not allowing non-nil states with nil `stateValue`s and by preventing the panic in `ID`. There was also a bit of fun with go nil interfaces along the way, which is the reason why `ApplyResourceChange` now returns a `shim.InstanceState` interface instead of a `*v2InstanceState2`. Otherwise we end up creating a non-nil interface with a nil value. related to pulumi/pulumi-gcp#2700 related to pulumi/pulumi-aws#4759 fixes #2696
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
impact/regression
Something that used to work, but is now broken
kind/bug
Some behavior is incorrect or out of spec
p1
A bug severe enough to be the next item assigned to an engineer
resolution/fixed
This issue was fixed
What happened?
Likely a consequence of #2695
The provider panics when creating a resource fails. Hit this on GCP 8.10.1 with bridge version 3.97.0
Example
Output of
pulumi about
.
Additional context
No response
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: