Upgrading a sidecar charm with one workload container to one with no workload containers results in workload container still defined
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Juju |
In Progress
|
High
|
Harry Pidcock |
Bug Description
To reproduce this:
1. `juju deploy nginx-ingress-
2. Confirm revision 31 is deployed and inspect kubectl to confirm the pod has 1/1 containers.
3. `juju deploy nginx-ingress-
4. Confirm revision 29 is deployed and inspect kubectl to confirm the pod has 2/2 containers.
5 `juju refresh nginx-ingress-
6. Confirm the charm is now running revision 31, but still has 2/2 containers.
Here's some output showing the problem. In this case `ingress-edge` was deployed fresh, while `nginx-
```
mthaddon@
Model Controller Cloud/Region Version SLA Timestamp
i-test microk8s-localhost microk8s/localhost 2.9.34 unsupported 16:45:53+02:00
App Version Status Scale Charm Channel Rev Address Exposed Message
ingress-edge active 1 nginx-ingress-
nginx-ingress-
Unit Workload Agent Address Ports Message
ingress-edge/0* active idle 10.1.129.147
nginx-ingress-
mthaddon@
NAME READY STATUS RESTARTS AGE
modeloperator-
nginx-ingress-
ingress-edge-0 1/1 Running 0 3m47s
```
tags: | added: canonical-is |
Changed in juju: | |
assignee: | nobody → Harry Pidcock (hpidcock) |
milestone: | none → 2.9.44 |
Changed in juju: | |
status: | Confirmed → In Progress |
Changed in juju: | |
milestone: | 2.9.44 → 2.9.45 |
Changed in juju: | |
milestone: | 2.9.45 → 2.9.46 |
This should get fixed in the 2.9 series. We did implement support for upgrading from a pod spec charm to a sidecar charm, it seems we need to look at how our sidecar charms themselves upgrade when the topology changes, and ensure that new versions of the charm get the new topology.