Charmed Kubernetes should support series upgrade

Bug #1869944 reported by Cory Johns
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
AWS IAM Subordinate Charm
Fix Released
Undecided
Cory Johns
AWS Integrator Charm
Fix Released
Undecided
Cory Johns
Azure Integrator Charm
Fix Released
Undecided
Cory Johns
Calico Charm
Fix Released
Undecided
Cory Johns
Canal Charm
Fix Released
Undecided
Cory Johns
Containerd Subordinate Charm
Fix Released
Undecided
Cory Johns
Docker Registry Charm
Fix Released
Undecided
Cory Johns
Docker Subordinate Charm
Fix Released
Undecided
Cory Johns
EasyRSA Charm
Fix Released
Undecided
Cory Johns
Etcd Charm
Fix Released
Undecided
Cory Johns
Flannel Charm
Fix Released
Undecided
Cory Johns
Google Cloud Platform Integrator Charm
Fix Released
Undecided
Cory Johns
Kata Containers Subordinate Charm
Fix Released
Undecided
Cory Johns
Keepalived Charm
Fix Released
Undecided
Cory Johns
Kubernetes API Load Balancer
Fix Released
Undecided
Cory Johns
Kubernetes Control Plane Charm
Fix Released
Undecided
Cory Johns
Kubernetes Worker Charm
Fix Released
Undecided
Cory Johns
Openstack Integrator Charm
Fix Released
Undecided
Cory Johns
Tigera Secure EE Charm
Fix Released
Undecided
Cory Johns
vSphere Integrator Charm
Fix Released
Undecided
Cory Johns

Bug Description

All charms used in Charmed Kubernetes should support series upgrade.

* kubernetes-master will need to ensure that HA fail-over works as expected during the upgrade and set an appropriate status during the upgrade.

* kubernetes-worker will need to drain the node, stop the services, and set an appropriate status during the upgrade.

* kubeapi-load-balancer is currently a SPoF and will need to be made HA to support series upgrade.

