Not forcing listener CRUD testing with allowed_cidrs

With current code the listener CRUD tests are using allowed_cidrs
always as default. In order to increase coverage test are now splitted
by two using or not allowed_cidrs on the listener.

Note there are some specific test *_allowed_cidr* that will
still test the proper NotImplemented behaviour of the API for any
provider.

Change-Id: If10c8c0289e10c83cf2d25b581a65875dac9d6d1
Signed-off-by: Fernando Royo <froyo@redhat.com>
diff --git a/octavia_tempest_plugin/tests/api/v2/test_listener.py b/octavia_tempest_plugin/tests/api/v2/test_listener.py
index 46735a5..249c1ff 100644
--- a/octavia_tempest_plugin/tests/api/v2/test_listener.py
+++ b/octavia_tempest_plugin/tests/api/v2/test_listener.py
@@ -245,14 +245,26 @@
     def test_http_listener_create(self):
         self._test_listener_create(const.HTTP, 8000)
 
+    @decorators.idempotent_id('4aaf06a4-a9e0-440d-9ff8-d4be13ddea96')
+    def test_http_listener_create_no_allowed_cidrs(self):
+        self._test_listener_create(const.HTTP, 8100, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('2cc89237-fc6b-434d-b38e-b3309823e71f')
     def test_https_listener_create(self):
         self._test_listener_create(const.HTTPS, 8001)
 
+    @decorators.idempotent_id('6085be5d-c49c-4275-87a9-2e256dc2ac9b')
+    def test_https_listener_create_no_allowed_cidrs(self):
+        self._test_listener_create(const.HTTPS, 8101, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('45580065-5653-436b-aaff-dc465fa0a542')
     def test_tcp_listener_create(self):
         self._test_listener_create(const.TCP, 8002)
 
+    @decorators.idempotent_id('f20ab493-d92f-4c86-a053-0d788efaec11')
+    def test_tcp_listener_create_no_allowed_cidrs(self):
+        self._test_listener_create(const.TCP, 8102, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('1a6ba0d0-f309-4088-a686-dda0e9ab7e43')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
@@ -264,6 +276,18 @@
                                      'on Octavia API version 2.25 or newer.')
         self._test_listener_create(const.PROMETHEUS, 8090)
 
+    @decorators.idempotent_id('bfa264ec-c7dc-487a-9437-cb19d7aec7a3')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
+        'PROMETHEUS listener tests are disabled in the tempest configuration.')
+    def test_prometheus_listener_create_no_allowed_cidrs(self):
+        if not self.mem_listener_client.is_version_supported(
+                self.api_version, '2.25'):
+            raise self.skipException('PROMETHEUS listeners are only available '
+                                     'on Octavia API version 2.25 or newer.')
+        self._test_listener_create(const.PROMETHEUS, 8190,
+                                   use_allowed_cidrs=False)
+
     @decorators.idempotent_id('df9861c5-4a2a-4122-8d8f-5556156e343e')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
@@ -276,15 +300,37 @@
                 ' require the either the barbican service,or running in noop.')
         self._test_listener_create(const.TERMINATED_HTTPS, 8095)
 
+    @decorators.idempotent_id('3f91e0f6-e223-48ad-8c6a-b5a608cc8bb3')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
+        '[loadbalancer-feature-enabled] "terminated_tls_enabled" is '
+        'False in the tempest configuration. TLS tests will be skipped.')
+    def test_terminated_https_listener_create_no_allowed_cidrs(self):
+        if not self.should_apply_terminated_https():
+            raise self.skipException(
+                f'Listener API tests with {const.TERMINATED_HTTPS} protocol'
+                ' require the either the barbican service,or running in noop.')
+        self._test_listener_create(const.TERMINATED_HTTPS, 8195,
+                                   use_allowed_cidrs=False)
+
     @decorators.idempotent_id('7b53f336-47bc-45ae-bbd7-4342ef0673fc')
     def test_udp_listener_create(self):
         self._test_listener_create(const.UDP, 8003)
 
