mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
Improve handling of snap resources
This commit is contained in:
parent
1550df99eb
commit
61d9848438
@ -62,7 +62,6 @@ nrpe.Check.shortname_re = '[\.A-Za-z0-9-_]+$'
|
|||||||
|
|
||||||
os.environ['PATH'] += os.pathsep + os.path.join(os.sep, 'snap', 'bin')
|
os.environ['PATH'] += os.pathsep + os.path.join(os.sep, 'snap', 'bin')
|
||||||
|
|
||||||
|
|
||||||
def set_upgrade_needed():
|
def set_upgrade_needed():
|
||||||
set_state('kubernetes-master.upgrade-needed')
|
set_state('kubernetes-master.upgrade-needed')
|
||||||
config = hookenv.config()
|
config = hookenv.config()
|
||||||
@ -102,11 +101,28 @@ def check_for_upgrade_needed():
|
|||||||
add_rbac_roles()
|
add_rbac_roles()
|
||||||
set_state('reconfigure.authentication.setup')
|
set_state('reconfigure.authentication.setup')
|
||||||
remove_state('authentication.setup')
|
remove_state('authentication.setup')
|
||||||
|
if snap_resources_changed():
|
||||||
|
set_upgrade_needed()
|
||||||
|
|
||||||
|
|
||||||
|
def snap_resources_changed():
|
||||||
|
'''
|
||||||
|
Check if the snapped resources have changed. The first time this method is
|
||||||
|
called will report no change.
|
||||||
|
|
||||||
|
Returns: True in case a snap resource file has changed
|
||||||
|
|
||||||
|
'''
|
||||||
|
db = unitdata.kv()
|
||||||
resources = ['kubectl', 'kube-apiserver', 'kube-controller-manager',
|
resources = ['kubectl', 'kube-apiserver', 'kube-controller-manager',
|
||||||
'kube-scheduler', 'cdk-addons']
|
'kube-scheduler', 'cdk-addons']
|
||||||
paths = [hookenv.resource_get(resource) for resource in resources]
|
paths = [hookenv.resource_get(resource) for resource in resources]
|
||||||
if any_file_changed(paths):
|
if db.get('snap.resources.fingerprint.initialised'):
|
||||||
set_upgrade_needed()
|
return any_file_changed(paths)
|
||||||
|
else:
|
||||||
|
db.set('snap.resources.fingerprint.initialised', True)
|
||||||
|
any_file_changed(paths)
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def add_rbac_roles():
|
def add_rbac_roles():
|
||||||
@ -221,6 +237,7 @@ def install_snaps():
|
|||||||
snap.install('kube-scheduler', channel=channel)
|
snap.install('kube-scheduler', channel=channel)
|
||||||
hookenv.status_set('maintenance', 'Installing cdk-addons snap')
|
hookenv.status_set('maintenance', 'Installing cdk-addons snap')
|
||||||
snap.install('cdk-addons', channel=channel)
|
snap.install('cdk-addons', channel=channel)
|
||||||
|
snap_resources_changed()
|
||||||
set_state('kubernetes-master.snaps.installed')
|
set_state('kubernetes-master.snaps.installed')
|
||||||
remove_state('kubernetes-master.components.started')
|
remove_state('kubernetes-master.components.started')
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user