tempest: Add a config for session persistence types

The set of supported types can vary among deployements.
For example, MidoNet supports only SOURCE_IP.

Closes-Bug: #1693103
Change-Id: I207e9767889eb220d4c353a7a265e446190bcfc4
This commit is contained in:
YAMAMOTO Takashi 2017-05-24 16:30:04 +09:00
parent 33f88e83ac
commit da699d9fa7
2 changed files with 18 additions and 7 deletions

View File

@ -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'),
]

View File

@ -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()