+    @decorators.idempotent_id('214a837a-7173-46d9-a83b-a6e80f9295da')
+    def test_udp_listener_create_no_allowed_cidrs(self):
+        self._test_listener_create(const.UDP, 8103, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('d6d36c32-27ff-4977-9d21-fd71a14e3b20')
     def test_sctp_listener_create(self):
         self._test_listener_create(const.SCTP, 8004)
 
-    def _test_listener_create(self, protocol, protocol_port):
+    @decorators.idempotent_id('bc38ac9b-7241-4047-b5aa-815f11359cf2')
+    def test_sctp_listener_create_no_allowed_cidrs(self):
+        self._test_listener_create(const.SCTP, 8104, use_allowed_cidrs=False)
+
+    def _test_listener_create(self, protocol, protocol_port,
+                              use_allowed_cidrs=True):
         """Tests listener create and basic show APIs.
 
         * Tests that users without the loadbalancer member role cannot
@@ -345,7 +391,7 @@
             })
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             # Test that CIDR IP version matches VIP IP version
             bad_cidrs = ['192.0.1.0/24', '2001:db8:a0b:12f0::/64']
             listener_kwargs.update({const.ALLOWED_CIDRS: bad_cidrs})
@@ -448,7 +494,7 @@
                                   listener[const.TAGS])
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             self.assertEqual(self.allowed_cidrs, listener[const.ALLOWED_CIDRS])
 
     @decorators.idempotent_id('cceac303-4db5-4d5a-9f6e-ff33780a5f29')
@@ -679,10 +725,18 @@
     def test_http_listener_list(self):
         self._test_listener_list(const.HTTP, 8020)
 
+    @decorators.idempotent_id('3a753098-2b7c-43f9-b3f2-2be5576ec594')
+    def test_http_listener_list_no_allowed_cidrs(self):
+        self._test_listener_list(const.HTTP, 8120, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('61b7c643-f5fa-4471-8f9e-2e0ccdaf5ac7')
     def test_https_listener_list(self):
         self._test_listener_list(const.HTTPS, 8030)
 
+    @decorators.idempotent_id('e6c05d39-b76a-4245-83c2-0fc889e1e955')
+    def test_https_listener_list_no_allowed_cidrs(self):
+        self._test_listener_list(const.HTTPS, 8130, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('5473e071-8277-4ac5-9277-01ecaf46e274')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
@@ -694,18 +748,42 @@
                                      'on Octavia API version 2.25 or newer.')
         self._test_listener_list(const.PROMETHEUS, 8091)
 
+    @decorators.idempotent_id('71dd1ab0-b203-468e-9333-690847b848ee')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
+        'PROMETHEUS listener tests are disabled in the tempest configuration.')
+    def test_prometheus_listener_list_no_allowed_cidrs(self):
+        if not self.mem_listener_client.is_version_supported(
+                self.api_version, '2.25'):
+            raise self.skipException('PROMETHEUS listeners are only available '
+                                     'on Octavia API version 2.25 or newer.')
+        self._test_listener_list(const.PROMETHEUS, 8191,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('1cd476e2-7788-415e-bcaf-c377acfc9794')
     def test_tcp_listener_list(self):
         self._test_listener_list(const.TCP, 8030)
 
+    @decorators.idempotent_id('bdfe190e-6cee-46ae-a7cf-4acf617339df')
+    def test_tcp_listener_list_no_allowed_cidrs(self):
+        self._test_listener_list(const.TCP, 8130, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('c08fb77e-b317-4d6f-b430-91f5b27ebac6')
     def test_udp_listener_list(self):
         self._test_listener_list(const.UDP, 8040)
 
+    @decorators.idempotent_id('d2fbaf87-8441-4d66-a1c7-f9e2b246a419')
+    def test_udp_listener_list_no_allowed_cidrs(self):
+        self._test_listener_list(const.UDP, 8140, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('0abc3998-aacd-4edd-88f5-c5c35557646f')
     def test_sctp_listener_list(self):
         self._test_listener_list(const.SCTP, 8041)
 
+    @decorators.idempotent_id('b8a52d1a-97c9-4356-abe6-2ac9e90eed0c')
+    def test_sctp_listener_list_no_allowed_cidrs(self):
+        self._test_listener_list(const.SCTP, 8141, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('aed69f58-fe69-401d-bf07-37b0d6d8437f')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
@@ -718,7 +796,21 @@
                 ' require the either the barbican service,or running in noop.')
         self._test_listener_list(const.TERMINATED_HTTPS, 8042)
 
-    def _test_listener_list(self, protocol, protocol_port_base):
+    @decorators.idempotent_id('0f0b5021-245e-42bd-84d5-c089c2028cf5')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
+        '[loadbalancer-feature-enabled] "terminated_tls_enabled" is '
+        'False in the tempest configuration. TLS tests will be skipped.')
+    def test_terminated_https_listener_list_no_allowed_cidrs(self):
+        if not self.should_apply_terminated_https():
+            raise self.skipException(
+                f'Listener API tests with {const.TERMINATED_HTTPS} protocol'
+                ' require the either the barbican service,or running in noop.')
+        self._test_listener_list(const.TERMINATED_HTTPS, 8142,
+                                 use_allowed_cidrs=False)
+
+    def _test_listener_list(self, protocol, protocol_port_base,
+                            use_allowed_cidrs=True):
         """Tests listener list API and field filtering.
 
         * Create a clean loadbalancer.
@@ -1010,7 +1102,7 @@
             show_listener_response_fields.append('timeout_member_data')
             show_listener_response_fields.append('timeout_tcp_inspect')
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             show_listener_response_fields.append('allowed_cidrs')
         if self.mem_listener_client.is_version_supported(
                 self.api_version, '2.27'):
@@ -1098,10 +1190,18 @@
     def test_http_listener_show(self):
         self._test_listener_show(const.HTTP, 8050)
 
+    @decorators.idempotent_id('f852a76d-f41c-48e4-9c73-6f99d49af581')
+    def test_http_listener_show_no_allowed_cidrs(self):
+        self._test_listener_show(const.HTTP, 8150, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('aa838646-435f-4a20-8442-519a7a138e7e')
     def test_https_listener_show(self):
         self._test_listener_show(const.HTTPS, 8051)
 
+    @decorators.idempotent_id('00ff83ca-e286-4080-b9ec-850979e676bb')
+    def test_https_listener_show_no_allowed_cidrs(self):
+        self._test_listener_show(const.HTTPS, 8151, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('b851b754-4333-4115-9063-a9fce44c2e46')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
@@ -1113,18 +1213,42 @@
                                      'on Octavia API version 2.25 or newer.')
         self._test_listener_show(const.PROMETHEUS, 8092)
 
+    @decorators.idempotent_id('6fd0c3ae-d091-4c45-aa72-447581ec7939')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
+        'PROMETHEUS listener tests are disabled in the tempest configuration.')
+    def test_prometheus_listener_show_no_allowed_cidrs(self):
+        if not self.mem_listener_client.is_version_supported(
+                self.api_version, '2.25'):
+            raise self.skipException('PROMETHEUS listeners are only available '
+                                     'on Octavia API version 2.25 or newer.')
+        self._test_listener_show(const.PROMETHEUS, 8192,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('1fcbbee2-b697-4890-b6bf-d308ac1c94cd')
     def test_tcp_listener_show(self):
         self._test_listener_show(const.TCP, 8052)
 
+    @decorators.idempotent_id('916d36b8-9211-4a4f-aa84-3ed38477afd3')
+    def test_tcp_listener_show_no_allowed_cidrs(self):
+        self._test_listener_show(const.TCP, 8152, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('1dea3a6b-c95b-4e91-b591-1aa9cbcd0d1d')
     def test_udp_listener_show(self):
         self._test_listener_show(const.UDP, 8053)
 
+    @decorators.idempotent_id('38201807-28d0-4e29-9796-58db3280484f')
+    def test_udp_listener_show_no_allowed_cidrs(self):
+        self._test_listener_show(const.UDP, 8153, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('10992529-1d0a-47a3-855c-3dbcd868db4e')
     def test_sctp_listener_show(self):
         self._test_listener_show(const.SCTP, 8054)
 
+    @decorators.idempotent_id('6755f564-c8b1-40a1-8514-4893feb6e54d')
+    def test_sctp_listener_show_no_allowed_cidrs(self):
+        self._test_listener_show(const.SCTP, 8154, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('2c2e7146-0efc-44b6-8401-f1c69c2422fe')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
@@ -1137,7 +1261,21 @@
                 ' require the either the barbican service,or running in noop.')
         self._test_listener_show(const.TERMINATED_HTTPS, 8055)
 
-    def _test_listener_show(self, protocol, protocol_port):
+    @decorators.idempotent_id('9d7bd568-cc8b-49fe-bfed-f612944bd489')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
+        '[loadbalancer-feature-enabled] "terminated_tls_enabled" is '
+        'False in the tempest configuration. TLS tests will be skipped.')
+    def test_terminated_https_listener_show_no_allowed_cidrs(self):
+        if not self.should_apply_terminated_https():
+            raise self.skipException(
+                f'Listener API tests with {const.TERMINATED_HTTPS} protocol'
+                ' require the either the barbican service,or running in noop.')
+        self._test_listener_show(const.TERMINATED_HTTPS, 8155,
+                                 use_allowed_cidrs=False)
+
+    def _test_listener_show(self, protocol, protocol_port,
+                            use_allowed_cidrs=True):
         """Tests listener show API.
 
         * Create a fully populated listener.
@@ -1199,7 +1337,7 @@
             })
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             listener_kwargs.update({const.ALLOWED_CIDRS: self.allowed_cidrs})
 
         listener = self.mem_listener_client.create_listener(**listener_kwargs)
@@ -1274,7 +1412,7 @@
             self.assertEqual(const.ONLINE, listener[const.OPERATING_STATUS])
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             self.assertEqual(self.allowed_cidrs, listener[const.ALLOWED_CIDRS])
 
         if hsts_supported:
@@ -1299,10 +1437,18 @@
     def test_http_listener_update(self):
         self._test_listener_update(const.HTTP, 8060)
 
+    @decorators.idempotent_id('8ee610b6-af92-4a59-8332-370b4d529250')
+    def test_http_listener_update_no_allowed_cidrs(self):
+        self._test_listener_update(const.HTTP, 8160, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('9679b061-2b2c-469f-abd9-26ed140ef001')
     def test_https_listener_update(self):
         self._test_listener_update(const.HTTPS, 8061)
 
+    @decorators.idempotent_id('cae9f1e2-c395-427a-a150-26ef864d6e83')
+    def test_https_listener_update_no_allowed_cidrs(self):
+        self._test_listener_update(const.HTTPS, 8161, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('cbba6bf8-9184-4da5-95e9-5efe1f89ddf0')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
@@ -1314,18 +1460,42 @@
                                      'on Octavia API version 2.25 or newer.')
         self._test_listener_update(const.PROMETHEUS, 8093)
 
+    @decorators.idempotent_id('cbc8ffa9-750f-4050-938a-555594f76916')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.prometheus_listener_enabled,
+        'PROMETHEUS listener tests are disabled in the tempest configuration.')
+    def test_prometheus_listener_update_no_allowed_cidrs(self):
+        if not self.mem_listener_client.is_version_supported(
+                self.api_version, '2.25'):
+            raise self.skipException('PROMETHEUS listeners are only available '
+                                     'on Octavia API version 2.25 or newer.')
+        self._test_listener_update(const.PROMETHEUS, 8193,
+                                   use_allowed_cidrs=False)
+
     @decorators.idempotent_id('8d933121-db03-4ccc-8b77-4e879064a9ba')
     def test_tcp_listener_update(self):
         self._test_listener_update(const.TCP, 8062)
 
+    @decorators.idempotent_id('64b20147-59f0-4ce5-9390-d03767ae12c4')
+    def test_tcp_listener_update_no_allowed_cidrs(self):
+        self._test_listener_update(const.TCP, 8162, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('fd02dbfd-39ce-41c2-b181-54fc7ad91707')
     def test_udp_listener_update(self):
         self._test_listener_update(const.UDP, 8063)
 
+    @decorators.idempotent_id('1cf09eeb-c983-4dd6-b5d3-d36fb61830b2')
+    def test_udp_listener_update_no_allowed_cidrs(self):
+        self._test_listener_update(const.UDP, 8163, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('c590b485-4e08-4e49-b384-2282b3f6f1b9')
     def test_sctp_listener_update(self):
         self._test_listener_update(const.SCTP, 8064)
 
+    @decorators.idempotent_id('818d840a-c1e9-426b-92b9-c5131df2ba4f')
+    def test_sctp_listener_update_no_allowed_cidrs(self):
+        self._test_listener_update(const.SCTP, 8164, use_allowed_cidrs=False)
+
     @decorators.idempotent_id('2ae08e10-fbf8-46d8-a073-15f90454d718')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
@@ -1338,7 +1508,21 @@
                 ' require the either the barbican service,or running in noop.')
         self._test_listener_update(const.TERMINATED_HTTPS, 8065)
 
-    def _test_listener_update(self, protocol, protocol_port):
+    @decorators.idempotent_id('32e88736-6ba1-4d14-83ef-ebdb3e3950e4')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
+        '[loadbalancer-feature-enabled] "terminated_tls_enabled" is '
+        'False in the tempest configuration. TLS tests will be skipped.')
+    def test_terminated_https_listener_update_no_allowed_cidrs(self):
+        if not self.should_apply_terminated_https():
+            raise self.skipException(
+                f'Listener API tests with {const.TERMINATED_HTTPS} protocol'
+                ' require the either the barbican service,or running in noop.')
+        self._test_listener_update(const.TERMINATED_HTTPS, 8165,
+                                   use_allowed_cidrs=False)
+
+    def _test_listener_update(self, protocol, protocol_port,
+                              use_allowed_cidrs=True):
         """Tests listener update and show APIs.
 
         * Create a fully populated listener.
@@ -1398,7 +1582,7 @@
             })
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             listener_kwargs.update({const.ALLOWED_CIDRS: self.allowed_cidrs})
 
         listener = self.mem_listener_client.create_listener(**listener_kwargs)
@@ -1459,7 +1643,7 @@
                                   listener[const.TAGS])
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             self.assertEqual(self.allowed_cidrs, listener[const.ALLOWED_CIDRS])
 
         # Test that a user without the loadbalancer role cannot
