Merge remote-tracking branch 'origin/master' into barbican
This commit is contained in:
@@ -49,6 +49,10 @@ class HaclusterTest(test_utils.OpenStackBaseTest):
|
||||
|
||||
if primary_status["units"][leader].get("subordinates"):
|
||||
for subordinate in primary_status["units"][leader]["subordinates"]:
|
||||
# mysql-router is a subordinate from focal onwards
|
||||
_app = subordinate.split('/')[0]
|
||||
if _app != 'hacluster':
|
||||
continue
|
||||
logging.info("Cleaning {}".format(subordinate))
|
||||
_action = "cleanup"
|
||||
action_id = zaza.model.run_action(subordinate, "cleanup")
|
||||
@@ -84,6 +88,10 @@ class HaclusterTest(test_utils.OpenStackBaseTest):
|
||||
|
||||
if primary_status["units"][leader].get("subordinates"):
|
||||
for subordinate in primary_status["units"][leader]["subordinates"]:
|
||||
# mysql-router is a subordinate from focal onwards
|
||||
_app = subordinate.split('/')[0]
|
||||
if _app != 'hacluster':
|
||||
continue
|
||||
logging.info("Pausing {}".format(subordinate))
|
||||
zaza.model.run_action(subordinate, "pause")
|
||||
zaza.model.block_until_unit_wl_status(
|
||||
|
||||
@@ -254,6 +254,44 @@ class BaseCharmTest(unittest.TestCase):
|
||||
# TODO: Optimize with a block on a specific application until idle.
|
||||
model.block_until_all_units_idle()
|
||||
|
||||
def restart_on_changed_debug_oslo_config_file(self, config_file, services,
|
||||
config_section='DEFAULT'):
|
||||
"""Check restart happens on config change by flipping debug mode.
|
||||
|
||||
Change debug mode and assert that change propagates to the correct
|
||||
file and that services are restarted as a result. config_file must be
|
||||
an oslo config file and debug option must be set in the
|
||||
`config_section` section.
|
||||
|
||||
:param config_file: OSLO Config file to check for settings
|
||||
:type config_file: str
|
||||
:param services: Services expected to be restarted when config_file is
|
||||
changed.
|
||||
:type services: list
|
||||
"""
|
||||
# Expected default and alternate values
|
||||
current_value = model.get_application_config(
|
||||
self.application_name)['debug']['value']
|
||||
new_value = str(not bool(current_value)).title()
|
||||
current_value = str(current_value).title()
|
||||
|
||||
set_default = {'debug': current_value}
|
||||
set_alternate = {'debug': new_value}
|
||||
default_entry = {config_section: {'debug': [current_value]}}
|
||||
alternate_entry = {config_section: {'debug': [new_value]}}
|
||||
|
||||
# Make config change, check for service restarts
|
||||
logging.info(
|
||||
'Changing settings on {} to {}'.format(
|
||||
self.application_name, set_alternate))
|
||||
self.restart_on_changed(
|
||||
config_file,
|
||||
set_default,
|
||||
set_alternate,
|
||||
default_entry,
|
||||
alternate_entry,
|
||||
services)
|
||||
|
||||
def restart_on_changed(self, config_file, default_config, alternate_config,
|
||||
default_entry, alternate_entry, services,
|
||||
pgrep_full=False):
|
||||
|
||||
Reference in New Issue
Block a user