Add configuration support for skipping tests

This patch add configuration support in Octavia Tempest Plugin,
in case a provider driver does not support Health Monitors.

Change-Id: I25eb52e9f64a08560c9ea2f664edd9826be6e379
This commit is contained in:
Reedip 2018-09-03 13:20:08 +00:00
parent df240799c3
commit f88cffc9b4
4 changed files with 26 additions and 0 deletions

View File

@ -144,3 +144,12 @@ OctaviaGroup = [
default=None,
help='Availability zone to use for creating servers.'),
]
lb_feature_enabled_group = cfg.OptGroup(name='loadbalancer-feature-enabled',
title='Enabled/Disabled LB features')
LBFeatureEnabledGroup = [
cfg.BoolOpt('health_monitor_enabled',
default=True,
help="Whether Health Monitor is available with provider"
" driver or not."),
]

View File

@ -35,6 +35,9 @@ class OctaviaTempestPlugin(plugins.TempestPlugin):
project_config.ServiceAvailableGroup)
config.register_opt_group(conf, project_config.octavia_group,
project_config.OctaviaGroup)
config.register_opt_group(conf,
project_config.lb_feature_enabled_group,
project_config.LBFeatureEnabledGroup)
def get_opt_lists(self):
return [
@ -42,6 +45,8 @@ class OctaviaTempestPlugin(plugins.TempestPlugin):
project_config.ServiceAvailableGroup),
(project_config.octavia_group.name,
project_config.OctaviaGroup),
(project_config.lb_feature_enabled_group.name,
project_config.LBFeatureEnabledGroup)
]
def get_service_clients(self):

View File

@ -33,6 +33,12 @@ LOG = logging.getLogger(__name__)
class HealthMonitorAPITest(test_base.LoadBalancerBaseTest):
"""Test the healthmonitor object API."""
@classmethod
def skip_checks(cls):
super(HealthMonitorAPITest, cls).skip_checks()
if not CONF.loadbalancer_feature_enabled.health_monitor_enabled:
cls.skip('Health Monitors not supported')
@classmethod
def resource_setup(cls):
"""Setup resources needed by the tests."""

View File

@ -28,6 +28,12 @@ CONF = config.CONF
class HealthMonitorScenarioTest(test_base.LoadBalancerBaseTest):
@classmethod
def skip_checks(cls):
super(HealthMonitorScenarioTest, cls).skip_checks()
if not CONF.loadbalancer_feature_enabled.health_monitor_enabled:
cls.skip('Health Monitors not supported')
@classmethod
def resource_setup(cls):
"""Setup resources needed by the tests."""