@@ -1514,7 +1698,7 @@
             })
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             # Test that CIDR IP version matches VIP IP version
             bad_cidrs = ['192.0.2.0/24', '2001:db8::/6']
             listener_update_kwargs.update({const.ALLOWED_CIDRS: bad_cidrs})
@@ -1592,7 +1776,7 @@
                                   listener[const.TAGS])
 
         if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+                self.api_version, '2.12') and use_allowed_cidrs:
             expected_cidrs = ['192.0.2.0/24']
             if CONF.load_balancer.test_with_ipv6:
                 expected_cidrs = ['2001:db8::/64']
@@ -1716,22 +1900,47 @@
     def test_http_listener_show_stats(self):
         self._test_listener_show_stats(const.HTTP, 8080)
 
+    @decorators.idempotent_id('2a97a5f3-f05c-447c-80a7-326efcf31ab2')
+    def test_http_listener_show_stats_no_allowed_cidrs(self):
+        self._test_listener_show_stats(const.HTTP, 8180,
+                                       use_allowed_cidrs=False)
+
     @decorators.idempotent_id('f8a43c27-f0a0-496d-a287-1958f337ac04')
     def test_https_listener_show_stats(self):
         self._test_listener_show_stats(const.HTTPS, 8081)
 
+    @decorators.idempotent_id('9766962d-6819-4cb7-944a-899fef3fa241')
+    def test_https_listener_show_stats_no_allowed_cidrs(self):
+        self._test_listener_show_stats(const.HTTPS, 8181,
+                                       use_allowed_cidrs=False)
+
     @decorators.idempotent_id('8a999856-f448-498c-b891-21af449b5208')
     def test_tcp_listener_show_stats(self):
         self._test_listener_show_stats(const.TCP, 8082)
 
