Merge "Add skip for SOURCE_IP_PORT if provider is amphorav2" into mcp/caracal
diff --git a/octavia_tempest_plugin/tests/api/v2/test_healthmonitor.py b/octavia_tempest_plugin/tests/api/v2/test_healthmonitor.py
index da14ec6..ead8935 100644
--- a/octavia_tempest_plugin/tests/api/v2/test_healthmonitor.py
+++ b/octavia_tempest_plugin/tests/api/v2/test_healthmonitor.py
@@ -1645,6 +1645,13 @@
 
 class HealthMonitorSourceIPPortAPITest(HealthMonitorAPIBaseTest):
 
+    @classmethod
+    def skip_checks(cls):
+        super(HealthMonitorSourceIPPortAPITest, cls).skip_checks()
+        if CONF.load_balancer.provider == 'amphorav2':
+            raise cls.skipException("Amphora provider does not"
+                                    " support SOURCE_IP_PORT algorithm.")
+
     @decorators.idempotent_id('acab47f5-3006-4e84-a55f-e9dfe33113d2')
     def test_SIP_HTTP_healthmonitor_create(self):
         self._test_healthmonitor_create(
diff --git a/octavia_tempest_plugin/tests/api/v2/test_member.py b/octavia_tempest_plugin/tests/api/v2/test_member.py
index 079e988..b1c0e21 100644
--- a/octavia_tempest_plugin/tests/api/v2/test_member.py
+++ b/octavia_tempest_plugin/tests/api/v2/test_member.py
@@ -416,6 +416,9 @@
         self._test_member_create(4, pool_id)
 
     @decorators.idempotent_id('a2dbf216-a974-45e1-822d-859f76c89ed6')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_HTTP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -423,6 +426,9 @@
         self._test_member_create(4, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('926eeed9-ecf4-4d22-9417-ef7a7e0a7788')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_HTTP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -430,6 +436,9 @@
         self._test_member_create(4, pool_id)
 
     @decorators.idempotent_id('55da07bc-bf2c-4924-aba3-a03456843e14')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_HTTPS_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -437,6 +446,9 @@
         self._test_member_create(4, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('6773a8bd-1c51-4040-84ba-1aa2b6c4280d')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_HTTPS_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -444,6 +456,9 @@
         self._test_member_create(4, pool_id)
 
     @decorators.idempotent_id('ab462d7c-069d-4b55-b6a7-dd199bde65b3')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_PROXY_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -451,6 +466,9 @@
         self._test_member_create(4, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('b1f6f779-2535-4e47-add2-24561545ba59')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_PROXY_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -458,6 +476,9 @@
         self._test_member_create(4, pool_id)
 
     @decorators.idempotent_id('73673efc-5b70-4394-b831-1d59fe283e7d')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_TCP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -465,6 +486,9 @@
         self._test_member_create(4, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('0a08da1e-84f5-4068-84ec-1312b6b8bee3')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_TCP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -480,6 +504,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_UDP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -495,6 +522,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv4_UDP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -760,6 +790,9 @@
         self._test_member_create(6, pool_id)
 
     @decorators.idempotent_id('d816d324-2434-4812-9b3e-a3f0d4949008')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_HTTP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -767,6 +800,9 @@
         self._test_member_create(6, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('d4cfe315-b6d6-4940-8ff6-5f5252028eec')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_HTTP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -774,6 +810,9 @@
         self._test_member_create(6, pool_id)
 
     @decorators.idempotent_id('05684ab0-dff3-41aa-8b42-7f95fd6aa4ab')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_HTTPS_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -781,6 +820,9 @@
         self._test_member_create(6, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('ed42872c-1ffc-4210-9f69-5f7eb8ec732f')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_HTTPS_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -788,6 +830,9 @@
         self._test_member_create(6, pool_id)
 
     @decorators.idempotent_id('ab87132f-5a0e-40a1-9498-9883780d31a9')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_PROXY_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -795,6 +840,9 @@
         self._test_member_create(6, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('227d7f40-a224-4e67-8844-2d28abc5171e')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_PROXY_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -802,6 +850,9 @@
         self._test_member_create(6, pool_id)
 
     @decorators.idempotent_id('b8394de8-a898-4cab-aa0c-f3168d702ee0')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_TCP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -809,6 +860,9 @@
         self._test_member_create(6, pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('7a86e00b-90bf-4fd3-8636-ae7264929106')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_TCP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -824,6 +878,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    not CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_UDP_SIP_alt_monitor_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -839,6 +896,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    not CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_UDP_SIP_member_create(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -1056,26 +1116,41 @@
                                const.LB_ALGORITHM_SOURCE_IP)
 
     @decorators.idempotent_id('2f9d0974-2e55-49c1-b83a-8bdd6dfdb46c')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_member_list(self):
         self._test_member_list(const.HTTP,
                                const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('d31c5b8b-7ec1-4e78-a821-30e9a1e05139')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_member_list(self):
         self._test_member_list(const.HTTPS,
                                const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('15f8690b-f345-413c-9b4e-af39d546fbec')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_member_list(self):
         self._test_member_list(const.PROXY,
                                const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('db5769ce-f4b0-4a0f-92a7-4eeed66b6730')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_member_list(self):
         self._test_member_list(const.TCP,
                                const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('638811fa-26ce-44f3-8ac7-29cf1ef41838')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_member_list(self):
         self._test_member_list(const.UDP,
                                const.LB_ALGORITHM_SOURCE_IP_PORT)
@@ -1681,6 +1756,9 @@
         self._test_member_show(pool_id)
 
     @decorators.idempotent_id('7c4fcb3e-a994-4d39-97cc-929c022c001e')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_alt_monitor_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -1688,6 +1766,9 @@
         self._test_member_show(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('704d04c3-e639-4dee-b55d-09ebf55f8a0d')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -1695,6 +1776,9 @@
         self._test_member_show(pool_id)
 
     @decorators.idempotent_id('69de0c60-3e4f-40cf-9bf7-d2b1e6c83715')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_alt_monitor_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -1702,6 +1786,9 @@
         self._test_member_show(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('2d970b1c-c157-4974-b605-b8e08d97e874')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -1709,6 +1796,9 @@
         self._test_member_show(pool_id)
 
     @decorators.idempotent_id('28e1e3e7-454b-409d-84c3-1826f82ca9dd')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_alt_monitor_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -1716,6 +1806,9 @@
         self._test_member_show(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('189ec327-b1c5-47a8-a843-10963cba0a9c')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -1723,6 +1816,9 @@
         self._test_member_show(pool_id)
 
     @decorators.idempotent_id('6953a9a4-5fac-4470-bfda-4fafbd67288b')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_alt_monitor_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -1730,6 +1826,9 @@
         self._test_member_show(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('6d8d546f-8c41-49b9-bd9d-8f8ea3975816')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -1745,6 +1844,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_alt_monitor_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -1760,6 +1862,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_member_show(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -2122,6 +2227,9 @@
         self._test_member_update(pool_id)
 
     @decorators.idempotent_id('5215ecc4-fd47-451a-b073-399bad8b522c')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_alt_monitor_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -2129,6 +2237,9 @@
         self._test_member_update(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('7c89fb05-d949-4c0f-8c61-7e55e494c76f')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -2136,6 +2247,9 @@
         self._test_member_update(pool_id)
 
     @decorators.idempotent_id('edff98be-6208-4f1c-9cd3-376b7ac47f80')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_alt_monitor_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -2143,6 +2257,9 @@
         self._test_member_update(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('a1f214fe-6c09-4298-b03e-7069b615dec2')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -2150,6 +2267,9 @@
         self._test_member_update(pool_id)
 
     @decorators.idempotent_id('56a21d8e-825a-4780-a073-41061a0d55ca')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_alt_monitor_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -2157,6 +2277,9 @@
         self._test_member_update(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('25a24e27-218b-4dcd-99aa-e9ca9f8163e5')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -2164,6 +2287,9 @@
         self._test_member_update(pool_id)
 
     @decorators.idempotent_id('d6625773-2665-423d-8500-cf9b1b38b53e')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_alt_monitor_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -2171,6 +2297,9 @@
         self._test_member_update(pool_id, alternate_monitor=True)
 
     @decorators.idempotent_id('87a3e3aa-580a-41ca-bc15-8cb2995c9125')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -2186,6 +2315,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_alt_monitor_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -2201,6 +2333,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_member_update(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
@@ -2577,55 +2712,85 @@
                                        alternate_monitor=True)
 
     @decorators.idempotent_id('617028e2-89fb-4e7e-ba62-1a8a7af697ca')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_member_batch_update(self):
         self._test_member_batch_update(const.HTTP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('44a2508d-ecea-4f92-ba66-a64d6d7f12da')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_alt_monitor_member_batch_update(self):
         self._test_member_batch_update(const.HTTP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT,
                                        alternate_monitor=True)
 
     @decorators.idempotent_id('794137e5-28c1-4b0e-bc2f-fc030d03a689')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_member_batch_update(self):
         self._test_member_batch_update(const.HTTPS,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('c1c8930d-0436-4075-b47a-f3bd263ab8a8')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_alt_monitor_member_batch_update(self):
         self._test_member_batch_update(const.HTTPS,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT,
                                        alternate_monitor=True)
 
     @decorators.idempotent_id('1ab05cf2-265e-4291-b17c-19caa0a1b6ff')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_member_batch_update(self):
         self._test_member_batch_update(const.PROXY,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('4de187b6-4948-4394-af6b-8828e96d8f3e')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_alt_monitor_member_batch_update(self):
         self._test_member_batch_update(const.PROXY,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT,
                                        alternate_monitor=True)
 
     @decorators.idempotent_id('1d171080-c7e5-4ee0-83d4-51bb1655cb21')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_member_batch_update(self):
         self._test_member_batch_update(const.TCP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('52328f7a-bec4-4f23-9293-f5f1283c0af9')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_alt_monitor_member_batch_update(self):
         self._test_member_batch_update(const.TCP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT,
                                        alternate_monitor=True)
 
     @decorators.idempotent_id('00b3ebda-c28c-471b-bbf8-01de6567b4b5')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_member_batch_update(self):
         self._test_member_batch_update(const.UDP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('e4a357a3-1d07-46f4-a8ff-67a279783b24')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_alt_monitor_member_batch_update(self):
         self._test_member_batch_update(const.UDP,
                                        const.LB_ALGORITHM_SOURCE_IP_PORT,
@@ -2966,6 +3131,9 @@
         self._test_member_delete(pool_id)
 
     @decorators.idempotent_id('1c9f9dc5-4ba3-44cd-a840-fd0629abfddd')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTP_SIP_member_delete(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTP, pool_protocol=const.HTTP,
@@ -2973,6 +3141,9 @@
         self._test_member_delete(pool_id)
 
     @decorators.idempotent_id('93ef7ac1-da00-420d-a367-22e86d968e1c')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_HTTPS_SIP_member_delete(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.HTTPS, pool_protocol=const.HTTPS,
@@ -2980,6 +3151,9 @@
         self._test_member_delete(pool_id)
 
     @decorators.idempotent_id('e83b9389-768f-4bcf-a650-17af01243d2b')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_PROXY_SIP_member_delete(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.PROXY,
@@ -2987,6 +3161,9 @@
         self._test_member_delete(pool_id)
 
     @decorators.idempotent_id('eca3d41d-21bd-4547-b8b8-8f87867eb4ad')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_TCP_SIP_member_delete(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.TCP, pool_protocol=const.TCP,
@@ -3002,6 +3179,9 @@
         bug_type='storyboard',
         condition=(CONF.load_balancer.provider in const.AMPHORA_PROVIDERS and
                    CONF.load_balancer.test_with_ipv6))
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_UDP_SIP_member_delete(self):
         pool_id = self._listener_pool_create(
             listener_protocol=const.UDP, pool_protocol=const.UDP,
diff --git a/octavia_tempest_plugin/tests/api/v2/test_pool.py b/octavia_tempest_plugin/tests/api/v2/test_pool.py
index bc717a7..d85d593 100644
--- a/octavia_tempest_plugin/tests/api/v2/test_pool.py
+++ b/octavia_tempest_plugin/tests/api/v2/test_pool.py
@@ -1575,6 +1575,13 @@
 class PoolSourceIPPortAPITest(PoolAPIBaseTest):
     """Pool with Source IP Port algorithm"""
 
+    @classmethod
+    def skip_checks(cls):
+        super(PoolSourceIPPortAPITest, cls).skip_checks()
+        if CONF.load_balancer.provider == 'amphorav2':
+            raise cls.skipException("Amphora provider does not"
+                                    " support SOURCE_IP_PORT algorithm.")
+
     @decorators.idempotent_id('265ba978-a528-429c-9ef7-c36373ee2225')
     def test_HTTP_SIP_pool_standalone_create(self):
         self._test_pool_create(listener_protocol=None,
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_healthmonitor.py b/octavia_tempest_plugin/tests/scenario/v2/test_healthmonitor.py
index eff0e1f..0b7b33e 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_healthmonitor.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_healthmonitor.py
@@ -169,6 +169,9 @@
             const.HEALTH_MONITOR_UDP_CONNECT)
 
     @decorators.idempotent_id('d5e0d1b6-7cce-4592-abce-0ac6bee18818')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_HTTP_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
@@ -183,6 +186,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('e188daac-6db9-4dc2-8ecb-b47932e1984a')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_HTTPS_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
@@ -197,6 +203,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('f9458ffd-5af7-402b-9c15-c061bf2eb9ba')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_PING_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
@@ -211,6 +220,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('b4cbe603-0a14-4778-b38c-f330053c86b6')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_TCP_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
@@ -225,6 +237,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('57714d4c-d584-4345-9ceb-becc3ae37b7f')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_TLS_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
@@ -239,6 +254,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('cc4abf84-361b-409b-b859-9a860d539deb')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_SIP_UDP_healthmonitor_CRUD(self):
         try:
             self._test_healthmonitor_CRUD(
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_ipv6_traffic_ops.py b/octavia_tempest_plugin/tests/scenario/v2/test_ipv6_traffic_ops.py
index d4eaa86..b27b8fc 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_ipv6_traffic_ops.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_ipv6_traffic_ops.py
@@ -345,16 +345,25 @@
             const.UDP, 98, const.LB_ALGORITHM_SOURCE_IP)
 
     @decorators.idempotent_id('c11768f1-19b4-48cc-99a5-0737379b1957')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_http_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.HTTP, 99, const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('fcfe2ab1-2c36-4793-a926-1fec589a9a2a')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_tcp_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.TCP, 100, const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('80f31bc1-819e-4d9e-8820-bf3e28600540')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_ipv6_udp_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.UDP, 101, const.LB_ALGORITHM_SOURCE_IP_PORT)
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_listener.py b/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
index f1a9c04..9683244 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_listener.py
@@ -193,6 +193,9 @@
         self._test_listener_CRUD(const.UDP, pool1, pool2)
 
     @decorators.idempotent_id('807a421e-5e99-4556-b0eb-512d39b25eac')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_http_source_ip_port_listener_CRUD(self):
         try:
             pool1, pool2 = self._create_pools(
@@ -207,6 +210,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('6211f8ad-622d-404d-b199-8c2eb55ab340')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_tcp_source_ip_port_listener_CRUD(self):
         try:
             pool1, pool2 = self._create_pools(
@@ -221,6 +227,9 @@
             raise testtools.TestCase.skipException(message)
 
     @decorators.idempotent_id('3f9a2de9-5012-437d-a907-a25e1f68ccfb')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_udp_source_ip_port_listener_CRUD(self):
         try:
             pool1, pool2 = self._create_pools(
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_member.py b/octavia_tempest_plugin/tests/scenario/v2/test_member.py
index 90c49e7..5a01eab 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_member.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_member.py
@@ -699,6 +699,13 @@
 
 class MemberSourceIPPortScenarioTest(MemberScenarioBaseTest):
 
+    @classmethod
+    def skip_checks(cls):
+        super(MemberSourceIPPortScenarioTest, cls).skip_checks()
+        if CONF.load_balancer.provider == 'amphorav2':
+            raise cls.skipException("Amphora provider does not"
+                                    " support SOURCE_IP_PORT algorithm.")
+
     @decorators.idempotent_id('ab8f46fe-0c84-4755-a9a2-80cc1fbdea18')
     def test_HTTP_SIP_member_crud(self):
         pool_id = self._listener_pool_create(
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
index 8615e02..6e054aa 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_pool.py
@@ -535,6 +535,13 @@
 class PoolSourceIPPortScenarioTest(PoolScenarioBaseTest):
     """Pool with Source IP Port algorithm"""
 
+    @classmethod
+    def skip_checks(cls):
+        super(PoolSourceIPPortScenarioTest, cls).skip_checks()
+        if CONF.load_balancer.provider == 'amphorav2':
+            raise cls.skipException("Amphora provider does not"
+                                    " support SOURCE_IP_PORT algorithm.")
+
     @decorators.idempotent_id('fee61d34-e272-42f5-92e2-69b515c6cded')
     def test_HTTP_SIP_pool_standalone_CRUD(self):
         self._test_pool_CRUD(listener_protocol=None,
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
index c03d7df..fb10313 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_traffic_ops.py
@@ -897,6 +897,9 @@
     @testtools.skipIf(CONF.load_balancer.test_with_noop,
                       'Traffic tests will not work in noop mode.')
     @decorators.idempotent_id('4568db0e-4243-4191-a822-9d327a55fa64')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_source_ip_tcp_traffic(self):
         pool_id = self._listener_pool_create(
             const.TCP, 90, pool_algorithm=const.LB_ALGORITHM_SOURCE_IP)[1]
@@ -920,6 +923,9 @@
     @testtools.skipIf(CONF.load_balancer.test_with_noop,
                       'Traffic tests will not work in noop mode.')
     @decorators.idempotent_id('a446585b-5651-40ce-a4db-cb2ab4d37c03')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_source_ip_port_http_traffic(self):
         # This is a special case as the reference driver does not support
         # this test. Since it runs with not_implemented_is_error, we must
@@ -942,6 +948,9 @@
     @testtools.skipIf(CONF.load_balancer.test_with_noop,
                       'Traffic tests will not work in noop mode.')
     @decorators.idempotent_id('60108f30-d870-487c-ab96-8d8a9b587b94')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_source_ip_port_tcp_traffic(self):
         # This is a special case as the reference driver does not support
         # this test. Since it runs with not_implemented_is_error, we must
@@ -966,6 +975,9 @@
     @testtools.skipIf(CONF.load_balancer.test_with_noop,
                       'Traffic tests will not work in noop mode.')
     @decorators.idempotent_id('a67dfa58-6953-4a0f-8a65-3f153b254c98')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_source_ip_port_udp_traffic(self):
         if not self.mem_listener_client.is_version_supported(
                 self.api_version, '2.1'):
@@ -1166,16 +1178,25 @@
             const.UDP, 98, const.LB_ALGORITHM_SOURCE_IP)
 
     @decorators.idempotent_id('d198ddc5-1bcb-4310-a1b0-fa1a6328c4e9')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_http_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.HTTP, 99, const.LB_ALGORITHM_SOURCE_IP_PORT)
 
     @decorators.idempotent_id('bbb09dbb-2aad-4281-9383-4bb4ad420ee1')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_tcp_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.TCP, 100, const.LB_ALGORITHM_SOURCE_IP_PORT, delay=0.2)
 
     @decorators.idempotent_id('70290a9d-0065-42ad-bb46-884a535d2da2')
+    @testtools.skipIf(CONF.load_balancer.provider == 'amphorav2',
+                      "Amphora provider does not support "
+                      "SOURCE_IP_PORT algorithm")
     def test_udp_SIP_listener_with_allowed_cidrs(self):
         self._test_listener_with_allowed_cidrs(
             const.UDP, 101, const.LB_ALGORITHM_SOURCE_IP_PORT, delay=0.2)