Closed everettraven closed 4 months ago
Definitely a blocker, IMO. Any idea why this is happening? My initial suspicion is that we somehow have an incorrect understanding of the currently installed version?
Definitely a blocker, IMO. Any idea why this is happening? My initial suspicion is that we somehow have an incorrect understanding of the currently installed version?
That is my suspicion as well. It seems like https://github.com/operator-framework/operator-controller/blob/8bf5cf45e4c128ba221d4085099928220ee367fb/internal/controllers/clusterextension_controller.go#L426 may be returning only the initially installed version
It's happening because the helm release for the upgraded bundle still has the first version label. When we install we set the version label:
but we're not doing the same for the upgrade case.
When attempting to manually step through upgrading versions of a package using the
ClusterExtension
using thereplaces
chain in the FBC channel, moving beyond the first replaced version results in the following status condition:In this case, I had followed the replaces chain from
v0.1.0
-->v0.2.0
successfully. When attempting to go fromv0.2.0
-->v0.3.0
the upgrade failed and contained the above resolution failure.To verify this is a valid upgrade path, you can see the channel and upgrade edges with:
Output
```json { "schema": "olm.channel", "name": "alpha", "package": "argocd-operator", "entries": [ { "name": "argocd-operator.v0.0.11", "replaces": "argocd-operator.v0.0.9" }, { "name": "argocd-operator.v0.0.12", "replaces": "argocd-operator.v0.0.11" }, { "name": "argocd-operator.v0.0.13", "replaces": "argocd-operator.v0.0.12" }, { "name": "argocd-operator.v0.0.14", "replaces": "argocd-operator.v0.0.13" }, { "name": "argocd-operator.v0.0.15", "replaces": "argocd-operator.v0.0.14" }, { "name": "argocd-operator.v0.0.2" }, { "name": "argocd-operator.v0.0.3", "replaces": "argocd-operator.v0.0.2" }, { "name": "argocd-operator.v0.0.4", "replaces": "argocd-operator.v0.0.3" }, { "name": "argocd-operator.v0.0.5", "replaces": "argocd-operator.v0.0.4" }, { "name": "argocd-operator.v0.0.6", "replaces": "argocd-operator.v0.0.5" }, { "name": "argocd-operator.v0.0.8", "replaces": "argocd-operator.v0.0.6" }, { "name": "argocd-operator.v0.0.9", "replaces": "argocd-operator.v0.0.8" }, { "name": "argocd-operator.v0.1.0", "replaces": "argocd-operator.v0.0.15" }, { "name": "argocd-operator.v0.10.0", "replaces": "argocd-operator.v0.9.2" }, { "name": "argocd-operator.v0.10.1", "replaces": "argocd-operator.v0.10.0" }, { "name": "argocd-operator.v0.2.0", "replaces": "argocd-operator.v0.1.0" }, { "name": "argocd-operator.v0.2.1", "replaces": "argocd-operator.v0.2.0" }, { "name": "argocd-operator.v0.3.0", "replaces": "argocd-operator.v0.2.1" }, { "name": "argocd-operator.v0.4.0", "replaces": "argocd-operator.v0.3.0" }, { "name": "argocd-operator.v0.5.0", "replaces": "argocd-operator.v0.4.0" }, { "name": "argocd-operator.v0.6.0", "replaces": "argocd-operator.v0.5.0" }, { "name": "argocd-operator.v0.7.0", "replaces": "argocd-operator.v0.6.0" }, { "name": "argocd-operator.v0.8.0", "replaces": "argocd-operator.v0.7.0" }, { "name": "argocd-operator.v0.9.0", "replaces": "argocd-operator.v0.8.0" }, { "name": "argocd-operator.v0.9.1", "replaces": "argocd-operator.v0.9.0" }, { "name": "argocd-operator.v0.9.2", "replaces": "argocd-operator.v0.9.1" } ] } ```