+    @decorators.idempotent_id('6afaea72-f4ed-4f15-a1c3-57ed16f12068')
+    def test_tcp_listener_show_stats_no_allowed_cidrs(self):
+        self._test_listener_show_stats(const.TCP, 8182,
+                                       use_allowed_cidrs=False)
+
     @decorators.idempotent_id('a4c1f199-923b-41e4-a134-c91e590e20c4')
     def test_udp_listener_show_stats(self):
         self._test_listener_show_stats(const.UDP, 8083)
 
+    @decorators.idempotent_id('45a120c4-9bd1-4032-ae5e-9b6458598b3d')
+    def test_udp_listener_show_stats_no_allowed_cidrs(self):
+        self._test_listener_show_stats(const.UDP, 8183,
+                                       use_allowed_cidrs=False)
+
     @decorators.idempotent_id('7f6d3906-529c-4b99-8376-b836059df220')
     def test_sctp_listener_show_stats(self):
         self._test_listener_show_stats(const.SCTP, 8084)
 
+    @decorators.idempotent_id('460f2308-9411-4ab2-9b9e-23fe87c9dec3')
+    def test_sctp_listener_show_stats_no_allowed_cidrs(self):
+        self._test_listener_show_stats(const.SCTP, 8184,
+                                       use_allowed_cidrs=False)
+
     @decorators.idempotent_id('c39c996f-9633-4d81-a5f1-e94643f0c650')
     @testtools.skipUnless(
         CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
@@ -1744,7 +1953,21 @@
                 ' require the either the barbican service,or running in noop.')
         self._test_listener_show_stats(const.TERMINATED_HTTPS, 8085)
 
