summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Cechvala <tcechval@cisco.com>2017-03-13 15:18:39 +0100
committerjuraj.linkes <jlinkes@cisco.com>2017-03-14 12:38:14 +0100
commita717a49967f77ede476da582b6d3bb2c6359da1b (patch)
tree277749bb97dfd905163ca22486e83baf62068bee
parente98d863ae414a55b1d306f66f0b54aa659a2c9ae (diff)
Check for a flavor with hugepages
Flavor is not checked by name but by huge_pages extra option. It is created when no flavor has huge_pages setting. Change-Id: I1266a6e58047c24456b12f16fc3061082916558c Signed-off-by: Tomas Cechvala <tcechval@cisco.com> Signed-off-by: juraj.linkes <jlinkes@cisco.com>
-rw-r--r--testing/robot/data/test_data.py5
-rw-r--r--testing/robot/lib/FDSLibrary.py11
-rw-r--r--testing/robot/lib/Keywords.robot20
-rw-r--r--testing/robot/sec_groups_and_l2-smoke.robot2
-rw-r--r--testing/robot_local_no_score/smoke.robot (renamed from testing/robot/smoke.robot)9
5 files changed, 29 insertions, 18 deletions
diff --git a/testing/robot/data/test_data.py b/testing/robot/data/test_data.py
index 97aaf2b..86ca8fc 100644
--- a/testing/robot/data/test_data.py
+++ b/testing/robot/data/test_data.py
@@ -21,8 +21,9 @@ vm2_address = '192.168.10.6'
port1_name = 'fds_smoke_port1_' + run_uuid
port2_name = 'fds_smoke_port2_' + run_uuid
subnet_cidr = '192.168.10.0/24'
-vm_flavor = 'm1.small'
-vm_image = 'cirros-0.3.4'
+vm_flavor = 'nfv-fds'
+vm_image = 'cirros-0.3.5'
+image_path = '/home/opnfv/functest/data/cirros-0.3.5-x86_64-disk.img'
userdata1 = "#!/bin/sh\n\nsudo ip a add {}/24 dev eth0\n while true; do echo curl_passed | nc -l -p 80; done\n".format(vm1_address)
userdata2 = "#!/bin/sh\n\nsudo ip a add {}/24 dev eth0\nwhile true; do\n ping -c 1 {} 2>&1 >/dev/null\n " \
"RES=$?\n if [ \"Z$RES\" = \"Z0\" ] ; then\n echo 'ping PASSED'\n break\n else\n echo " \
diff --git a/testing/robot/lib/FDSLibrary.py b/testing/robot/lib/FDSLibrary.py
index 32c18eb..0d0929e 100644
--- a/testing/robot/lib/FDSLibrary.py
+++ b/testing/robot/lib/FDSLibrary.py
@@ -36,12 +36,17 @@ class FDSLibrary():
logger.debug("Initializing nova client.")
self.nova_client = nova.Client('2', session=session.Session(auth=auth_obj))
- def check_flavor_exists(self, flavor):
- flavor_list_names = [x.name for x in self.nova_client.flavors.list()]
- return flavor in flavor_list_names
+ def check_flavor_exists(self):
+ flavor_names = [x for x in self.nova_client.flavors.list(min_ram=760)]
+ for flavor in flavor_names:
+ for key in flavor.get_keys():
+ if "mem_page_size" in key:
+ logger.info("Found flavor with memory-setting: " + flavor.name)
+ return flavor.name
def create_flavor(self, name, ram, vcpus="1", disk="0"):
response = self.nova_client.flavors.create(name, ram, vcpus, disk)
+ response.set_keys({'hw:mem_page_size': 'large'})
return response
def check_image_exists(self, image):
diff --git a/testing/robot/lib/Keywords.robot b/testing/robot/lib/Keywords.robot
index 36136a1..d9d9cb1 100644
--- a/testing/robot/lib/Keywords.robot
+++ b/testing/robot/lib/Keywords.robot
@@ -15,16 +15,20 @@ Variables ../data/test_data.py
*** Keywords ***
Ensure Flavor
- ${result} = Check Flavor Exists ${vm_flavor}
- Return From Keyword If '${result}' == 'True'
+ ${result} = Check Flavor Exists
+ Log ${result}
+ Set Suite Variable ${flavor_to_use} ${result}
+ Return From Keyword If '${result}' is not '${None}'
Create Flavor ${vm_flavor} ram=768
- ${result} = Check Flavor Exists ${vm_flavor}
- Should be True ${result}
+ ${result} = Check Flavor Exists
+ Log ${result}
+ Set Suite Variable ${flavor_to_use} ${result}
+ Should Not Be Empty ${result}
Ensure Image
${result} = Check Image Exists ${vm_image}
Return From Keyword If '${result}' == 'True'
- Create Image ${vm_image} /home/opnfv/functest/data/cirros-0.3.4-x86_64-disk.img
+ Create Image ${vm_image} ${image_path}
${result} = Check Image Exists ${vm_image}
Should be True ${result}
@@ -75,9 +79,9 @@ Create port with ip
[Return] ${response.port['id']}
Create vm
- [Arguments] ${vm_name} ${port_ids} ${security_groups}=${None} ${userdata}=${None}
- Log Many ${vm_name} ${vm_image} ${vm_flavor} ${port_ids} ${userdata}
- ${response} = create server ${vm_name} ${vm_image} ${vm_flavor} ${port_ids} ${security_groups}
+ [Arguments] ${vm_name} ${port_ids} ${flavor}=${flavor_to_use} ${security_groups}=${None} ${userdata}=${None}
+ Log Many ${vm_name} ${vm_image} ${flavor} ${port_ids} ${userdata}
+ ${response} = create server ${vm_name} ${vm_image} ${flavor} ${port_ids} ${security_groups}
... ${userdata}
log many ${response}
log ${response.id}
diff --git a/testing/robot/sec_groups_and_l2-smoke.robot b/testing/robot/sec_groups_and_l2-smoke.robot
index 17c5a42..347c78c 100644
--- a/testing/robot/sec_groups_and_l2-smoke.robot
+++ b/testing/robot/sec_groups_and_l2-smoke.robot
@@ -56,7 +56,7 @@ Wait for VM1 to be active
Create VM2
${port_ids} = Create List ${port2_id}
- ${result} = Create vm ${vm2_name} ${port_ids} userdata=${userdata2}
+ ${result} = Create vm ${vm2_name} ${port_ids} flavor=${flavor_to_use} userdata=${userdata2}
Set Suite Variable ${vm2_id} ${result}
Wait for VM2 to be active
diff --git a/testing/robot/smoke.robot b/testing/robot_local_no_score/smoke.robot
index d6f8fe6..473c2c7 100644
--- a/testing/robot/smoke.robot
+++ b/testing/robot_local_no_score/smoke.robot
@@ -9,9 +9,9 @@
*** Settings ***
Library OperatingSystem
-Library lib/FDSLibrary.py
-Library lib/Keywords.robot
-Variables data/test_data.py
+Library ../robot/lib/FDSLibrary.py
+Library ../robot/lib/Keywords.robot
+Variables ../robot/data/test_data.py
Suite Setup Setup Suite
Suite Teardown Teardown Suite
@@ -34,7 +34,8 @@ Create port for VM2
Create VM1
${port_ids} = Create List ${port1_id}
- ${result} = Create vm ${vm1_name} ${port_ids} userdata=${userdata1}
+ ${result} = Create vm ${vm1_name} ${port_ids} flavor=${flavor_to_use}
+ ... userdata=${userdata1}
Set Suite Variable ${vm1_id} ${result}
Wait for VM1 to be active