Series Upgrade
Implement the series-upgrade feature allowing to move between Ubuntu series. Change-Id: Ia4a4f0eb9f20780560f0244f3070cc6670d700c8
This commit is contained in:
parent
9e2af26b6d
commit
9b80e0f7ad
@ -186,7 +186,7 @@ SWIFT_CODENAMES = OrderedDict([
|
||||
('queens',
|
||||
['2.16.0', '2.17.0']),
|
||||
('rocky',
|
||||
['2.18.0']),
|
||||
['2.18.0', '2.19.0']),
|
||||
])
|
||||
|
||||
# >= Liberty version->codename mapping
|
||||
@ -1733,3 +1733,21 @@ def is_unit_upgrading_set():
|
||||
return not(not(kv.get('unit-upgrading')))
|
||||
except Exception:
|
||||
return False
|
||||
|
||||
|
||||
def series_upgrade_prepare(pause_unit_helper=None, configs=None):
|
||||
""" Run common series upgrade prepare tasks."""
|
||||
set_unit_upgrading()
|
||||
if pause_unit_helper and configs:
|
||||
if not is_unit_paused_set():
|
||||
pause_unit_helper(configs)
|
||||
|
||||
|
||||
def series_upgrade_complete(resume_unit_helper=None, configs=None):
|
||||
""" Run common series upgrade complete tasks."""
|
||||
clear_unit_paused()
|
||||
clear_unit_upgrading()
|
||||
if configs:
|
||||
configs.write_all()
|
||||
if resume_unit_helper:
|
||||
resume_unit_helper(configs)
|
||||
|
@ -54,6 +54,8 @@ from glance_utils import (
|
||||
reinstall_paste_ini,
|
||||
is_api_ready,
|
||||
update_image_location_policy,
|
||||
pause_unit_helper,
|
||||
resume_unit_helper,
|
||||
)
|
||||
from charmhelpers.core.hookenv import (
|
||||
charm_dir,
|
||||
@ -101,6 +103,8 @@ from charmhelpers.contrib.openstack.utils import (
|
||||
pausable_restart_on_change as restart_on_change,
|
||||
is_unit_paused_set,
|
||||
os_requires_version,
|
||||
series_upgrade_prepare,
|
||||
series_upgrade_complete,
|
||||
)
|
||||
from charmhelpers.contrib.storage.linux.ceph import (
|
||||
send_request_if_needed,
|
||||
@ -618,6 +622,20 @@ def certs_changed(relation_id=None, unit=None):
|
||||
configure_https()
|
||||
|
||||
|
||||
@hooks.hook('pre-series-upgrade')
|
||||
def pre_series_upgrade():
|
||||
juju_log("Running prepare series upgrade hook", "INFO")
|
||||
series_upgrade_prepare(
|
||||
pause_unit_helper, CONFIGS)
|
||||
|
||||
|
||||
@hooks.hook('post-series-upgrade')
|
||||
def post_series_upgrade():
|
||||
juju_log("Running complete series upgrade hook", "INFO")
|
||||
series_upgrade_complete(
|
||||
resume_unit_helper, CONFIGS)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
hooks.execute(sys.argv)
|
||||
|
1
hooks/post-series-upgrade
Symbolic link
1
hooks/post-series-upgrade
Symbolic link
@ -0,0 +1 @@
|
||||
glance_relations.py
|
1
hooks/pre-series-upgrade
Symbolic link
1
hooks/pre-series-upgrade
Symbolic link
@ -0,0 +1 @@
|
||||
glance_relations.py
|
Loading…
x
Reference in New Issue
Block a user