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

External changes report can fail with schema migrations and -target #32900

Merged
merged 2 commits into from Mar 28, 2023

Conversation

jbardin
Copy link
Member

@jbardin jbardin commented Mar 21, 2023

When creating a plan under the following conditions:

  • A provider has been upgraded with changes to the schema
  • There are external changes to resources outside of terraform
  • The -target flag is being used
  • Resources which are not targeted require a schema migration

The un-targeted resources will not have been migrated to a new schema and cannot be decoded from the prior state for the external changes report.

Since there is no way to decode these resources which have been excluded via -target, we can only skip over them when inspecting driftedResources. Return warnings for now to indicate that these resources could not be decoded and users will need to eventually apply these changes.

Fixes #31052

In the case where a provider has been upgraded, and there are external
changes to resources outside of terraform, and -target is being used,
and resources which are not targeted require a schema migration; the
untargeted resources will not have been migrated and cannot be decoded for the
external changes report.

Since there is no way to decode the resources which have been excluded
via -target, we can only skip over them when inspecting
driftedResources. Return warnings for now to indicate that these
resources could not be decoded to help indicate that users will need to
eventually apply these changes.
@jbardin jbardin added the 1.4-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged label Mar 21, 2023
@jbardin jbardin requested a review from a team March 21, 2023 17:05
Copy link
Member

@alisdair alisdair left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Always fun to delete "this should never happen" comments when it turns out that in fact it can happen.

@jbardin jbardin merged commit fdb00b9 into main Mar 28, 2023
4 checks passed
@jbardin jbardin deleted the jbardin/target-drift-upgrade branch March 28, 2023 19:50
@github-actions
Copy link

Reminder for the merging maintainer: if this is a user-visible change, please update the changelog on the appropriate release branch.

@github-actions
Copy link

I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions.
If you have found a problem that seems related to this change, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.4-backport If you add this label to a PR before merging, backport-assistant will open a new PR once merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drift detection does not take targeting into account when decoding state
2 participants