mirror of https://github.com/k3s-io/k3s
Fix charms leaving services running after unit removal
parent
74bde7f7ff
commit
f0e08818d8
|
@ -45,6 +45,7 @@ from charms.kubernetes.flagmanager import FlagManager
|
||||||
from charmhelpers.core import hookenv
|
from charmhelpers.core import hookenv
|
||||||
from charmhelpers.core import host
|
from charmhelpers.core import host
|
||||||
from charmhelpers.core import unitdata
|
from charmhelpers.core import unitdata
|
||||||
|
from charmhelpers.core.host import service_stop
|
||||||
from charmhelpers.core.templating import render
|
from charmhelpers.core.templating import render
|
||||||
from charmhelpers.fetch import apt_install
|
from charmhelpers.fetch import apt_install
|
||||||
from charmhelpers.contrib.charmsupport import nrpe
|
from charmhelpers.contrib.charmsupport import nrpe
|
||||||
|
@ -694,6 +695,16 @@ def disable_gpu_mode():
|
||||||
remove_state('kubernetes-master.gpu.enabled')
|
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():
|
def arch():
|
||||||
'''Return the package architecture as a string. Raise an exception if the
|
'''Return the package architecture as a string. Raise an exception if the
|
||||||
architecture is not supported by kubernetes.'''
|
architecture is not supported by kubernetes.'''
|
||||||
|
|
|
@ -157,15 +157,12 @@ def install_snaps():
|
||||||
def shutdown():
|
def shutdown():
|
||||||
''' When this unit is destroyed:
|
''' When this unit is destroyed:
|
||||||
- delete the current node
|
- delete the current node
|
||||||
- stop the kubelet service
|
- stop the worker services
|
||||||
- stop the kube-proxy service
|
|
||||||
- remove the 'kubernetes-worker.cni-plugins.installed' state
|
|
||||||
'''
|
'''
|
||||||
if os.path.isfile(kubeconfig_path):
|
if os.path.isfile(kubeconfig_path):
|
||||||
kubectl('delete', 'node', gethostname())
|
kubectl('delete', 'node', gethostname())
|
||||||
service_stop('kubelet')
|
service_stop('snap.kubelet.daemon')
|
||||||
service_stop('kube-proxy')
|
service_stop('snap.kube-proxy.daemon')
|
||||||
remove_state('kubernetes-worker.cni-plugins.installed')
|
|
||||||
|
|
||||||
|
|
||||||
@when('docker.available')
|
@when('docker.available')
|
||||||
|
|
Loading…
Reference in New Issue