aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docker/Dockerfile7
-rwxr-xr-xdocker/common.sh6
-rwxr-xr-xdocker/prepare_env.sh19
-rw-r--r--docker/requirements.pip9
-rwxr-xr-xdocker/run_tests.sh8
-rwxr-xr-xtestcases/Controllers/ODL/CI/start_tests.sh6
-rw-r--r--testcases/Controllers/ODL/ODL.md28
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/adapters/client.py7
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/adapters/connection.py7
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/adapters/environment.py7
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/adapters/foundation.py7
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/dependencies/onos6
-rw-r--r--testcases/Controllers/ONOS/Teston/CI/onosfunctest.py138
-rw-r--r--testcases/VIM/OpenStack/CI/libraries/clean_openstack.py6
-rw-r--r--testcases/VIM/OpenStack/CI/libraries/run_tempest.py7
-rwxr-xr-xtestcases/VIM/OpenStack/CI/libraries/test_openstack.sh6
-rw-r--r--testcases/functest_utils.py6
-rwxr-xr-xtestcases/vIMS/CI/create_venv.sh8
-rw-r--r--testcases/vIMS/vIMS.md3
19 files changed, 244 insertions, 47 deletions
diff --git a/docker/Dockerfile b/docker/Dockerfile
index 0765eb848..3c5a2a657 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -17,7 +17,12 @@
#
# NOTE: providing config_functest.yaml is optional. If not provided, it will
# use the default one located in the repo
-
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
FROM ubuntu:14.04
MAINTAINER Jose Lausuch <jose.lausuch@ericsson.com>
diff --git a/docker/common.sh b/docker/common.sh
index 1f1cc75df..c1c783983 100755
--- a/docker/common.sh
+++ b/docker/common.sh
@@ -23,6 +23,12 @@
# this pull is to be removed right before the B release, once we build
# a release candidate docker
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
cd $repos_dir/functest
git pull
diff --git a/docker/prepare_env.sh b/docker/prepare_env.sh
index 48320d4cc..4f1751baa 100755
--- a/docker/prepare_env.sh
+++ b/docker/prepare_env.sh
@@ -6,6 +6,12 @@
# Installs the Functest framework within the Docker container
# and run the tests automatically
#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
usage="Script to prepare the Functest environment.
@@ -155,6 +161,19 @@ if [ $offline == false ]; then
git reset --hard ${PROMISE_COMMIT}
fi
+ info "Updating OVNO repository...."
+ cd ${OVNO_REPO_DIR}
+ if [ ${OVNO_BRANCH} != "master" ]; then
+ info "OVNO repo: checkout ${OVNO} branch..."
+ git checkout ${OVNO_BRANCH}
+ fi
+ info "OVNO repo: pulling to latest..."
+ git pull
+ if [ ${OVNO_COMMIT} != "latest" ]; then
+ info "OVNO repo: given commit is ${OVNO_COMMIT}. Reseting..."
+ git reset --hard ${OVNO_COMMIT}
+ fi
+
fi
# We do this regardless if its online or offline mode.
diff --git a/docker/requirements.pip b/docker/requirements.pip
index 8644154cf..40e56b9b5 100644
--- a/docker/requirements.pip
+++ b/docker/requirements.pip
@@ -1,3 +1,12 @@
+#
+#
+# author: Jose Lausuch (jose.lausuch@ericsson.com)
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
pyyaml==3.10
gitpython==1.0.1
python-neutronclient==2.6.0
diff --git a/docker/run_tests.sh b/docker/run_tests.sh
index f5b3b5765..7e8b01206 100755
--- a/docker/run_tests.sh
+++ b/docker/run_tests.sh
@@ -2,10 +2,16 @@
#
# Author: Jose Lausuch (jose.lausuch@ericsson.com)
-#
+# Morgan Richomme (morgan.richomme@orange.com)
# Installs the Functest framework within the Docker container
# and run the tests automatically
#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
usage="Script to trigger the tests automatically.
diff --git a/testcases/Controllers/ODL/CI/start_tests.sh b/testcases/Controllers/ODL/CI/start_tests.sh
index 5e87726b8..a2fd01299 100755
--- a/testcases/Controllers/ODL/CI/start_tests.sh
+++ b/testcases/Controllers/ODL/CI/start_tests.sh
@@ -1,5 +1,11 @@
#!/bin/bash
# it includes python2.7 virtual env with robot packages and git
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
BASEDIR=`dirname $0`
RESULTS_DIR='/home/opnfv/functest/results/odl/'
diff --git a/testcases/Controllers/ODL/ODL.md b/testcases/Controllers/ODL/ODL.md
deleted file mode 100644
index 375f20e6c..000000000
--- a/testcases/Controllers/ODL/ODL.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Robotframework test for ODL
-
-Original ODL testsuites can be found here: https://github.com/opendaylight/integration
-
-## Environment for running tests
-
-Create python virtual environment and install following packages into it:
-
-BeautifulSoup==3.2.1
-PyYAML==3.11
-contextdecorator==0.10.0
-ecdsa==0.11
-ipaddr==2.1.11
-paramiko==1.14.0
-pycrypto==2.6.1
-pystache==0.5.4
-requests==2.3.0
-robotframework==2.8.5
-robotframework-requests==0.3.7
-robotframework-sshlibrary==2.0.2
-six==1.7.3
-vcrpy==1.0.2
-wsgiref==0.1.2
-
-## Running tests
-For more info:
-cd CI
-bash start_test.sh -h
diff --git a/testcases/Controllers/ONOS/Teston/CI/adapters/client.py b/testcases/Controllers/ONOS/Teston/CI/adapters/client.py
index 535b71f85..a61670ef8 100644
--- a/testcases/Controllers/ONOS/Teston/CI/adapters/client.py
+++ b/testcases/Controllers/ONOS/Teston/CI/adapters/client.py
@@ -2,6 +2,13 @@
Description:
This file is used to run testcase
lanqinglong@huawei.com
+
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
"""
from environment import environment
import os
diff --git a/testcases/Controllers/ONOS/Teston/CI/adapters/connection.py b/testcases/Controllers/ONOS/Teston/CI/adapters/connection.py
index c0eb464af..e2788b412 100644
--- a/testcases/Controllers/ONOS/Teston/CI/adapters/connection.py
+++ b/testcases/Controllers/ONOS/Teston/CI/adapters/connection.py
@@ -5,6 +5,13 @@ Description:
it can run without password
lanqinglong@huawei.com
+
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
"""
import os
import time
diff --git a/testcases/Controllers/ONOS/Teston/CI/adapters/environment.py b/testcases/Controllers/ONOS/Teston/CI/adapters/environment.py
index f0bafd760..8b7ee13fc 100644
--- a/testcases/Controllers/ONOS/Teston/CI/adapters/environment.py
+++ b/testcases/Controllers/ONOS/Teston/CI/adapters/environment.py
@@ -6,6 +6,13 @@ Description:
Set user name/password
Onos-push-keys and so on
lanqinglong@huawei.com
+
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
"""
import os
diff --git a/testcases/Controllers/ONOS/Teston/CI/adapters/foundation.py b/testcases/Controllers/ONOS/Teston/CI/adapters/foundation.py
index 83cbcb242..486ecfa71 100644
--- a/testcases/Controllers/ONOS/Teston/CI/adapters/foundation.py
+++ b/testcases/Controllers/ONOS/Teston/CI/adapters/foundation.py
@@ -2,6 +2,13 @@
Description:
This file include basis functions
lanqinglong@huawei.com
+
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
"""
import logging
diff --git a/testcases/Controllers/ONOS/Teston/CI/dependencies/onos b/testcases/Controllers/ONOS/Teston/CI/dependencies/onos
index d4d59e0f7..bb02fa899 100644
--- a/testcases/Controllers/ONOS/Teston/CI/dependencies/onos
+++ b/testcases/Controllers/ONOS/Teston/CI/dependencies/onos
@@ -2,6 +2,12 @@
# -----------------------------------------------------------------------------
# ONOS remote command-line client.
# -----------------------------------------------------------------------------
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1
. /root/.bashrc
diff --git a/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py b/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py
index 675b3fc68..ccd49b75b 100644
--- a/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py
+++ b/testcases/Controllers/ONOS/Teston/CI/onosfunctest.py
@@ -6,19 +6,133 @@ CASE1 - Northbound NBI test network/subnet/ports
CASE2 - Ovsdb test&Default configuration&Vm go online
lanqinglong@huawei.com
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
"""
-from adapters.client import client
-if __name__=="__main__":
+import os
+import time
+import sys
+import logging
+import yaml
+import datetime
+import re
- main = client()
- main.getdefaultpara()
+""" logging configuration """
- #scripts to run
- runhandle = main.onosstart()
- main.RunScript(runhandle, "FUNCvirNetNB")
-# main.RunScript(runhandle, "FUNCovsdbtest")
- main.RunScript(runhandle, "FUNCvirNetNBL3")
-# main.RunScript(runhandle, "FUNCovsdbtestL3")
- main.onosclean( runhandle )
- main.push_results_to_db(main.GetResult())
+logger = logging.getLogger('onos')
+logger.setLevel(logging.DEBUG)
+
+ch = logging.StreamHandler()
+
+
+formatter = logging.Formatter('%(asctime)s - %(name)s'
+ '- %(levelname)s - %(message)s')
+
+ch.setFormatter(formatter)
+logger.addHandler(ch)
+
+with open("/home/opnfv/functest/conf/config_functest.yaml") as f:
+ functest_yaml = yaml.safe_load(f)
+f.close()
+
+# onos parameters
+TEST_DB = functest_yaml.get("results").get("test_db_url")
+ONOS_REPO_PATH = functest_yaml.get("general").get("directories").get("dir_repos")
+ONOS_CONF_DIR = functest_yaml.get("general").get("directories").get("dir_functest_conf")
+REPO_PATH = ONOS_REPO_PATH + '/functest/'
+if not os.path.exists(REPO_PATH):
+ logger.error("Functest repository directory not found '%s'" % REPO_PATH)
+ exit(-1)
+sys.path.append(REPO_PATH + "testcases/")
+import functest_utils
+
+ONOSCI_PATH= REPO_PATH+'testcases/Controllers/ONOS/Teston/CI/'
+starttime = datetime.datetime.now()
+
+HOME = os.environ['HOME'] + "/"
+
+def RunScript(testname):
+ """
+ Run ONOS Test Script
+ Parameters:
+ testname: ONOS Testcase Name
+ """
+ runtest = ONOSCI_PATH + "OnosSystemTest/TestON/bin/cli.py run " + testname
+ logger.debug( "Run script " + testname )
+ os.system(runtest)
+
+def DownloadCodes(url="https://github.com/sunyulin/OnosSystemTest.git"):
+ """
+ Download Onos Teston codes
+ Parameters:
+ url: github url
+ """
+ downloadcode = "git clone " + url + " " + ONOSCI_PATH + "OnosSystemTest"
+ logger.debug( "Download Onos Teston codes " + url)
+ os.system(downloadcode)
+
+def GetResult():
+ LOGPATH = ONOSCI_PATH + "OnosSystemTest/TestON/logs"
+ cmd = "grep -rnh " + "Fail" + " " + LOGPATH
+ Resultbuffer = os.popen(cmd).read()
+ duration = datetime.datetime.now() - starttime
+ time.sleep(2)
+
+ if re.search("\s+[1-9]+\s+", Resultbuffer):
+ logger.debug("Testcase Fails\n" + Resultbuffer)
+ Result = "Failed"
+ else:
+ logger.debug("Testcases Success")
+ Result = "Success"
+ payload={'timestart': str(starttime),
+ 'duration': str(duration),
+ 'status': Result}
+ return payload
+
+def SetOnosIp():
+ onoscreds = ONOS_CONF_DIR + "/openstack.creds"
+ cmd = "cat " + onoscreds + " | grep OS_AUTH_URL"
+ cmd_output = os.popen(cmd).read()
+ print cmd_output
+ OC1=re.search(r"\d+\.\d+\.\d+\.\d+",cmd_output).group()
+ os.environ['OC1'] = OC1
+ time.sleep(2)
+ logger.debug( "ONOS IP is " + OC1)
+
+def CleanOnosTest():
+ TESTONPATH = ONOSCI_PATH + "OnosSystemTest/"
+ cmd = "rm -rf " + TESTONPATH
+ os.system(cmd)
+ time.sleep(2)
+ logger.debug( "Clean ONOS Teston" )
+
+def main():
+
+ DownloadCodes()
+ SetOnosIp()
+ RunScript("FUNCvirNetNB")
+ RunScript("FUNCvirNetNBL3")
+
+ try:
+ logger.debug("Push result into DB")
+ # TODO check path result for the file
+ git_version = functest_utils.get_git_branch(REPO_PATH)
+ pod_name = functest_utils.get_pod_name(logger)
+ result = GetResult()
+ functest_utils.push_results_to_db(TEST_DB,
+ "ONOS",
+ logger, pod_name, git_version,
+ payload=result)
+ except:
+ logger.error("Error pushing results into Database")
+
+ CleanOnosTest()
+
+
+if __name__ == '__main__':
+ main() \ No newline at end of file
diff --git a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
index 96bd172b9..8a49843d5 100644
--- a/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
+++ b/testcases/VIM/OpenStack/CI/libraries/clean_openstack.py
@@ -13,6 +13,12 @@
# Author:
# jose.lausuch@ericsson.com
#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
import argparse
import logging
diff --git a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
index e24697c76..1f5d34cf7 100644
--- a/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
+++ b/testcases/VIM/OpenStack/CI/libraries/run_tempest.py
@@ -6,8 +6,13 @@
# Authors:
# morgan.richomme@orange.com
# jose.lausuch@ericsson.com
+# viktor.tikkanen@nokia.com
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
#
-
import argparse
import json
import logging
diff --git a/testcases/VIM/OpenStack/CI/libraries/test_openstack.sh b/testcases/VIM/OpenStack/CI/libraries/test_openstack.sh
index 7225796c5..fa1f0fa04 100755
--- a/testcases/VIM/OpenStack/CI/libraries/test_openstack.sh
+++ b/testcases/VIM/OpenStack/CI/libraries/test_openstack.sh
@@ -4,6 +4,12 @@
# Author:
# jose.lausuch@ericsson.com
#
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
if [ -z $OS_AUTH_URL ]; then
echo "Source credentials first"
diff --git a/testcases/functest_utils.py b/testcases/functest_utils.py
index d9f43a79e..e76ef991b 100644
--- a/testcases/functest_utils.py
+++ b/testcases/functest_utils.py
@@ -19,6 +19,7 @@ import json
import shutil
import re
import yaml
+import socket
from git import Repo
@@ -694,8 +695,11 @@ def get_resolvconf_ns():
line = rconf.readline()
while line:
ip = re.search(r"\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b", line)
+ sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
if ip:
- nameservers.append(ip.group())
+ result = sock.connect_ex((ip.group(),53))
+ if result == 0:
+ nameservers.append(ip.group())
line = rconf.readline()
return nameservers
diff --git a/testcases/vIMS/CI/create_venv.sh b/testcases/vIMS/CI/create_venv.sh
index 15294f77b..575fd177c 100755
--- a/testcases/vIMS/CI/create_venv.sh
+++ b/testcases/vIMS/CI/create_venv.sh
@@ -2,6 +2,14 @@
# Script checks that venv exists. If it doesn't it will be created
# It requires python2.7 and virtualenv packages installed
+#
+# Copyright (c) 2015 Orange
+# valentin.boucher@orange.com
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
BASEDIR=`dirname $0`
VENV_PATH=$1
diff --git a/testcases/vIMS/vIMS.md b/testcases/vIMS/vIMS.md
deleted file mode 100644
index 68f86d9fa..000000000
--- a/testcases/vIMS/vIMS.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# vIMS README
-
-