Workaround for keepalived losing VIPs
- increase keepalived retry count to 10000
- fix staticmethod in failover test
- use the fixture 'sl_openstack_deployed' to not redeploy
stacklight in each testcase
Change-Id: I7c473c328520dfe06ec3d481475d3071c43a0706
Related-Bug:#PROD-15791
diff --git a/tcp_tests/fixtures/stacklight_fixtures.py b/tcp_tests/fixtures/stacklight_fixtures.py
index c04f48f..e985078 100644
--- a/tcp_tests/fixtures/stacklight_fixtures.py
+++ b/tcp_tests/fixtures/stacklight_fixtures.py
@@ -18,7 +18,6 @@
from tcp_tests import logger
from tcp_tests.helpers import ext
from tcp_tests.managers import sl_manager
-from tcp_tests.helpers import utils
LOG = logger.logger
@@ -52,7 +51,7 @@
:param tcp_actions: fixture provides SLManager instance
:rtype: SLManager
"""
- # Create Salt cluster
+ # Deploy SL services
if not config.stack_light.sl_installed:
steps_path = config.sl_deploy.sl_steps_path
commands = underlay.read_template(steps_path)
@@ -80,42 +79,14 @@
@pytest.mark.revert_snapshot(ext.SNAPSHOT.sl_deployed)
@pytest.fixture(scope='function')
-def deploy_sl(revert_snapshot, request, config,
- hardware, underlay, common_services_deployed,
- sl_actions):
- """Fixture to get or install OpenStack services on environment
+def sl_os_deployed(revert_snapshot,
+ openstack_deployed,
+ sl_deployed):
+ """Fixture to get or install SL and OpenStack services on environment
- :param revert_snapshot: fixture that reverts snapshot that is specified
- in test with @pytest.mark.revert_snapshot(<name>)
- :param request: fixture provides pytest data
- :param config: fixture provides oslo.config
- :param hardware: fixture provides enviromnet manager
- :param underlay: fixture provides underlay manager
- :param tcp_actions: fixture provides OpenstackManager instance
- :rtype: SLManager
+ Uses fixtures openstack_deployed and sl_deployed, with 'sl_deployed'
+ top-level snapshot.
- If you want to revert 'sl_deployed' snapshot, please use mark:
- @pytest.mark.revert_snapshot("sl_deployed")
+ Returns SLManager instance object
"""
- # Create Salt cluster
- if not config.stack_light.sl_installed:
- steps_path = config.sl_deploy.sl_steps_path
- commands = utils.read_template(steps_path)
- sl_actions.install(commands)
- hardware.create_snapshot(ext.SNAPSHOT.sl_deployed)
-
- else:
- # 1. hardware environment created and powered on
- # 2. config.underlay.ssh contains SSH access to provisioned nodes
- # (can be passed from external config with TESTS_CONFIGS variable)
- # 3. config.tcp.* options contain access credentials to the already
- # installed TCP API endpoint
- pass
- # Workaround for keepalived hang issue after env revert from snapshot
- # see https://mirantis.jira.com/browse/PROD-12038
- LOG.warning('Restarting keepalived service on controllers...')
- sl_actions._salt.local(tgt='ctl*', fun='cmd.run',
- args='systemctl restart keepalived.service')
- sl_actions._salt.local(tgt='mon*', fun='cmd.run',
- args='systemctl restart keepalived.service')
- return sl_actions
+ return sl_deployed