pluralsh/plural-cli

Destroy command stops early due to error

Opened this issue · 1 comments

Summary

plural destroy does not complete successfully b/c it gets stuck on some error along the way when destroying the monitoring application

Run it the first time:

[plural] plural destroy
? Are you sure you want to destroy this workspace? Yes

Destroying application jitsu
helm get values jitsu -n jitsu ~> ..✓
helm del jitsu -n jitsu ~> ..✓
terraform init -upgrade ~> ..........✓
terraform destroy -auto-approve ~> ..........✓

Destroying application console
helm get values console -n console ~> ..✓
helm del console -n console ~> ..✓
terraform init -upgrade ~> ....................✓
terraform destroy -auto-approve ~> .............................✓

Destroying application redis
helm get values redis -n redis ~> ...✓
helm del redis -n redis ~> ..✓
terraform init -upgrade ~> ........✓
terraform destroy -auto-approve ~> ........W1025 10:08:53.472336   90357 gcp.go:120] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.25+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
.....✓

Destroying application monitoring
helm get values monitoring -n monitoring ~> ..✓
helm del monitoring -n monitoring ~> ..
Output:

W1025 10:09:27.690286   90693 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Error: uninstallation completed with 1 error(s): unable to build kubernetes object for deleting hook monitoring/charts/monitoring/charts/vpa/templates/admission-controller-cleanup.yaml: resource mapping not found for name: "monitoring-vpa-cleanup" namespace: "" from "": no matches for kind "ClusterRoleBinding" in version "rbac.authorization.k8s.io/v1beta1"
ensure CRDs are installed first

retrying command, number of retries remaining: 2
helm del monitoring -n monitoring ~> ..
Output:

W1025 10:09:33.637251   90694 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Error: uninstall: Release not loaded: monitoring: release: not found

2022/10/25 10:09:34 exit status 1

Run it again

[plural] plural destroy
? Are you sure you want to destroy this workspace? Yes

Destroying application jitsu
helm get values jitsu -n jitsu ~> ..
Output:

W1025 10:10:09.515519   90746 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Error: release: not found

retrying command, number of retries remaining: 2
helm get values jitsu -n jitsu ~> ..
Output:

W1025 10:10:10.644994   90766 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Error: release: not found

retrying command, number of retries remaining: 1
helm get values jitsu -n jitsu ~> ..
Output:

W1025 10:10:10.906112   90769 gcp.go:119] WARNING: the gcp auth plugin is deprecated in v1.22+, unavailable in v1.26+; use gcloud instead.
To learn more, consult https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke
Error: release: not found

retrying command, number of retries remaining: 0
Helm already uninstalled, continuing...
terraform init -upgrade ~> .........✓
terraform destroy -auto-approve ~> .......✓
2022/10/25 10:10:19 remove /Users/bradley/Projects/plural/jitsu/deploy.hcl: no such file or directory

Reproduction

  1. Build and deploy Plural with bundles console-gcp and jitsu-gcp on Google Cloud
  2. Destroy it using plural destroy

Message from the maintainers:

Impacted by this bug? Give it a 👍. We factor engagement into prioritization.

Error: release: not found gets thrown for each application it attempts to delete I think (and it gets printed multiple times per app b/c of the retries)

I was able to get it to complete (seemingly successfully) by creating various deploy.hcl files that it was trying to delete. It was exiting early since they didn't exist, at least in subsequent destroy attempts.
touch console/deploy.hcl
touch jitsu/deploy.hcl
touch redis/deploy.hcl