Logic to handle session persistence parameter in octavia cases

Files modified:
vmware_nsx_tempest_plugin/lib/feature_manager.py
vmware_nsx_tempest_plugin/services/openstack_network_clients.py
vmware_nsx_tempest_plugin/tests/nsxv3/scenario/test_octavia_loadbalancers.py

Change-Id: Ibccf8c05445dadc4e5f00fca509f725b20631295
This commit is contained in:
pbharathbhu 2020-03-06 08:27:06 +00:00
parent cb68cce000
commit 27f4d12b96
3 changed files with 21 additions and 4 deletions

View File

@ -1542,9 +1542,19 @@ class FeatureManager(traffic_manager.IperfManager,
clean_up=None, vip_net_id=None,
delay=None, max_retries=None,
timeout=None, default_pool=False,
vip_port_id=None):
vip_port_id=None, persistence=False,
persistence_type=None,
session_persistence=None,
persistence_cookie_name=None):
count = 0
lb_name = None
if persistence:
session_persistence = {}
if persistence_type:
session_persistence["type"] = persistence_type
if persistence_cookie_name:
session_persistence["cookie_name"] = persistence_cookie_name
if lb_id is None:
lb_name = data_utils.rand_name(self.namestart)
self.loadbalancer = self.\
@ -1579,7 +1589,8 @@ class FeatureManager(traffic_manager.IperfManager,
create_octavia_pool(listener_id=self.listener['id'],
lb_algorithm=lb_algorithm,
protocol=protocol_type,
name=lb_name)
name=lb_name,
session_persistence=session_persistence)
self.octavia_admin_client.wait_for_load_balancer_status(lb_id)
pool_id = self.pool['pool']['id']
if hm_type:

View File

@ -661,6 +661,10 @@ class OctaviaLB_Client(base.BaseNetworkClient):
uri = self.resource_base_path
return self.list_resources(uri, **filters)
def show_octavia_load_balancer_stats(self, load_balancer_id, **filters):
uri = self.resource_object_stats_path % load_balancer_id
return self.show_resource(uri, **filters)
def wait_for_load_balancer_status(self, load_balancer_id,
provisioning_status='ACTIVE',
operating_status='ONLINE',

View File

@ -219,11 +219,13 @@ class OctaviaRoundRobin(feature_manager.FeatureManager):
self.check_project_lbaas()
get_lb = self.octavia_admin_client.list_octavia_load_balancers()
lb_id = get_lb['loadbalancers'][0]['id']
stat = self.octavia_admin_client.show_load_balancer_stats(lb_id)
stat = self.octavia_admin_client.\
show_octavia_load_balancer_stats(lb_id)
assert (stat['stats']['bytes_in'] == 0 and
stat['stats']['bytes_out'] == 0)
self.check_lbaas_project_weight_values(constants.NO_OF_VMS_2)
stat = self.octavia_admin_client.show_load_balancer_stats(lb_id)
stat = self.octavia_admin_client.\
show_octavia_load_balancer_stats(lb_id)
assert (stat['stats']['bytes_in'] >= 0 and
stat['stats']['bytes_out'] >= 0)