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

Disable delete for bare metal admin cluster resource #8823

Conversation

naitianliu-google
Copy link
Contributor

@naitianliu-google naitianliu-google commented Aug 31, 2023

Fixes hashicorp/terraform-provider-google#15766

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)

baremetal: make delete a noop for the resource `google_bare_metal_admin_cluster` to better align with actual behavior

@modular-magician
Copy link
Collaborator

Hello! I am a robot. It looks like you are a: Community Contributor Googler Core Contributor. Tests will run automatically.

@ScottSuarez, 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
Copy link
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, 1 insertion(+), 1 deletion(-))
Terraform Beta: Diff ( 4 files changed, 6 insertions(+), 235 deletions(-))

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3008
Passed tests 2711
Skipped tests: 296
Affected tests: 1

Action taken

Found 1 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccDataprocClusterIamPolicy

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccDataprocClusterIamPolicy[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{green}{\textsf{All tests passed!}}$
View the build log or the debug log for each test

@ScottSuarez
Copy link
Contributor

Is there context or an existing bug for this change ?

@naitianliu-google
Copy link
Contributor Author

Is there context or an existing bug for this change ?

Here is the bug for more context. b/298059927

Currently the delete operation maps to the unenroll API because we do not have the delete API method to clean up the admin cluster resource and all its dependencies. However, customers may feel confused after running terraform destroy but the admin cluster resource is not actually deleted. After the internal discussion, we decide to map the delete operation to no-op in TF and guide users to manually delete admin cluster resource in the doc.

Please let me know if further clarification is needed. @ScottSuarez

ScottSuarez
ScottSuarez previously approved these changes Sep 7, 2023
Copy link
Contributor

@ScottSuarez ScottSuarez left a comment

Choose a reason for hiding this comment

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

Actually, upon examination. Could you further explain the changes here. What does unenroll do? What is the existing behavior. This could be quite problematic for out testing environment if we have a lot of resources that don't get cleaned up

@ScottSuarez ScottSuarez self-requested a review September 7, 2023 17:53
@ScottSuarez ScottSuarez dismissed their stale review September 7, 2023 17:53

need further clarification

@ScottSuarez
Copy link
Contributor

After talking with my team this is a breaking change per
https://googlecloudplatform.github.io/magic-modules/develop/breaking-changes/#resource-level-breaking-changes

And will need to be make in MAJOR release

@naitianliu-google
Copy link
Contributor Author

Actually, upon examination. Could you further explain the changes here. What does unenroll do? What is the existing behavior. This could be quite problematic for out testing environment if we have a lot of resources that don't get cleaned up

Unenroll only removes the resource from cloud storage and leave it locally while it is expected to remove resource from both storage and local environments. This is why we decide to skip delete in TF and guide users to manually delete the resource.

Agree it may causes test issues without delete method. Could you please help guide if it is feasible to resolve this, e.g. custom tests?

@naitianliu-google
Copy link
Contributor Author

After talking with my team this is a breaking change per https://googlecloudplatform.github.io/magic-modules/develop/breaking-changes/#resource-level-breaking-changes

And will need to be make in MAJOR release

Thanks for the guidance. Could you please help estimate the date of next MAJOR release?

@ScottSuarez
Copy link
Contributor

We are in the process of 5.0.0 release. You can make this change against the 5.0.0 branch provided you write an upgrade guide.

@naitianliu-google
Copy link
Contributor Author

We are in the process of 5.0.0 release. You can make this change against the 5.0.0 branch provided you write an upgrade guide.

Thanks for the guidance!

@c2thorn
Copy link
Member

c2thorn commented Sep 7, 2023

@naitianliu-google Can you also add a Github Issue describing the problem that this solves? For 5.0.0 tracking purposes

@naitianliu-google
Copy link
Contributor Author

@naitianliu-google Can you also add a Github Issue describing the problem that this solves? For 5.0.0 tracking purposes

Thanks for the guidance! Added this issue for tracking: hashicorp/terraform-provider-google#15766

@naitianliu-google naitianliu-google changed the base branch from main to FEATURE-BRANCH-major-release-5.0.0 September 7, 2023 20:53
@ScottSuarez
Copy link
Contributor

Wanted to check on the upgrade guide. Apologies if you're already aware/working on this. I see no issue with the PR though since we are merging into the FEATURE branch.

@naitianliu-google
Copy link
Contributor Author

Wanted to check on the upgrade guide. Apologies if you're already aware/working on this. I see no issue with the PR though since we are merging into the FEATURE branch.

Thanks for the guide. Updated the upgrade guide in this PR. Please help take a look. Thanks!

@c2thorn
Copy link
Member

c2thorn commented Sep 22, 2023

hi @naitianliu-google can you remove the upgrade guide in this PR and move it to a PR going into main?

@naitianliu-google
Copy link
Contributor Author

hi @naitianliu-google can you remove the upgrade guide in this PR and move it to a PR going into main?

Thanks for the guidance. Split the change to the PR #9090

@modular-magician
Copy link
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, 1 insertion(+), 1 deletion(-))
Terraform Beta: Diff ( 4 files changed, 6 insertions(+), 235 deletions(-))

@modular-magician
Copy link
Collaborator

Tests analytics

Total tests: 3084
Passed tests 2768
Skipped tests: 314
Affected tests: 2

Action taken

Found 2 affected test(s) by replaying old test recordings. Starting RECORDING based on the most recent commit. Click here to see the affected tests
TestAccDataprocCluster_withNodeGroupAffinity|TestAccSpannerDatabaseIamPolicy

Get to know how VCR tests work

@modular-magician
Copy link
Collaborator

$\textcolor{green}{\textsf{Tests passed during RECORDING mode:}}$
TestAccSpannerDatabaseIamPolicy[Debug log]

Rerun these tests in REPLAYING mode to catch issues

$\textcolor{green}{\textsf{No issues found for passed tests after REPLAYING rerun.}}$


$\textcolor{red}{\textsf{Tests failed during RECORDING mode:}}$
TestAccDataprocCluster_withNodeGroupAffinity[Error message] [Debug log]

$\textcolor{red}{\textsf{Please fix these to complete your PR.}}$
View the build log or the debug log for each test

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.

4 participants