lint fixes
This commit is contained in:
@@ -24,23 +24,24 @@ import unittest
|
||||
from zaza import model
|
||||
from zaza.openstack.utilities import (
|
||||
cli as cli_utils,
|
||||
series_upgrade as series_upgrade_utils,
|
||||
upgrade_utils as upgrade_utils,
|
||||
)
|
||||
from zaza.openstack.charm_tests.nova.tests import LTSGuestCreateTest
|
||||
|
||||
|
||||
def _filter_easyrsa(app, app_config, model_name=None):
|
||||
logging.warn("Skipping series upgrade of easyrsa Bug #1850121")
|
||||
charm_name = upgrade_utils.extract_charm_name_from_url(app_config['charm'])
|
||||
if "easyrsa" in charm_name:
|
||||
logging.warn("Skipping series upgrade of easyrsa Bug #1850121")
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def _filter_etcd(app, app_config, model_name=None):
|
||||
logging.warn("Skipping series upgrade of easyrsa Bug #1850124")
|
||||
charm_name = upgrade_utils.extract_charm_name_from_url(app_config['charm'])
|
||||
if "etcd" in charm_name:
|
||||
logging.warn("Skipping series upgrade of easyrsa Bug #1850124")
|
||||
return True
|
||||
return False
|
||||
|
||||
@@ -76,9 +77,10 @@ class SeriesUpgradeTest(unittest.TestCase):
|
||||
logging.warn(
|
||||
"Skipping series upgrade of easyrsa Bug #1850124")
|
||||
continue
|
||||
upgrade_config = upgrade_utils.app_config(
|
||||
app_details['charm'],
|
||||
async=False)
|
||||
charm_name = upgrade_utils.extract_charm_name_from_url(app_details['charm'])
|
||||
upgrade_config = series_upgrade_utils.app_config(
|
||||
charm_name,
|
||||
is_async=False)
|
||||
upgrade_function = upgrade_config.pop('upgrade_function')
|
||||
logging.warn("About to upgrade {}".format(application))
|
||||
upgrade_function(
|
||||
@@ -214,10 +216,10 @@ class ParallelSeriesUpgradeTest(unittest.TestCase):
|
||||
for application, app_details in applications.items():
|
||||
if application not in group:
|
||||
continue
|
||||
upgrade_config = upgrade_utils.app_config(app_details['charm'])
|
||||
charm_name = upgrade_utils.extract_charm_name_from_url(app_details['charm'])
|
||||
upgrade_config = series_upgrade_utils.app_config(charm_name)
|
||||
upgrade_function = upgrade_config.pop('upgrade_function')
|
||||
logging.warn("About to upgrade {}".format(application))
|
||||
logging.info("\tConfig: {}".format(upgrade_config))
|
||||
upgrade_group.append(
|
||||
upgrade_function(
|
||||
application,
|
||||
|
||||
@@ -30,6 +30,71 @@ SUBORDINATE_PAUSE_RESUME_BLACKLIST = [
|
||||
]
|
||||
|
||||
|
||||
def app_config(charm_name, is_async=True):
|
||||
"""Return a dict with the upgrade config for an application.
|
||||
|
||||
:param charm_name: Name of the charm about to upgrade
|
||||
:type charm_name: str
|
||||
:param async: Whether the upgreade functions should be async
|
||||
:type async: bool
|
||||
:returns: A dicitonary of the upgrade config for the application
|
||||
:rtype: Dict
|
||||
"""
|
||||
if is_async:
|
||||
default_upgrade = async_series_upgrade_application
|
||||
secondary_first_upgrade = async_series_upgrade_non_leaders_first
|
||||
else:
|
||||
default_upgrade = series_upgrade_application
|
||||
secondary_first_upgrade = series_upgrade_non_leaders_first
|
||||
default = {
|
||||
'origin': 'openstack-origin',
|
||||
'pause_non_leader_subordinate': True,
|
||||
'pause_non_leader_primary': True,
|
||||
'upgrade_function': default_upgrade,
|
||||
'post_upgrade_functions': []}
|
||||
_app_settings = collections.defaultdict(lambda: default)
|
||||
ceph = {
|
||||
'origin': "source",
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False,
|
||||
}
|
||||
exceptions = {
|
||||
'rabbitmq-server': {
|
||||
'origin': 'source',
|
||||
'pause_non_leader_subordinate': False, },
|
||||
'percona-cluster': {'origin': 'source', },
|
||||
'nova-compute': {
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False, },
|
||||
'ceph': ceph,
|
||||
'ceph-mon': ceph,
|
||||
'ceph-osd': ceph,
|
||||
'designate-bind': {'origin': None, },
|
||||
'tempest': {'origin': None, },
|
||||
'memcached': {
|
||||
'origin': None,
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False,
|
||||
},
|
||||
'vault': {
|
||||
'origin': None,
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': True,
|
||||
'post_upgrade_functions': [
|
||||
('zaza.openstack.charm_tests.vault.setup.'
|
||||
'mojo_unseal_by_unit')]
|
||||
},
|
||||
'mongodb': {
|
||||
'upgrade_function': secondary_first_upgrade,
|
||||
}
|
||||
|
||||
}
|
||||
for key, value in exceptions.items():
|
||||
_app_settings[key] = copy.deepcopy(default)
|
||||
_app_settings[key].update(value)
|
||||
return _app_settings[charm_name]
|
||||
|
||||
|
||||
def run_post_upgrade_functions(post_upgrade_functions):
|
||||
"""Execute list supplied functions.
|
||||
|
||||
|
||||
@@ -182,68 +182,3 @@ def extract_charm_name_from_url(charm_url):
|
||||
"""
|
||||
charm_name = re.sub(r'-[0-9]+$', '', charm_url.split('/')[-1])
|
||||
return charm_name.split(':')[-1]
|
||||
|
||||
|
||||
def app_config(charm_name, async=True):
|
||||
"""Returns a dict with the upgrade config for an application.
|
||||
|
||||
:param charm_name: Name of the charm about to upgrade
|
||||
:type charm_name: str
|
||||
:param async: Whether the upgreade functions should be async
|
||||
:type async: bool
|
||||
:returns: A dicitonary of the upgrade config for the application
|
||||
:rtype: Dict
|
||||
"""
|
||||
if async:
|
||||
default_upgrade = async_series_upgrade_application
|
||||
secondary_first_upgrade = async_series_upgrade_non_leaders_first
|
||||
else:
|
||||
default_upgrade = series_upgrade_application
|
||||
secondary_first_upgrade = series_upgrade_non_leaders_first
|
||||
default = {
|
||||
'origin': 'openstack-origin',
|
||||
'pause_non_leader_subordinate': True,
|
||||
'pause_non_leader_primary': True,
|
||||
'upgrade_function': default_upgrade,
|
||||
'post_upgrade_functions': []}
|
||||
_app_settings = collections.defaultdict(lambda: default)
|
||||
ceph = {
|
||||
'origin': "source",
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False,
|
||||
}
|
||||
exceptions = {
|
||||
'rabbitmq-server': {
|
||||
'origin': 'source',
|
||||
'pause_non_leader_subordinate': False, },
|
||||
'percona-cluster': {'origin': 'source', },
|
||||
'nova-compute' : {
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False, },
|
||||
'ceph': ceph,
|
||||
'ceph-mon': ceph,
|
||||
'ceph-osd': ceph,
|
||||
'designate-bind': {'origin': None, },
|
||||
'tempest': {'origin': None, },
|
||||
'memcached': {
|
||||
'origin': None,
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': False,
|
||||
},
|
||||
'vault': {
|
||||
'origin': None,
|
||||
'pause_non_leader_primary': False,
|
||||
'pause_non_leader_subordinate': True,
|
||||
'post_upgrade_functions': [
|
||||
('zaza.openstack.charm_tests.vault.setup.'
|
||||
'mojo_unseal_by_unit')]
|
||||
},
|
||||
'mongodb': {
|
||||
'upgrade_function': secondary_first_upgrade,
|
||||
}
|
||||
|
||||
}
|
||||
for key, value in exceptions.items():
|
||||
_app_settings[key] = copy.deepcopy(default)
|
||||
_app_settings[key].update(value)
|
||||
return _app_settings[charm_name]
|
||||
|
||||
Reference in New Issue
Block a user