-    def _test_listener_show_stats(self, protocol, protocol_port):
+    @decorators.idempotent_id('a402f84c-a29e-4e24-8ef6-f7eb8b0ffc46')
+    @testtools.skipUnless(
+        CONF.loadbalancer_feature_enabled.terminated_tls_enabled,
+        '[loadbalancer-feature-enabled] "terminated_tls_enabled" is '
+        'False in the tempest configuration. TLS tests will be skipped.')
+    def test_terminated_https_listener_show_stats_no_allowed_cidrs(self):
+        if not self.should_apply_terminated_https():
+            raise self.skipException(
+                f'Listener API tests with {const.TERMINATED_HTTPS} protocol'
+                ' require the either the barbican service,or running in noop.')
+        self._test_listener_show_stats(const.TERMINATED_HTTPS, 8085,
+                                       use_allowed_cidrs=False)
+
+    def _test_listener_show_stats(self, protocol, protocol_port,
+                                  use_allowed_cidrs=True):
         """Tests listener show statistics API.
 
         * Create a listener.
@@ -1776,6 +1999,10 @@
                                            self.SNI2_secret_ref],
             })
 
+        if self.mem_listener_client.is_version_supported(
+                self.api_version, '2.12') and use_allowed_cidrs:
+            listener_kwargs.update({const.ALLOWED_CIDRS: self.allowed_cidrs})
+
         listener = self.mem_listener_client.create_listener(**listener_kwargs)
         self.addCleanup(
             self.mem_listener_client.cleanup_listener,
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_listener.py b/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
index be997aa..74514f2 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
@@ -118,54 +118,117 @@
                                           const.LB_ALGORITHM_LEAST_CONNECTIONS)
         self._test_listener_CRUD(const.HTTP, pool1, pool2)
 
+    @decorators.idempotent_id('d6d729ba-b03f-496c-8e0f-53704cd4994d')
+    def test_http_least_connections_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.HTTP,
+                                          const.LB_ALGORITHM_LEAST_CONNECTIONS)
+        self._test_listener_CRUD(const.HTTP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('0681b2ac-8301-4e6c-bf29-b35244864af3')
     def test_tcp_least_connections_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.TCP,
                                           const.LB_ALGORITHM_LEAST_CONNECTIONS)
         self._test_listener_CRUD(const.TCP, pool1, pool2)
 
+    @decorators.idempotent_id('10c5ecc8-533d-403c-9eb1-e3ca83586781')
+    def test_tcp_least_connections_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.TCP,
+                                          const.LB_ALGORITHM_LEAST_CONNECTIONS)
+        self._test_listener_CRUD(const.TCP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('27a2ba7d-6147-46e4-886a-47c1ba63bf89')
     def test_udp_least_connections_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.UDP,
                                           const.LB_ALGORITHM_LEAST_CONNECTIONS)
         self._test_listener_CRUD(const.UDP, pool1, pool2)
 
+    @decorators.idempotent_id('76776488-b38d-418e-9804-e0be4a443b51')
+    def test_udp_least_connections_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.UDP,
+                                          const.LB_ALGORITHM_LEAST_CONNECTIONS)
+        self._test_listener_CRUD(const.UDP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('4a874014-b7d1-49a4-ac9a-2400b3434700')
     def test_http_round_robin_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.HTTP,
                                           const.LB_ALGORITHM_ROUND_ROBIN)
         self._test_listener_CRUD(const.HTTP, pool1, pool2)
 
+    @decorators.idempotent_id('a2d8e2ca-5104-41b0-b011-819782e01054')
+    def test_http_round_robin_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.HTTP,
+                                          const.LB_ALGORITHM_ROUND_ROBIN)
+        self._test_listener_CRUD(const.HTTP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('2b888812-d916-44f0-b620-8d83dbb45975')
     def test_tcp_round_robin_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.TCP,
                                           const.LB_ALGORITHM_ROUND_ROBIN)
         self._test_listener_CRUD(const.TCP, pool1, pool2)
 
+    @decorators.idempotent_id('1b2bfce6-29f9-4af6-87f2-329654c03c3d')
+    def test_tcp_round_robin_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.TCP,
+                                          const.LB_ALGORITHM_ROUND_ROBIN)
+        self._test_listener_CRUD(const.TCP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('dd913f74-c6a6-4998-9bed-095babb9cb47')
     def test_udp_round_robin_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.UDP,
                                           const.LB_ALGORITHM_ROUND_ROBIN)
         self._test_listener_CRUD(const.UDP, pool1, pool2)
 
+    @decorators.idempotent_id('4a938409-eb79-4a9b-b003-44115153163d')
+    def test_udp_round_robin_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.UDP,
+                                          const.LB_ALGORITHM_ROUND_ROBIN)
+        self._test_listener_CRUD(const.UDP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('b2ae8604-7a4f-477c-9658-fac27734671a')
     def test_http_source_ip_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.HTTP,
                                           const.LB_ALGORITHM_SOURCE_IP)
         self._test_listener_CRUD(const.HTTP, pool1, pool2)
 
+    @decorators.idempotent_id('baa747b1-0b3c-4f56-a1d1-b5550ec69c6e')
+    def test_http_source_ip_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.HTTP,
+                                          const.LB_ALGORITHM_SOURCE_IP)
+        self._test_listener_CRUD(const.HTTP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('0ad3fdee-e8c2-4c44-9690-b8a838fbc7a5')
     def test_tcp_source_ip_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.TCP,
                                           const.LB_ALGORITHM_SOURCE_IP)
         self._test_listener_CRUD(const.TCP, pool1, pool2)
 
+    @decorators.idempotent_id('3778e729-8c5b-4634-876a-8bacba0976c2')
+    def test_tcp_source_ip_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.TCP,
+                                          const.LB_ALGORITHM_SOURCE_IP)
+        self._test_listener_CRUD(const.TCP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('7830aba8-12ca-40d9-9d9b-a63f7a43b287')
     def test_udp_source_ip_listener_CRUD(self):
         pool1, pool2 = self._create_pools(const.UDP,
                                           const.LB_ALGORITHM_SOURCE_IP)
         self._test_listener_CRUD(const.UDP, pool1, pool2)
 
+    @decorators.idempotent_id('8d98b27b-f775-4f1b-8b74-88ec2e60e39f')
+    def test_udp_source_ip_listener_CRUD_no_allowed_cidrs(self):
+        pool1, pool2 = self._create_pools(const.UDP,
+                                          const.LB_ALGORITHM_SOURCE_IP)
+        self._test_listener_CRUD(const.UDP, pool1, pool2,
+                                 use_allowed_cidrs=False)
+
     @decorators.idempotent_id('807a421e-5e99-4556-b0eb-512d39b25eac')
     def test_http_source_ip_port_listener_CRUD(self):
         try:
@@ -180,6 +243,21 @@
                 message = e.resp_body.get('faultstring', message)
             raise testtools.TestCase.skipException(message)
 
+    @decorators.idempotent_id('1d522a51-4fa0-4b8e-9f72-292e0f145bf1')
+    def test_http_source_ip_port_listener_CRUD_no_allowed_cidrs(self):
+        try:
+            pool1, pool2 = self._create_pools(
+                const.HTTP, const.LB_ALGORITHM_SOURCE_IP_PORT)
+            self._test_listener_CRUD(const.HTTP, pool1, pool2,
+                                     use_allowed_cidrs=False)
+        except exceptions.NotImplemented as e:
+            message = ("The configured provider driver '{driver}' "
+                       "does not support a feature required for this "
+                       "test.".format(driver=CONF.load_balancer.provider))
+            if hasattr(e, 'resp_body'):
+                message = e.resp_body.get('faultstring', message)
+            raise testtools.TestCase.skipException(message)
+
     @decorators.idempotent_id('6211f8ad-622d-404d-b199-8c2eb55ab340')
     def test_tcp_source_ip_port_listener_CRUD(self):
         try:
@@ -194,6 +272,21 @@
                 message = e.resp_body.get('faultstring', message)
             raise testtools.TestCase.skipException(message)
 
+    @decorators.idempotent_id('a66d32f9-2186-437e-a145-139f5a1b0786')
+    def test_tcp_source_ip_port_listener_CRUD_no_allowed_cidrs(self):
+        try:
+            pool1, pool2 = self._create_pools(
+                const.TCP, const.LB_ALGORITHM_SOURCE_IP_PORT)
+            self._test_listener_CRUD(const.TCP, pool1, pool2,
+                                     use_allowed_cidrs=False)
+        except exceptions.NotImplemented as e:
+            message = ("The configured provider driver '{driver}' "
+                       "does not support a feature required for this "
+                       "test.".format(driver=CONF.load_balancer.provider))
+            if hasattr(e, 'resp_body'):
+                message = e.resp_body.get('faultstring', message)
+            raise testtools.TestCase.skipException(message)
+
     @decorators.idempotent_id('3f9a2de9-5012-437d-a907-a25e1f68ccfb')
     def test_udp_source_ip_port_listener_CRUD(self):
         try:
@@ -208,7 +301,23 @@
                 message = e.resp_body.get('faultstring', message)
             raise testtools.TestCase.skipException(message)
 
-    def _test_listener_CRUD(self, protocol, pool1_id, pool2_id):
+    @decorators.idempotent_id('dff6d829-9122-47cb-9ce5-f2def7fcf902')
+    def test_udp_source_ip_port_listener_CRUD_no_allowed_cidrs(self):
+        try:
+            pool1, pool2 = self._create_pools(
+                const.UDP, const.LB_ALGORITHM_SOURCE_IP_PORT)
+            self._test_listener_CRUD(const.UDP, pool1, pool2,
+                                     use_allowed_cidrs=False)
+        except exceptions.NotImplemented as e:
+            message = ("The configured provider driver '{driver}' "
+                       "does not support a feature required for this "
+                       "test.".format(driver=CONF.load_balancer.provider))
+            if hasattr(e, 'resp_body'):
+                message = e.resp_body.get('faultstring', message)
+            raise testtools.TestCase.skipException(message)
+
+    def _test_listener_CRUD(self, protocol, pool1_id, pool2_id,
+                            use_allowed_cidrs=True):
         """Tests listener create, read, update, delete
 
         * Create a fully populated listener.
