Skip to content

Fixing Cloud Functions 2nd generation creation failure state inconsistency#8545

Merged
zli82016 merged 1 commit into
GoogleCloudPlatform:mainfrom
havasik:cfgen2-taintonfailure
Aug 7, 2023
Merged

Fixing Cloud Functions 2nd generation creation failure state inconsistency#8545
zli82016 merged 1 commit into
GoogleCloudPlatform:mainfrom
havasik:cfgen2-taintonfailure

Conversation

@havasik

@havasik havasik commented Aug 3, 2023

Copy link
Copy Markdown
Contributor

Currently whenever a Cloud Function gen2 creation fails, the state is kept empty, which causes subsequent TF apply runs to fail with "the function already exists". This change addresses this by adding the taint_resource_on_failed_create MMv1 parameter to the resource. Fixes hashicorp/terraform-provider-google#13535.

If this PR is for Terraform, I acknowledge that I have:

  • Searched through the issue tracker for an open issue that this either resolves or contributes to, commented on it to claim it, and written "fixes {url}" or "part of {url}" in this PR description. If there were no relevant open issues, I opened one and commented that I would like to work on it (not necessary for very small changes).
  • Ensured that all new fields I added that can be set by a user appear in at least one example (for generated resources) or third_party test (for handwritten resources or update tests).
  • Generated Terraform providers, and ran make test and make lint in the generated providers to ensure it passes unit and linter tests.
  • Ran relevant acceptance tests using my own Google Cloud project and credentials (If the acceptance tests do not yet pass or you are unable to run them, please let your reviewer know).
  • Read Write release notes before writing my release note below.

Release Note Template for Downstream PRs (will be copied)

cloudfunctions2: fixed creation failure TF state inconsistency in `google_cloudfunctions2_function`

@google-cla

google-cla Bot commented Aug 3, 2023

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@modular-magician

Copy link
Copy Markdown
Collaborator

Hello! I am a robot. It looks like you are a community contributor. @zli82016, a repository maintainer, has been assigned to review your changes. If you have not received review feedback within 2 business days, please leave a comment on this PR asking them to take a look.

You can help make sure that review is quick by doing a self-review and by running impacted tests locally.

@modular-magician modular-magician added awaiting-approval Pull requests that need reviewer's approval to run presubmit tests and removed awaiting-approval Pull requests that need reviewer's approval to run presubmit tests labels Aug 3, 2023
@modular-magician

Copy link
Copy Markdown
Collaborator

Hi there, I'm the Modular magician. I've detected the following information about your changes:

Diff report

Your PR generated some diffs in downstreams - here they are.

Terraform GA: Diff ( 1 file changed, 3 deletions(-))
Terraform Beta: Diff ( 1 file changed, 3 deletions(-))
TF Conversion: Diff ( 2 files changed, 3 insertions(+), 3 deletions(-))

@modular-magician

Copy link
Copy Markdown
Collaborator

Tests analytics

Total tests: 2930
Passed tests 2628
Skipped tests: 302
Affected tests: 0

$\textcolor{green}{\textsf{All tests passed in REPLAYING mode.}}$
View the build log

@zli82016 zli82016 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

google_cloudfunctions2_function created in GCP but not stored in tfstate if in failed state

3 participants