Skip to content
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

DiffConfig causes a replacement when a default provider is upgraded #288

Open
rquitales opened this issue Jan 15, 2025 · 0 comments
Open
Labels
kind/bug Some behavior is incorrect or out of spec

Comments

@rquitales
Copy link
Member

What happened?

This was identified in pulumi/pulumi-docker-build#404 where a Pulumi program using a default provider undergoes a replacement whenever the Pulumi program upgrades its provider version used.

The root cause identified is that an __internal field is added to inputs, but removed once we store the outputs in state. This library currently diffs against new inputs, and old state. This means that a replacement will always occur if the default provider is used and updated since __internal is always present in new inputs, but stripped in the old state.

We should either provide a way to have consumers of this library be able to customize this behavior, and pick what objects to diff against, or to only diff against inputs (which is what bridged providers do).

Example

pulumi/pulumi-docker-build#404

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).

@rquitales rquitales added kind/bug Some behavior is incorrect or out of spec needs-triage Needs attention from the triage team and removed needs-triage Needs attention from the triage team labels Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Some behavior is incorrect or out of spec
Projects
None yet
Development

No branches or pull requests

1 participant