diff --git a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py index ea78246e0a..cb47d85d7f 100644 --- a/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py +++ b/cluster/juju/layers/kubernetes-master/reactive/kubernetes_master.py @@ -45,6 +45,7 @@ from charms.kubernetes.flagmanager import FlagManager from charmhelpers.core import hookenv from charmhelpers.core import host from charmhelpers.core import unitdata +from charmhelpers.core.host import service_stop from charmhelpers.core.templating import render from charmhelpers.fetch import apt_install from charmhelpers.contrib.charmsupport import nrpe @@ -694,6 +695,16 @@ def disable_gpu_mode(): remove_state('kubernetes-master.gpu.enabled') +@hook('stop') +def shutdown(): + """ Stop the kubernetes master services + + """ + service_stop('snap.kube-apiserver.daemon') + service_stop('snap.kube-controller-manager.daemon') + service_stop('snap.kube-scheduler.daemon') + + def arch(): '''Return the package architecture as a string. Raise an exception if the architecture is not supported by kubernetes.''' diff --git a/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py b/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py index a4f0204616..6aa919dea3 100644 --- a/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py +++ b/cluster/juju/layers/kubernetes-worker/reactive/kubernetes_worker.py @@ -157,15 +157,12 @@ def install_snaps(): def shutdown(): ''' When this unit is destroyed: - delete the current node - - stop the kubelet service - - stop the kube-proxy service - - remove the 'kubernetes-worker.cni-plugins.installed' state + - stop the worker services ''' if os.path.isfile(kubeconfig_path): kubectl('delete', 'node', gethostname()) - service_stop('kubelet') - service_stop('kube-proxy') - remove_state('kubernetes-worker.cni-plugins.installed') + service_stop('snap.kubelet.daemon') + service_stop('snap.kube-proxy.daemon') @when('docker.available')