datawire / ambassador-chart

Helm Chart for Installing Ambassador
42 stars 60 forks source link

Helm upgrade failed -- unable to recognize "": no matches for kind "ProjectController" #125

Closed jvergara-runbuggy closed 4 years ago

jvergara-runbuggy commented 4 years ago

The helm upgrade for ambassador is failing. This is just from a patch version to the next version. Can you guys check the helm upgrade tests you have? I see other issues related to Helm upgrades and they have not being addressed.

the current chart I have is:

NAME       REVISION UPDATED                   STATUS CHART             APP VERSION   NAMESPACE
ambassador     2        Mon Jun  8 23:33:23 2020 DEPLOYED ambassador-6.4.2  1.5.1        ambassador

I am using the following helm version:

helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.7", GitCommit:"5f2584fd3d35552c4af26036f0c464191287986b", GitTreeState:"clean"}

The upgrade command issued is:

helm upgrade ambassador datawire/ambassador --version 6.4.3

The result is the following:

UPGRADE FAILED
Error: unable to recognize "": no matches for kind "ProjectController" in version "getambassador.io/v2"
Error: UPGRADE FAILED: unable to recognize "": no matches for kind "ProjectController" in version "getambassador.io/v2"

Thanks in advance to the attention to this matter,

jvergara-runbuggy commented 4 years ago

I tried to upgrade to higher version and it worked.

helm upgrade ambassador datawire/ambassador --version 6.4.5

Still I have a question. Do I have to enter the license key any time after upgrading?

cakuros commented 4 years ago

It's probably just as well that the upgrade for that failed, since there are actually a number of problems with that particular Helm release. The reason you are seeing that error though is not a license issue, it's because that release introduced the a new product called MicroCD and you didn't have have the latest CRD's installed for that feature to get added. If you check the changelog, you will see that in 6.4.4 it got feature flagged, so it's no longer a default part of the helm installation.

Helm does not update CRD's, so in general, prior to running a helm upgrade, you should also run kubectl apply -f https://getambassador.io/yaml/aes-crds.yaml to apply the most recent CRD updates.

jvergara-runbuggy commented 4 years ago

thanks for replying. later, I noticed about the CRD's and the instruction to install it separately. So, if I want to install the latest ambassador package, I have to run the following commands:

helm delete ambassador --purge
kubectl delete -f https://www.getambassador.io/yaml/aes-crds.yaml
kubect delete namespace ambassador
kubectl create namespace ambassador
helm install --name ambassador --namespace ambassador datawire/ambassador