@@ -249,8 +358,9 @@
                 const.TIMEOUT_MEMBER_DATA: 1000,
                 const.TIMEOUT_TCP_INSPECT: 50,
             })
-        if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+        if (use_allowed_cidrs and
+                self.mem_listener_client.is_version_supported(
+                    self.api_version, '2.12')):
             listener_kwargs.update({const.ALLOWED_CIDRS: self.allowed_cidrs})
 
         listener = self.mem_listener_client.create_listener(**listener_kwargs)
@@ -295,8 +405,9 @@
             self.assertEqual(1000, listener[const.TIMEOUT_MEMBER_CONNECT])
             self.assertEqual(1000, listener[const.TIMEOUT_MEMBER_DATA])
             self.assertEqual(50, listener[const.TIMEOUT_TCP_INSPECT])
-        if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+        if (use_allowed_cidrs and
+                self.mem_listener_client.is_version_supported(
+                    self.api_version, '2.12')):
             self.assertEqual(self.allowed_cidrs, listener[const.ALLOWED_CIDRS])
 
         # Listener update
@@ -328,9 +439,9 @@
                 const.TIMEOUT_MEMBER_DATA: 2000,
                 const.TIMEOUT_TCP_INSPECT: 100,
             })
-
-        if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+        if (use_allowed_cidrs and
+                self.mem_listener_client.is_version_supported(
+                    self.api_version, '2.12')):
             new_cidrs = ['192.0.2.0/24']
             if CONF.load_balancer.test_with_ipv6:
                 new_cidrs = ['2001:db8::/64']
@@ -382,8 +493,9 @@
             self.assertEqual(2000, listener[const.TIMEOUT_MEMBER_CONNECT])
             self.assertEqual(2000, listener[const.TIMEOUT_MEMBER_DATA])
             self.assertEqual(100, listener[const.TIMEOUT_TCP_INSPECT])
-        if self.mem_listener_client.is_version_supported(
-                self.api_version, '2.12'):
+        if (use_allowed_cidrs and
+                self.mem_listener_client.is_version_supported(
+                    self.api_version, '2.12')):
             expected_cidrs = ['192.0.2.0/24']
             if CONF.load_balancer.test_with_ipv6:
                 expected_cidrs = ['2001:db8::/64']