* easyrsa just needs to set an appropriate status (originally reported at https://bugs.launchpad.net/charm-easyrsa/+bug/1850121).

* etcd will need to stop the service and set an appropriate status during the upgrade (originally reported at https://bugs.launchpad.net/charm-etcd/+bug/1850124).

* The runtime and CNI subordinates don't really need to do anything since the node is drained by k8s-worker.

Cory Johns (johnsca)
Changed in charm-kubernetes-master:
status: New → In Progress
assignee: nobody → Cory Johns (johnsca)
Changed in charm-kubeapi-load-balancer:
assignee: nobody → Cory Johns (johnsca)
Changed in charm-etcd:
assignee: nobody → Cory Johns (johnsca)
Changed in charm-easyrsa:
assignee: nobody → Cory Johns (johnsca)
Changed in charm-kubernetes-master:
milestone: none → 1.19
Changed in charm-kubeapi-load-balancer:
milestone: none → 1.19
Changed in charm-etcd:
milestone: none → 1.19
Changed in charm-easyrsa:
milestone: none → 1.19
importance: Undecided → Medium
importance: Medium → Undecided
status: New → Triaged
Changed in charm-etcd:
status: New → Triaged
Changed in charm-kubeapi-load-balancer:
status: New → Triaged
Revision history for this message
Cory Johns (johnsca) wrote :

While it would be ideal to have the subordinates stop their services during the upgrade, the pre-series-upgrade hook seems to fire on subordinates before the principal. Because of this, stopping the services would interfere with the worker's ability to drain the pods. During testing, leaving them running didn't have any obvious impact on the cluster's function.

Cory Johns (johnsca)
Changed in charm-etcd:
status: Triaged → In Progress
Changed in charm-easyrsa:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-aws-integrator:
assignee: nobody → Cory Johns (johnsca)
status: New → Triaged
Changed in charm-aws-iam:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
Changed in charm-aws-integrator:
milestone: none → 1.19
Changed in charm-calico:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-canal:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-containerd:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-docker:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-flannel:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-gcp-integrator:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-kata:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-keepalived:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
Changed in charm-openstack-integrator:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-tigera-secure-ee:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Changed in charm-vsphere-integrator:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Revision history for this message
Cory Johns (johnsca) wrote :

Added the rest of the charms because even for the CNI, container runtime, and integrator charms, we need to at least set an appropriate status. For AWS-IAM, I'm not certain yet if it will work to stop the service before that master is brought down, but if it does, we should do so. keepalived similarly needs some additional research, but I think we will probably want to bring it down prior to the kubeapi-load-balancer.

Cory Johns (johnsca)
Changed in charm-flannel:
status: Triaged → In Progress
Changed in charm-calico:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-canal:
status: Triaged → In Progress
Changed in charm-containerd:
status: Triaged → In Progress
Changed in charm-docker:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-azure-integrator:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
status: New → Triaged
Cory Johns (johnsca)
Changed in layer-docker-registry:
assignee: nobody → Cory Johns (johnsca)
milestone: none → 1.19
Cory Johns (johnsca)
Changed in charm-aws-integrator:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-azure-integrator:
status: Triaged → In Progress
Changed in charm-gcp-integrator:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-kata:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-openstack-integrator:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-vsphere-integrator:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-aws-iam:
status: New → In Progress
Cory Johns (johnsca)
Changed in layer-docker-registry:
status: New → In Progress
Changed in charm-keepalived:
status: New → In Progress
Cory Johns (johnsca)
Changed in charm-tigera-secure-ee:
status: Triaged → In Progress
Cory Johns (johnsca)
Changed in charm-kubeapi-load-balancer:
status: Triaged → In Progress
Revision history for this message
Cory Johns (johnsca) wrote :
Cory Johns (johnsca)
tags: added: review-needed
Revision history for this message
Cory Johns (johnsca) wrote :
Revision history for this message
Cory Johns (johnsca) wrote :
Cory Johns (johnsca)
Changed in charm-azure-integrator:
status: In Progress → Fix Committed
Changed in charm-aws-integrator:
status: In Progress → Fix Committed
Changed in charm-aws-iam:
status: In Progress → Fix Committed
Changed in layer-docker-registry:
status: In Progress → Fix Committed
Changed in charm-gcp-integrator:
status: In Progress → Fix Committed
Changed in charm-kubernetes-worker:
status: In Progress → Fix Committed
Changed in charm-openstack-integrator:
status: In Progress → Fix Committed
George Kraft (cynerva)
Changed in charm-calico:
status: In Progress → Fix Committed
Changed in charm-containerd:
status: In Progress → Fix Committed
Changed in charm-etcd:
status: In Progress → Fix Committed
Changed in charm-flannel:
status: In Progress → Fix Committed
Changed in charm-kata:
status: In Progress → Fix Committed
Changed in charm-keepalived:
status: In Progress → Fix Committed
Changed in charm-kubeapi-load-balancer:
status: In Progress → Fix Committed
Changed in charm-kubernetes-master:
status: In Progress → Fix Committed
Changed in charm-vsphere-integrator:
status: In Progress → Fix Committed
George Kraft (cynerva)
Changed in charm-docker:
status: In Progress → Fix Committed
Changed in charm-easyrsa:
status: In Progress → Fix Committed
Changed in charm-tigera-secure-ee:
status: In Progress → Fix Committed
George Kraft (cynerva)
Changed in charm-canal:
status: In Progress → Fix Committed
tags: removed: review-needed
Changed in charm-aws-iam:
status: Fix Committed → Fix Released
Changed in charm-aws-integrator:
status: Fix Committed → Fix Released
Changed in charm-azure-integrator:
status: Fix Committed → Fix Released
Changed in charm-calico:
status: Fix Committed → Fix Released
Changed in charm-canal:
status: Fix Committed → Fix Released
Changed in charm-containerd:
status: Fix Committed → Fix Released
Changed in layer-docker-registry:
status: Fix Committed → Fix Released
Changed in charm-docker:
status: Fix Committed → Fix Released
Changed in charm-easyrsa:
status: Fix Committed → Fix Released
Changed in charm-etcd:
status: Fix Committed → Fix Released
Changed in charm-flannel:
status: Fix Committed → Fix Released
Changed in charm-gcp-integrator:
status: Fix Committed → Fix Released
Changed in charm-kata:
status: Fix Committed → Fix Released
Changed in charm-keepalived:
status: Fix Committed → Fix Released
Changed in charm-kubeapi-load-balancer:
status: Fix Committed → Fix Released
Changed in charm-kubernetes-master:
status: Fix Committed → Fix Released
Changed in charm-kubernetes-worker:
status: Fix Committed → Fix Released
Changed in charm-openstack-integrator:
status: Fix Committed → Fix Released
Changed in charm-tigera-secure-ee:
status: Fix Committed → Fix Released
Changed in charm-vsphere-integrator:
status: Fix Committed → Fix Released
George Kraft (cynerva)
Changed in charm-keepalived:
milestone: 1.19 → 1.20+ck1
status: Fix Released → Fix Committed
Revision history for this message
George Kraft (cynerva) wrote :

No cherry-pick needed for keepalived 1.20+ck1 release.

Changed in charm-keepalived:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.