mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-06 02:34:03 +00:00
Fix master upgrade cornercases
This commit is contained in:
parent
e551886c5e
commit
280b833f39
@ -102,12 +102,25 @@ def check_for_upgrade_needed():
|
||||
add_rbac_roles()
|
||||
set_state('reconfigure.authentication.setup')
|
||||
remove_state('authentication.setup')
|
||||
if should_reinstall_snaps():
|
||||
set_upgrade_needed()
|
||||
|
||||
|
||||
def should_reinstall_snaps():
|
||||
''' Return true if we should redeploy snaps. '''
|
||||
# Snaps should be upgrades if:
|
||||
# a) channel changed, or
|
||||
# b) the Charms attached snaps (resources) changed
|
||||
config = hookenv.config()
|
||||
previous_channel = config.previous('channel')
|
||||
new_channel = hookenv.config('channel')
|
||||
if new_channel != previous_channel:
|
||||
return True
|
||||
|
||||
resources = ['kubectl', 'kube-apiserver', 'kube-controller-manager',
|
||||
'kube-scheduler', 'cdk-addons']
|
||||
paths = [hookenv.resource_get(resource) for resource in resources]
|
||||
if any_file_changed(paths):
|
||||
set_upgrade_needed()
|
||||
return any_file_changed(paths)
|
||||
|
||||
|
||||
def add_rbac_roles():
|
||||
@ -360,6 +373,7 @@ def set_app_version():
|
||||
|
||||
@when('cdk-addons.configured', 'kube-api-endpoint.available',
|
||||
'kube-control.connected')
|
||||
@when_not('kubernetes-master.upgrade-needed')
|
||||
def idle_status(kube_api, kube_control):
|
||||
''' Signal at the end of the run that we are running. '''
|
||||
if not all_kube_system_pods_running():
|
||||
|
Loading…
Reference in New Issue
Block a user