Juju daemons remain up after pre-series-upgrade
The latest edge version of juju has the juju daemons remain up after the completion of the pre-series-upgrade hook. This is a slight change in behavior which requires a change to the zaza process. But it also allows us to test for model idleness which we could not do when the agents were down. This should avoid more race conditions.
This commit is contained in:
@@ -237,8 +237,12 @@ def series_upgrade_application(application, pause_non_leader_primary=True,
|
||||
files=files)
|
||||
completed_machines.append(machine)
|
||||
else:
|
||||
logging.info("Skipping unit: {}. Machine: {} already upgraded"
|
||||
.format(unit, machine))
|
||||
logging.info("Skipping unit: {}. Machine: {} already upgraded."
|
||||
"But setting origin on the application {}"
|
||||
.format(unit, machine, application))
|
||||
logging.info("Set origin on {}".format(application))
|
||||
set_origin(application, origin)
|
||||
model.block_until_all_units_idle()
|
||||
|
||||
# Series upgrade the non-leaders
|
||||
for unit in non_leaders:
|
||||
@@ -252,8 +256,12 @@ def series_upgrade_application(application, pause_non_leader_primary=True,
|
||||
files=files)
|
||||
completed_machines.append(machine)
|
||||
else:
|
||||
logging.info("Skipping unit: {}. Machine: {} already upgraded"
|
||||
.format(unit, machine))
|
||||
logging.info("Skipping unit: {}. Machine: {} already upgraded. "
|
||||
"But setting origin on the application {}"
|
||||
.format(unit, machine, application))
|
||||
logging.info("Set origin on {}".format(application))
|
||||
set_origin(application, origin)
|
||||
model.block_until_all_units_idle()
|
||||
|
||||
|
||||
def series_upgrade(unit_name, machine_num,
|
||||
@@ -285,9 +293,11 @@ def series_upgrade(unit_name, machine_num,
|
||||
set_dpkg_non_interactive_on_unit(unit_name)
|
||||
logging.info("Prepare series upgrade on {}".format(machine_num))
|
||||
model.prepare_series_upgrade(machine_num, to_series=to_series)
|
||||
logging.info("Watiing for workload status 'unknown' on {}"
|
||||
logging.info("Watiing for workload status 'blocked' on {}"
|
||||
.format(unit_name))
|
||||
model.block_until_unit_wl_status(unit_name, "unknown")
|
||||
model.block_until_unit_wl_status(unit_name, "blocked")
|
||||
logging.info("Watiing for model idleness")
|
||||
model.block_until_all_units_idle()
|
||||
wrap_do_release_upgrade(unit_name, from_series=from_series,
|
||||
to_series=to_series, files=files,
|
||||
workaround_script=workaround_script)
|
||||
|
||||
Reference in New Issue
Block a user