upbound / up

The @upbound CLI
Apache License 2.0
52 stars 41 forks source link

uxp uninstall fails after crossplane upgrade #187

Open plumbis opened 2 years ago

plumbis commented 2 years ago

What happened?

After using up uxp upgrade to upgrade an existing Crossplane install to UXP, using uxp uninstall fails.

vagrant@kubecontroller-01:~$ up uxp upgrade v1.7.0-up.1 -n crossplane-system

vagrant@kubecontroller-01:~$ kubectl get pods -n crossplane-system
NAME                                       READY   STATUS    RESTARTS      AGE
crossplane-797c7cd8b6-nnmgd                1/1     Running   0             51s
crossplane-rbac-manager-744b86cbcd-9gjrz   1/1     Running   0             51s
upbound-bootstrapper-5bbdbf758b-kdrk6      1/1     Running   0             51s
xgql-666f97f4cf-4d4sp                      1/1     Running   1 (43s ago)   51s

vagrant@kubecontroller-01:~$ up uxp uninstall -n crossplane-system
up: error: uninstall: Release not loaded: universal-crossplane: release: not found

vagrant@kubecontroller-01:~$ helm list -n crossplane-system
NAME        NAMESPACE           REVISION    UPDATED                                 STATUS      CHART                           APP VERSION
crossplane  crossplane-system   2           2022-06-07 17:35:19.286032018 +0000 UTC deployed    universal-crossplane-1.7.0-up.1 1.7.0-up.1

How can we reproduce it?

Install Crossplane v1.7.0

kubectl create namespace crossplane-system

helm repo add crossplane-stable https://charts.crossplane.io/stable
helm repo update

helm install crossplane --namespace crossplane-system crossplane-stable/crossplane --version 1.7.0

Upgrade to UXP 1.7.0-up.1
up uxp upgrade v1.7.0-up.1 -n crossplane-system

Uninstall UXP
up uxp uninstall -n crossplane-system

What environment did it happen in?

Crossplane + Upbound v1.7.0 Up CLI v0.11.0

plumbis commented 2 years ago

From triage with @hasheddan

we are failing uninstall because the release is named crossplane instead of universal-crossplane it looks like

hasheddan commented 2 years ago

We should make this a bit easier, but you can work around this today by using the --force flag.