aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testcases/config_functest.py57
-rw-r--r--testcases/functest.yaml10
-rw-r--r--testcases/vPing/CI/libraries/vPing.py27
3 files changed, 25 insertions, 69 deletions
diff --git a/testcases/config_functest.py b/testcases/config_functest.py
index 76020046e..4ff3f7d48 100644
--- a/testcases/config_functest.py
+++ b/testcases/config_functest.py
@@ -72,12 +72,6 @@ BENCH_TESTS_DIR = HOME + functest_yaml.get("general").get("directories").get("di
VPING_DIR = HOME + functest_yaml.get("general").get("directories").get("dir_vping")
ODL_DIR = HOME + functest_yaml.get("general").get("directories").get("dir_odl")
-# NEUTRON Public Network parameters
-NEUTRON_PUBLIC_NET_NAME = functest_yaml.get("general").get("openstack").get("neutron_public_net_name")
-NEUTRON_PUBLIC_SUBNET_NAME = functest_yaml.get("general").get("openstack").get("neutron_public_subnet_name")
-NEUTRON_PUBLIC_SUBNET_CIDR = functest_yaml.get("general").get("openstack").get("neutron_public_subnet_cidr")
-NEUTRON_PUBLIC_SUBNET_START = functest_yaml.get("general").get("openstack").get("neutron_public_subnet_start")
-NEUTRON_PUBLIC_SUBNET_END = functest_yaml.get("general").get("openstack").get("neutron_public_subnet_end")
# NEUTRON Private Network parameters
NEUTRON_PRIVATE_NET_NAME = functest_yaml.get("general").get("openstack").get("neutron_private_net_name")
@@ -145,18 +139,6 @@ def config_functest_start():
neutron_client = client.Client(**credentials)
logger.info("Configuring Neutron...")
- logger.info("Checking if public network '%s' exists..." % NEUTRON_PUBLIC_NET_NAME)
- #Now: if exists we don't create it again (the clean command does not clean the neutron networks yet)
- if check_neutron_net(neutron_client, NEUTRON_PUBLIC_NET_NAME):
- logger.info("Public network '%s' found. No need to create another one." % NEUTRON_PUBLIC_NET_NAME)
- else:
- logger.info("Public network '%s' not found. Creating..." % NEUTRON_PUBLIC_NET_NAME)
- if not create_public_neutron_net(neutron_client):
- logger.error("There has been a problem while creating the Neutron network.")
- #config_functest_clean()
- exit(-1)
-
-
logger.info("Checking if private network '%s' exists..." % NEUTRON_PRIVATE_NET_NAME)
#Now: if exists we don't create it again (the clean command does not clean the neutron networks yet)
if check_neutron_net(neutron_client, NEUTRON_PRIVATE_NET_NAME):
@@ -213,7 +195,7 @@ def config_functest_check():
logger.debug("Checking Rally deployment...")
if not check_rally():
- logger.debug("Rally deployment NOT found.")
+ logger.debug(" Rally deployment NOT found.")
errors_all = True
logger.debug("...FAIL")
else:
@@ -221,25 +203,13 @@ def config_functest_check():
logger.debug("Checking Neutron...")
- errors = False
if not check_neutron_net(neutron_client, NEUTRON_PRIVATE_NET_NAME):
logger.debug(" Private network '%s' NOT found." % NEUTRON_PRIVATE_NET_NAME)
- errors = True
+ logger.debug("...FAIL")
errors_all = True
else:
logger.debug(" Private network '%s' found." % NEUTRON_PRIVATE_NET_NAME)
-
- if not check_neutron_net(neutron_client, NEUTRON_PUBLIC_NET_NAME):
- logger.debug(" Public network '%s' NOT found." % NEUTRON_PUBLIC_NET_NAME)
- errors = True
- errors_all = True
- else:
- logger.debug(" Public network '%s' found." % NEUTRON_PUBLIC_NET_NAME)
-
- if not errors:
logger.debug("...OK")
- else:
- logger.debug("...FAIL")
logger.debug("Checking Image...")
@@ -464,27 +434,7 @@ def download_tests():
return True
-def create_public_neutron_net(neutron):
- try:
- neutron.format = 'json'
- logger.debug('Creating Neutron network %s...' % NEUTRON_PUBLIC_NET_NAME)
- json_body = {'network': {'name': NEUTRON_PUBLIC_NET_NAME, 'admin_state_up': True, 'router:external': True}}
- netw = neutron.create_network(body=json_body)
- net_dict = netw['network']
- network_id = net_dict['id']
- logger.debug("Network '%s' created successfully" % network_id)
-
- logger.debug('Creating Subnet....')
- json_body = {'subnets': [{'cidr': NEUTRON_PUBLIC_SUBNET_CIDR,
- 'ip_version': 4, 'network_id': network_id}]}
- subnet = neutron.create_subnet(body=json_body)
- logger.debug("Subnet '%s' created successfully" % subnet)
- except:
- print "Error:", sys.exc_info()[0]
- return False
- logger.info("Public Neutron network created successfully.")
- return True
def create_private_neutron_net(neutron):
try:
@@ -519,11 +469,14 @@ def create_private_neutron_net(neutron):
response = neutron.create_port(body=json_body)
logger.debug("Port created successfully.")
+ """
+ #No need to set up a gateway if there is no public network
logger.debug('Setting up gateway...')
public_network_id = get_network_id(neutron,NEUTRON_PUBLIC_NET_NAME)
json_body = {'network_id': public_network_id, 'enable_snat' : True}
gateway = neutron.add_gateway_router(router_id,body=json_body)
logger.debug("Gateway '%s' added successfully" % gateway)
+ """
except:
print "Error:", sys.exc_info()[0]
return False
diff --git a/testcases/functest.yaml b/testcases/functest.yaml
index cee07fcad..6175e6fcb 100644
--- a/testcases/functest.yaml
+++ b/testcases/functest.yaml
@@ -10,12 +10,10 @@ general:
dir_odl: .functest/ODL/
dir_rally_inst: .rally/
openstack:
- image_name: Ubuntu14.04
- image_url: https://cloud-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img
- image_disk_format: raw
- #Public network. Will be created by config_functest.py
- #It must be reachable from where the tests are ran
- #For Fuel deployment, it exists already and its called net04_ext
+ image_name: functest-img
+ image_url: http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img
+ image_disk_format: qcow2
+ #Public network. Optional
neutron_public_net_name: net04_ext
neutron_public_subnet_name: net04_ext__subnet
neutron_public_subnet_cidr: 172.16.9.0/24
diff --git a/testcases/vPing/CI/libraries/vPing.py b/testcases/vPing/CI/libraries/vPing.py
index b579830e7..f2a18ead1 100644
--- a/testcases/vPing/CI/libraries/vPing.py
+++ b/testcases/vPing/CI/libraries/vPing.py
@@ -205,9 +205,10 @@ def main():
f = nova.flavors.find(name = FLAVOR)
i = nova.images.find(name = GLANCE_IMAGE_NAME)
n = nova.networks.find(label = NEUTRON_PRIVATE_NET_NAME)
- # use base 64 format becaus bad surprises with sh script with cloud-init but script is just pinging
+ # use base 64 format because bad surprises with sh script with cloud-init but script is just pinging
#k = "demo-key"
- u = "#cloud-config\npassword: opnfv\nchpasswd: { expire: False }\nssh_pwauth: True\nwrite_files:\n- encoding: b64\n path: /tmp/vping.sh\n permissions: '0777'\n owner: root:root\n content: IyEvYmluL2Jhc2gKCndoaWxlIHRydWU7IGRvCiBwaW5nIC1jIDEgJDEgMj4mMSA+L2Rldi9udWxsCiBSRVM9JD8KIGlmIFsgIlokUkVTIiA9ICJaMCIgXSA7IHRoZW4KICBlY2hvICJ2UGluZyBPSyIKICBzbGVlcCAxMAogIHN1ZG8gc2h1dGRvd24gLWggbm93CiAgYnJlYWsKIGVsc2UKICBlY2hvICJ2UGluZyBLTyIKIGZpCiBzbGVlcCAxCmRvbmUK\nruncmd:\n - [ sh, -c, %s]"%test_cmd
+ #u = "#cloud-config\npassword: opnfv\nchpasswd: { expire: False }\nssh_pwauth: True\nwrite_files:\n- encoding: b64\n path: /tmp/vping.sh\n permissions: '0777'\n owner: root:root\n content: IyEvYmluL2Jhc2gKCndoaWxlIHRydWU7IGRvCiBwaW5nIC1jIDEgJDEgMj4mMSA+L2Rldi9udWxsCiBSRVM9JD8KIGlmIFsgIlokUkVTIiA9ICJaMCIgXSA7IHRoZW4KICBlY2hvICJ2UGluZyBPSyIKICBzbGVlcCAxMAogIHN1ZG8gc2h1dGRvd24gLWggbm93CiAgYnJlYWsKIGVsc2UKICBlY2hvICJ2UGluZyBLTyIKIGZpCiBzbGVlcCAxCmRvbmUK\nruncmd:\n - [ sh, -c, %s]"%test_cmd
+ u = "#!/bin/sh\n\nwhile true; do\n ping -c 1 %s 2>&1 >/dev/null\n RES=$?\n if [ \"Z$RES\" = \"Z0\" ] ; then\n echo 'vPing OK'\n break\n else\n echo 'vPing KO'\n fi\n sleep 1\ndone\n"%test_ip
# create VM
logger.info("Creating instance '%s'..." %m)
logger.debug("Configuration:\n name=%s \n flavor=%s \n image=%s \n network=%s \n userdata= \n%s" %(m,f,i,n,u))
@@ -225,7 +226,7 @@ def main():
# The console-log method is more consistent but doesn't work yet
waitVmActive(nova,vm2)
-
+ """
logger.info("Waiting for ping, timeout is %d sec..." % PING_TIMEOUT)
sec = 0
while True:
@@ -245,21 +246,22 @@ def main():
# I leave this here until we fix the console-log output
sec = 0
console_log = vm2.get_console_output()
- while not ("vPing" in console_log):
+ while True:
time.sleep(1)
console_log = vm2.get_console_output()
- print "--"+console_log
-
+ #print "--"+console_log
# report if the test is failed
- if "vPing" in console_log:
- pMsg("vPing is OK")
+ if "vPing OK" in console_log:
+ logger.info("vPing is OK")
+ EXIT_CODE = 0
break
else:
- pMsg("no vPing detected....")
+ logger.info("No vPing detected...")
sec+=1
if sec == PING_TIMEOUT:
+ logger.info("Timeout reached.")
break
- """
+
# delete both VMs
logger.debug("Deleting Instances...")
@@ -268,8 +270,11 @@ def main():
nova.servers.delete(vm2)
logger.debug("Instance %s terminated." % NAME_VM_2)
+ if EXIT_CODE = 0 :
+ logger.info("vPing OK")
+ else :
+ logger.error("vPing FAILED")
- logger.debug("EXIT_CODE=%d" % EXIT_CODE)
exit(EXIT_CODE)