Move sfc custom flavor creation
authorGeorge Paraskevopoulos <geopar@intracom-telecom.com>
Fri, 23 Sep 2016 13:40:13 +0000 (16:40 +0300)
committerGeorge Paraskevopoulos <geopar@intracom-telecom.com>
Tue, 27 Sep 2016 08:31:10 +0000 (11:31 +0300)
The custom flavor that is needed for the sfc test case is created in the
tacker deployment phase.
The result of this is that when we use alternative methods of deploying
tacker (i.e. the tacker fuel plugin) the test fails.

Changes:
- Move the flavor creation inside the test case code
- Add an optional public parameter in the [get_or_]create_flavor utility
  functions.

Change-Id: Iea13f172076770dde3876b7e27edc9b7ca9b28db
Signed-off-by: George Paraskevopoulos <geopar@intracom-telecom.com>
testcases/features/sfc/sfc.py
testcases/features/sfc/sfc_colorado1.py
utils/openstack_utils.py

index ec17200..4ece7d0 100755 (executable)
@@ -161,6 +161,12 @@ def main():
                                       port_range_min=22,
                                       port_range_max=22)
 
+    _, custom_flv_id = os_utils.get_or_create_flavor(
+        'custom', 1500, 10, 1, public=True)
+    if not custom_flv_id:
+        logger.error("Failed to create custom flavor")
+        sys.exit(1)
+
     # boot INSTANCE
     logger.info("Creating instance '%s'..." % INSTANCE_NAME)
     logger.debug(
index 103d10b..5b04c32 100755 (executable)
@@ -160,6 +160,12 @@ def main():
                                       port_range_min=22,
                                       port_range_max=22)
 
+    _, custom_flv_id = os_utils.get_or_create_flavor(
+        'custom', 1500, 10, 1, public=True)
+    if not custom_flv_id:
+        logger.error("Failed to create custom flavor")
+        sys.exit(1)
+
     iterator = 0
     while(iterator < 6):
         # boot INSTANCE
index da9bc5a..e0da7d9 100755 (executable)
@@ -211,9 +211,10 @@ def get_flavor_id_by_ram_range(nova_client, min_ram, max_ram):
     return id
 
 
-def create_flavor(nova_client, flavor_name, ram, disk, vcpus):
+def create_flavor(nova_client, flavor_name, ram, disk, vcpus, public=True):
     try:
-        flavor = nova_client.flavors.create(flavor_name, ram, vcpus, disk)
+        flavor = nova_client.flavors.create(
+            flavor_name, ram, vcpus, disk, is_public=public)
         try:
             extra_specs = ft_utils.get_functest_config(
                 'general.flavor_extra_specs')
@@ -229,7 +230,7 @@ def create_flavor(nova_client, flavor_name, ram, disk, vcpus):
     return flavor.id
 
 
-def get_or_create_flavor(flavor_name, ram, disk, vcpus):
+def get_or_create_flavor(flavor_name, ram, disk, vcpus, public=True):
     flavor_exists = False
     nova_client = get_nova_client()
 
@@ -240,7 +241,8 @@ def get_or_create_flavor(flavor_name, ram, disk, vcpus):
     else:
         logger.info("Creating flavor '%s' with '%s' RAM, '%s' disk size, "
                     "'%s' vcpus..." % (flavor_name, ram, disk, vcpus))
-        flavor_id = create_flavor(nova_client, flavor_name, ram, disk, vcpus)
+        flavor_id = create_flavor(
+            nova_client, flavor_name, ram, disk, vcpus, public=public)
         if not flavor_id:
             logger.error("Failed to create flavor '%s'..." % (flavor_name))
         else: