Tolerate 404 errors during resource deletion to handle already delete… #2590
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes #2188
This PR introduces changes to handle "404 Not Found" errors during the deletion of Kubernetes resources, particularly in cases where the resource may have already been deleted by an operator managing the CRD before Terraform attempts to delete it.
Changes Introduced:
Added logic to check for IsNotFound(err) when calling Delete on resources.
If a "404 Not Found" error is encountered, it is now treated as a successful deletion and logged as "Resource
already deleted, ignoring 404 error".
Other errors during deletion will continue to be handled as before.
Acceptance tests
Output from acceptance testing:
Warning: Resource "elasticsearch" was already deleted
│
│ The resource "elasticsearch" was not found in the Kubernetes API. This may be due to the resource being already deleted.
╵
╷
│ Warning: Resource "elasticsearch-es-elastic-user" was already deleted
│
│ The resource "elasticsearch-es-elastic-user" was not found in the Kubernetes API. This may be due to the resource being already deleted.
╵
Destroy complete! Resources: 3 destroyed.
Release Note
Release note for CHANGELOG:
References
Community Note