diff --git a/neutron_lbaas/tests/tempest/config.py b/neutron_lbaas/tests/tempest/config.py index c5bfec8d0..43723da50 100644 --- a/neutron_lbaas/tests/tempest/config.py +++ b/neutron_lbaas/tests/tempest/config.py @@ -27,4 +27,7 @@ lbaas_opts = [ help='Default protocol for Neutron LBaaS Pools'), cfg.StrOpt('default_health_monitor_protocol', default='HTTP', help='Default protocol for Neutron LBaaS Health Monitors'), + cfg.ListOpt('session_persistence_types', + default=['SOURCE_IP', 'HTTP_COOKIE', 'APP_COOKIE'], + help='Supported session persistence types for Neutron LBaaS'), ] diff --git a/neutron_lbaas/tests/tempest/v2/scenario/test_session_persistence.py b/neutron_lbaas/tests/tempest/v2/scenario/test_session_persistence.py index af3c28afa..91eb981db 100644 --- a/neutron_lbaas/tests/tempest/v2/scenario/test_session_persistence.py +++ b/neutron_lbaas/tests/tempest/v2/scenario/test_session_persistence.py @@ -13,11 +13,15 @@ # License for the specific language governing permissions and limitations # under the License. +from tempest import config from tempest import test from neutron_lbaas.tests.tempest.v2.scenario import base +CONF = config.CONF + + class TestSessionPersistence(base.BaseTestCase): @test.services('compute', 'network') @@ -44,12 +48,16 @@ class TestSessionPersistence(base.BaseTestCase): """ self._create_server('server1') self._start_servers() - self._create_load_balancer(persistence_type="SOURCE_IP") - self._check_source_ip_persistence() - self._update_pool_session_persistence("HTTP_COOKIE") - self._check_cookie_session_persistence() - self._update_pool_session_persistence("APP_COOKIE", - cookie_name="JSESSIONID") - self._check_cookie_session_persistence() + session_persistence_types = CONF.lbaas.session_persistence_types + if "SOURCE_IP" in session_persistence_types: + self._create_load_balancer(persistence_type="SOURCE_IP") + self._check_source_ip_persistence() + if "HTTP_COOKIE" in session_persistence_types: + self._update_pool_session_persistence("HTTP_COOKIE") + self._check_cookie_session_persistence() + if "APP_COOKIE" in session_persistence_types: + self._update_pool_session_persistence("APP_COOKIE", + cookie_name="JSESSIONID") + self._check_cookie_session_persistence() self._update_pool_session_persistence() self._check_load_balancing()