Merge "Adjust sec group test for tungstenfabric backend" into mcp/antelope
diff --git a/neutron_tempest_plugin/scenario/test_security_groups.py b/neutron_tempest_plugin/scenario/test_security_groups.py
index 58c36e2..2980e43 100644
--- a/neutron_tempest_plugin/scenario/test_security_groups.py
+++ b/neutron_tempest_plugin/scenario/test_security_groups.py
@@ -19,6 +19,7 @@
from tempest.common import utils as tempest_utils
from tempest.common import waiters
+from tempest import config as tempestconf
from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
from tempest.lib import decorators
@@ -544,7 +545,7 @@
direction=constants.INGRESS_DIRECTION,
remote_group_id=secgroups[1]['id'])
- self.create_secgroup_rules(
+ secgroup_rules = self.create_secgroup_rules(
rule_list, secgroup_id=secgroups[1]['id'])
# verify that conections are working
@@ -554,9 +555,19 @@
con.test_connection()
# list the tcp rule id by SG id and port-range
- sg_rule_id = self.os_primary.network_client.list_security_group_rules(
- security_group_id=secgroups[1]['id'],
- port_range_min=80)['security_group_rules'][0]['id']
+ # (gzimin): due to TungstenFabric lack of subnet filtering,
+ # secgroup rule to delete should be taken directly
+ # from create request.
+ if tempestconf.is_tungstenfabric_backend_enabled():
+ for rule in secgroup_rules:
+ if rule['port_range_min'] == 80:
+ sg_rule_id = rule['id']
+ break
+ else:
+ sg_rule_id = \
+ self.os_primary.network_client.list_security_group_rules(
+ security_group_id=secgroups[1]['id'],
+ port_range_min=80)['security_group_rules'][0]['id']
# delete the tcp rule from the security group
self.client.delete_security_group_rule(sg_rule_id)