Move sfc custom flavor creation 89/22489/1
authorGeorge Paraskevopoulos <geopar@intracom-telecom.com>
Fri, 23 Sep 2016 13:40:13 +0000 (16:40 +0300)
committerMorgan Richomme <morgan.richomme@orange.com>
Tue, 27 Sep 2016 10:05:54 +0000 (10:05 +0000)
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>
(cherry picked from commit 40f68e35389cf19d3fb200d1655ecb055c85d1eb)

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 8081594..57e96cd 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: