Handle NotImplemented flavor exception

The change [0] add flavor to load_balancer CRUD
operation in scenario tests. The OVN doesn't support
flavors yet so we need to handle this exception.

Task: 36270
Story: 2006264
[0] https://review.opendev.org/#/c/631353

Change-Id: I1ab6112a11a713b5033f7c9f1a23b55a5647649a
diff --git a/octavia_tempest_plugin/tests/scenario/v2/test_load_balancer.py b/octavia_tempest_plugin/tests/scenario/v2/test_load_balancer.py
index 3d79173..0aee398 100644
--- a/octavia_tempest_plugin/tests/scenario/v2/test_load_balancer.py
+++ b/octavia_tempest_plugin/tests/scenario/v2/test_load_balancer.py
@@ -17,15 +17,18 @@
 
 from dateutil import parser
 
+from oslo_log import log as logging
 from oslo_serialization import jsonutils
 from tempest import config
 from tempest.lib.common.utils import data_utils
 from tempest.lib import decorators
+from tempest.lib import exceptions
 
 from octavia_tempest_plugin.common import constants as const
 from octavia_tempest_plugin.tests import test_base
 from octavia_tempest_plugin.tests import waiters
 
+LOG = logging.getLogger(__name__)
 CONF = config.CONF
 
 
@@ -51,28 +54,35 @@
                 const.FLAVOR_DATA: flavor_data_json
             }
 
-            cls.flavor_profile = (
-                cls.lb_admin_flavor_profile_client.create_flavor_profile(
-                    **flavor_profile_kwargs))
-            cls.addClassResourceCleanup(
-                cls.lb_admin_flavor_profile_client.cleanup_flavor_profile,
-                cls.flavor_profile[const.ID])
+            try:
+                cls.flavor_profile = (
+                    cls.lb_admin_flavor_profile_client.create_flavor_profile(
+                        **flavor_profile_kwargs))
+                cls.addClassResourceCleanup(
+                    cls.lb_admin_flavor_profile_client.cleanup_flavor_profile,
+                    cls.flavor_profile[const.ID])
 
-            flavor_name = data_utils.rand_name("lb_scenario-setup")
-            flavor_description = data_utils.arbitrary_string(size=255)
+                flavor_name = data_utils.rand_name("lb_scenario-setup")
+                flavor_description = data_utils.arbitrary_string(size=255)
 
-            flavor_kwargs = {
-                const.NAME: flavor_name,
-                const.DESCRIPTION: flavor_description,
-                const.ENABLED: True,
-                const.FLAVOR_PROFILE_ID: cls.flavor_profile[const.ID]}
+                flavor_kwargs = {
+                    const.NAME: flavor_name,
+                    const.DESCRIPTION: flavor_description,
+                    const.ENABLED: True,
+                    const.FLAVOR_PROFILE_ID: cls.flavor_profile[const.ID]}
 
-            cls.flavor = cls.lb_admin_flavor_client.create_flavor(
-                **flavor_kwargs)
-            cls.addClassResourceCleanup(
-                cls.lb_admin_flavor_client.cleanup_a_flavor,
-                cls.flavor[const.ID])
-            cls.flavor_id = cls.flavor[const.ID]
+                cls.flavor = cls.lb_admin_flavor_client.create_flavor(
+                    **flavor_kwargs)
+                cls.addClassResourceCleanup(
+                    cls.lb_admin_flavor_client.cleanup_a_flavor,
+                    cls.flavor[const.ID])
+                cls.flavor_id = cls.flavor[const.ID]
+            except exceptions.NotImplemented:
+                LOG.debug("Provider driver %s doesn't support flavors.",
+                          CONF.load_balancer.provider)
+                cls.flavor_profile = None
+                cls.flavor_id = None
+                cls.flavor = None
 
     @decorators.idempotent_id('a5e2e120-4f7e-4c8b-8aac-cf09cb56711c')
     def test_load_balancer_ipv4_CRUD(self):
@@ -101,7 +111,7 @@
                      const.NAME: lb_name}
 
         if self.lb_admin_flavor_profile_client.is_version_supported(
-                self.api_version, '2.6'):
+                self.api_version, '2.6') and self.flavor_id:
             lb_kwargs[const.FLAVOR_ID] = self.flavor_id
 
         self._setup_lb_network_kwargs(lb_kwargs, ip_version)