commit 99857037102029d8d39e8a57efae774d305cec28 Author: Bharath bhushan Patel Date: Wed Sep 30 12:56:31 2020 +0000 Octavia Changes Change-Id: I8634b3d41903b4ee5a595ad1ee641311bba46ca1 diff --git a/vmware_nsx_tempest_plugin/lib/feature_manager.py b/vmware_nsx_tempest_plugin/lib/feature_manager.py index 5513cdc..85034e6 100644 --- a/vmware_nsx_tempest_plugin/lib/feature_manager.py +++ b/vmware_nsx_tempest_plugin/lib/feature_manager.py @@ -789,26 +789,35 @@ class FeatureManager(traffic_manager.IperfManager, self.poke_counters / no_of_vms, "LB fails with weighted values") - def check_project_lbaas(self, count=2, HTTPS=None): + def check_project_lbaas(self, count=2, HTTPS=None, + no_resp=False, source_ip=False): i = 0 - time.sleep(constants.SLEEP_BETWEEN_VIRTUAL_SEREVRS_OPEARTIONS) vip = self.vip_ip_address self.do_http_request(vip=vip, send_counts=self.poke_counters) # ROUND_ROUBIN, so equal counts no_of_vms = len(self.http_cnt) - if CONF.nsxv3.ens: - vms = len(self.topology_servers.keys()) - if self.http_cnt["Welcome vm"] == self.poke_counters: - self.assertEqual(self.http_cnt["Welcome vm"] / vms, - 3 * vms) - else: - for server_name in self.topology_servers.keys(): - if i < count: - i += 1 - self.assertEqual(self.poke_counters / no_of_vms, - self.http_cnt[server_name]) - else: + if source_ip: + [[key, value]] = list(self.http_cnt.items()) + for srvr in self.topology_servers.keys(): + if srvr != key: + self.topology_servers.pop(srvr) break + if no_resp is False: + if CONF.nsxv3.ens: + vms = len(self.topology_servers.keys()) + if self.http_cnt["Welcome vm"] == self.poke_counters: + self.assertEqual(self.http_cnt["Welcome vm"] / vms, + 3 * vms) + else: + for server_name in self.topology_servers.keys(): + if i < count: + i += 1 + self.assertEqual(self.poke_counters / no_of_vms, + self.http_cnt[server_name]) + else: + break + else: + self.assertFalse('server_lbaas_0' in self.http_cnt, True) def count_response(self, response): response = response.decode('utf-8') diff --git a/vmware_nsx_tempest_plugin/tests/nsxv3/scenario/test_octavia_loadbalancers.py b/vmware_nsx_tempest_plugin/tests/nsxv3/scenario/test_octavia_loadbalancers.py index 74428fb..d429bec 100644 --- a/vmware_nsx_tempest_plugin/tests/nsxv3/scenario/test_octavia_loadbalancers.py +++ b/vmware_nsx_tempest_plugin/tests/nsxv3/scenario/test_octavia_loadbalancers.py @@ -600,7 +600,7 @@ class OctaviaRoundRobin(feature_manager.FeatureManager): vip_subnet_id=subnet_id, l7policy=True, action='REJECT', invert=True) - self.assertIn("KeyError", self.check_project_lbaas()) + self.check_project_lbaas(no_resp=True) @decorators.attr(type='nsxv3') @decorators.idempotent_id('74f022d6-a6ef-4458-96a7-541deadacf99') @@ -995,7 +995,7 @@ class OctaviaRoundRobin(feature_manager.FeatureManager): timeout=self.hm_timeout, max_retries=self.hm_max_retries, delay=self.hm_delay, default_pool=True) - self.check_project_lbaas() + self.check_project_lbaas(source_ip=True) @decorators.attr(type='nsxv3') @decorators.idempotent_id('c5ac8546-5677-4b7a-8704-3843a12b1a34') @@ -1158,7 +1158,7 @@ class OctaviaRoundRobin(feature_manager.FeatureManager): @decorators.attr(type='nsxv3') @decorators.idempotent_id('c5ac8546-6867-4b7a-8544-3843a11b1a24') - def test_verify_octavia_https_lb_port_id_source_ip_default_pool_qos(self): + def test_verify_octavia_http_lb_port_id_source_ip_default_pool_qos(self): """ This testcase is for verifying the loadbalancer with port-id and the pool is created using lb option and attached to a listener @@ -1185,7 +1185,7 @@ class OctaviaRoundRobin(feature_manager.FeatureManager): max_retries=self.hm_max_retries, delay=self.hm_delay, default_pool=True, qos_policy_id=policy['policy']['id']) - self.check_project_lbaas() + self.check_project_lbaas(source_ip=True) @decorators.attr(type='nsxv3') @decorators.idempotent_id('c5ac8546-5677-4b7a-8704-3843a12b1a98')