tests: disable failing tests on Ubuntu 22.04

Also rework the logic so the skipping of marked Ubuntu 22.04 occurs at framework level

Leave debian11 special cases as-is.

Type: fix
Change-Id: I481eb32cd1a0860935482e9f930ced409da653c9
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
diff --git a/test/asf/asfframework.py b/test/asf/asfframework.py
index 2488004..4cd4d94 100644
--- a/test/asf/asfframework.py
+++ b/test/asf/asfframework.py
@@ -317,6 +317,12 @@
                 cls = unittest.skip("Skipping @tag_fixme_asan tests")(cls)
 
     @classmethod
+    def skip_fixme_ubuntu2204(cls):
+        """if @tag_fixme_ubuntu2204 & is Ubuntu22.04 - mark for skip"""
+        if cls.has_tag(TestCaseTag.FIXME_UBUNTU2204) and is_distro_ubuntu2204 == True:
+            cls = unittest.skip("Skipping @tag_fixme_ubuntu2204 tests")(cls)
+
+    @classmethod
     def instance(cls):
         """Return the instance of this testcase"""
         return cls.test_instance
@@ -1361,6 +1367,13 @@
                 test_title = colorize(f"FIXME with ASAN: {test_title}", RED)
                 test.skip_fixme_asan()
 
+            if (
+                test.has_tag(TestCaseTag.FIXME_UBUNTU2204)
+                and is_distro_ubuntu2204 == True
+            ):
+                test_title = colorize(f"FIXME with Ubuntu 22.04: {test_title}", RED)
+                test.skip_fixme_ubuntu2204()
+
             if hasattr(test, "vpp_worker_count"):
                 if test.vpp_worker_count == 0:
                     test_title += " [main thread only]"
diff --git a/test/test_flowprobe.py b/test/test_flowprobe.py
index 8e3fecf..89ac97e 100644
--- a/test/test_flowprobe.py
+++ b/test/test_flowprobe.py
@@ -183,9 +183,7 @@
         variables and configure VPP.
         """
         super(MethodHolder, cls).setUpClass()
-        if (is_distro_ubuntu2204 == True or is_distro_debian11 == True) and not hasattr(
-            cls, "vpp"
-        ):
+        if (is_distro_debian11 == True) and not hasattr(cls, "vpp"):
             return
         try:
             # Create pg interfaces
diff --git a/test/test_ikev2.py b/test/test_ikev2.py
index fd065b4..ea425e2 100644
--- a/test/test_ikev2.py
+++ b/test/test_ikev2.py
@@ -2036,6 +2036,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorNATT(TemplateInitiator, Ikev2Params):
     """test ikev2 initiator - NAT traversal (intitiator behind NAT)"""
 
@@ -2068,6 +2069,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorPsk(TemplateInitiator, Ikev2Params):
     """test ikev2 initiator - pre shared key auth"""
 
@@ -2099,6 +2101,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorRequestWindowSize(TestInitiatorPsk):
     """test initiator - request window size (1)"""
 
@@ -2148,6 +2151,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorRekey(TestInitiatorPsk):
     """test ikev2 initiator - rekey"""
 
@@ -2193,6 +2197,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorDelSAFromResponder(TemplateInitiator, Ikev2Params):
     """test ikev2 initiator - delete IKE SA from responder"""
 
@@ -2413,9 +2418,7 @@
 
         globals()["ikev2"] = _ikev2
         super(IkePeer, cls).setUpClass()
-        if (is_distro_ubuntu2204 == True or is_distro_debian11 == True) and not hasattr(
-            cls, "vpp"
-        ):
+        if (is_distro_debian11 == True) and not hasattr(cls, "vpp"):
             return
         cls.create_pg_interfaces(range(1))
         cls.vapi.cli("ip table add 1")
@@ -2525,6 +2528,7 @@
 
 
 @tag_fixme_vpp_workers
+@tag_fixme_ubuntu2204
 class TestInitiatorKeepaliveMsg(TestInitiatorPsk):
     """
     Test for keep alive messages
diff --git a/test/test_nat44_ed.py b/test/test_nat44_ed.py
index eed89f1..d3d6d07 100644
--- a/test/test_nat44_ed.py
+++ b/test/test_nat44_ed.py
@@ -162,8 +162,6 @@
     @classmethod
     def setUpClass(cls):
         super().setUpClass()
-        if is_distro_ubuntu2204 == True and not hasattr(cls, "vpp"):
-            return
 
         cls.create_pg_interfaces(range(12))
         cls.interfaces = list(cls.pg_interfaces[:4])
diff --git a/test/test_nat64.py b/test/test_nat64.py
index f650b8d..7333181 100644
--- a/test/test_nat64.py
+++ b/test/test_nat64.py
@@ -55,8 +55,6 @@
     def setUpClass(cls):
         super(TestNAT64, cls).setUpClass()
 
-        if is_distro_ubuntu2204 == True and not hasattr(cls, "vpp"):
-            return
         cls.tcp_port_in = 6303
         cls.tcp_port_out = 6303
         cls.udp_port_in = 6304