summaryrefslogtreecommitdiffstats
path: root/tests/functest/odl-sfc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functest/odl-sfc')
-rwxr-xr-xtests/functest/odl-sfc/prepare_odl_sfc.py11
-rwxr-xr-xtests/functest/odl-sfc/setup_scripts/compute_presetup_CI.bash (renamed from tests/functest/odl-sfc/compute_presetup_CI.bash)0
-rwxr-xr-xtests/functest/odl-sfc/setup_scripts/delete.sh (renamed from tests/functest/odl-sfc/delete.sh)0
-rwxr-xr-xtests/functest/odl-sfc/setup_scripts/prepare_odl_sfc.py90
-rwxr-xr-xtests/functest/odl-sfc/setup_scripts/server_presetup_CI.bash (renamed from tests/functest/odl-sfc/server_presetup_CI.bash)0
-rwxr-xr-xtests/functest/odl-sfc/setup_scripts/tacker_client_install.sh43
6 files changed, 138 insertions, 6 deletions
diff --git a/tests/functest/odl-sfc/prepare_odl_sfc.py b/tests/functest/odl-sfc/prepare_odl_sfc.py
index cdfc1dc8..c3162cba 100755
--- a/tests/functest/odl-sfc/prepare_odl_sfc.py
+++ b/tests/functest/odl-sfc/prepare_odl_sfc.py
@@ -29,10 +29,10 @@ except:
os.environ['ODL_SFC_LOG'] = "/home/opnfv/functest/results/odl-sfc.log"
os.environ['ODL_SFC_DIR'] = os.path.join(SFC_REPO_DIR,
"tests/functest/odl-sfc")
+SETUP_SCRIPTS_DIR = os.path.join(os.environ['ODL_SFC_DIR'], 'setup_scripts')
-command = os.environ['ODL_SFC_DIR'] + ("/server_presetup_CI.bash | "
- "tee -a ${ODL_SFC_LOG} "
- "1>/dev/null 2>&1")
+command = SETUP_SCRIPTS_DIR + ("/server_presetup_CI.bash | "
+ "tee -a ${ODL_SFC_LOG} 1>/dev/null 2>&1")
output = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
@@ -67,9 +67,8 @@ except:
output = stdout.readlines()
for ip in output:
- command = os.environ['ODL_SFC_DIR'] + ("/compute_presetup_CI.bash "
- "" + ip.rstrip() + "| tee -a "
- "${ODL_SFC_LOG} 1>/dev/null 2>&1")
+ command = SETUP_SCRIPTS_DIR + ("/compute_presetup_CI.bash " + ip.rstrip() +
+ "| tee -a ${ODL_SFC_LOG} 1>/dev/null 2>&1")
output = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
diff --git a/tests/functest/odl-sfc/compute_presetup_CI.bash b/tests/functest/odl-sfc/setup_scripts/compute_presetup_CI.bash
index 36148aa1..36148aa1 100755
--- a/tests/functest/odl-sfc/compute_presetup_CI.bash
+++ b/tests/functest/odl-sfc/setup_scripts/compute_presetup_CI.bash
diff --git a/tests/functest/odl-sfc/delete.sh b/tests/functest/odl-sfc/setup_scripts/delete.sh
index 3da36148..3da36148 100755
--- a/tests/functest/odl-sfc/delete.sh
+++ b/tests/functest/odl-sfc/setup_scripts/delete.sh
diff --git a/tests/functest/odl-sfc/setup_scripts/prepare_odl_sfc.py b/tests/functest/odl-sfc/setup_scripts/prepare_odl_sfc.py
new file mode 100755
index 00000000..c3162cba
--- /dev/null
+++ b/tests/functest/odl-sfc/setup_scripts/prepare_odl_sfc.py
@@ -0,0 +1,90 @@
+#
+# Author: George Paraskevopoulos (geopar@intracom-telecom.com)
+# Manuel Buil (manuel.buil@ericsson.com)
+# Prepares the controller and the compute nodes for the odl-sfc testcase
+#
+#
+# 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 sys
+import subprocess
+import paramiko
+import functest.utils.functest_logger as ft_logger
+
+logger = ft_logger.Logger("ODL_SFC").getLogger()
+
+SFC_REPO_DIR = "/home/opnfv/repos/sfc"
+
+try:
+ INSTALLER_IP = os.environ['INSTALLER_IP']
+except:
+ logger.debug("INSTALLER_IP does not exist. We create 10.20.0.2")
+ INSTALLER_IP = "10.20.0.2"
+
+os.environ['ODL_SFC_LOG'] = "/home/opnfv/functest/results/odl-sfc.log"
+os.environ['ODL_SFC_DIR'] = os.path.join(SFC_REPO_DIR,
+ "tests/functest/odl-sfc")
+SETUP_SCRIPTS_DIR = os.path.join(os.environ['ODL_SFC_DIR'], 'setup_scripts')
+
+command = SETUP_SCRIPTS_DIR + ("/server_presetup_CI.bash | "
+ "tee -a ${ODL_SFC_LOG} 1>/dev/null 2>&1")
+
+output = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
+
+# This code is for debugging purposes
+# for line in iter(output.stdout.readline, ''):
+# i = line.rstrip()
+# print(i)
+
+# Make sure the process is finished before checking the returncode
+if not output.poll():
+ output.wait()
+
+# Get return value
+if output.returncode:
+ print("The presetup of the server did not work")
+ sys.exit(output.returncode)
+
+logger.info("The presetup of the server worked ")
+
+ssh_options = "-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no"
+ssh = paramiko.SSHClient()
+ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+
+try:
+ ssh.connect(INSTALLER_IP, username="root",
+ password="r00tme", timeout=2)
+ command = "fuel node | grep compute | awk '{print $10}'"
+ logger.info("Executing ssh to collect the compute IPs")
+ (stdin, stdout, stderr) = ssh.exec_command(command)
+except:
+ logger.debug("Something went wrong in the ssh to collect the computes IP")
+
+output = stdout.readlines()
+for ip in output:
+ command = SETUP_SCRIPTS_DIR + ("/compute_presetup_CI.bash " + ip.rstrip() +
+ "| tee -a ${ODL_SFC_LOG} 1>/dev/null 2>&1")
+
+ output = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
+
+# This code is for debugging purposes
+# for line in iter(output.stdout.readline, ''):
+# print(line)
+# sys.stdout.flush()
+
+ output.stdout.close()
+
+ if not (output.poll()):
+ output.wait()
+
+ # Get return value
+ if output.returncode:
+ print("The compute config did not work on compute %s" % ip)
+ sys.exit(output.returncode)
+
+sys.exit(0)
diff --git a/tests/functest/odl-sfc/server_presetup_CI.bash b/tests/functest/odl-sfc/setup_scripts/server_presetup_CI.bash
index 240353f5..240353f5 100755
--- a/tests/functest/odl-sfc/server_presetup_CI.bash
+++ b/tests/functest/odl-sfc/setup_scripts/server_presetup_CI.bash
diff --git a/tests/functest/odl-sfc/setup_scripts/tacker_client_install.sh b/tests/functest/odl-sfc/setup_scripts/tacker_client_install.sh
new file mode 100755
index 00000000..adb9a44b
--- /dev/null
+++ b/tests/functest/odl-sfc/setup_scripts/tacker_client_install.sh
@@ -0,0 +1,43 @@
+MYDIR=$(dirname $(readlink -f "$0"))
+CLIENT=$(echo python-python-tackerclient_*_all.deb)
+CLIREPO="tacker-client"
+
+# Function checks whether a python egg is available, if not, installs
+function chkPPkg() {
+ PKG="$1"
+ IPPACK=$(python - <<'____EOF'
+import pip
+from os.path import join
+for package in pip.get_installed_distributions():
+ print(package.location)
+ print(join(package.location, *package._get_metadata("top_level.txt")))
+____EOF
+)
+ echo "$IPPACK" | grep -q "$PKG"
+ if [ $? -ne 0 ];then
+ pip install "$PKG"
+ fi
+}
+
+function envSetup() {
+ apt-get install -y python-all debhelper fakeroot
+ #pip install --upgrade python-keystoneclient==1.7.4
+ chkPPkg stdeb
+}
+
+# Function installs python-tackerclient from github
+function deployTackerClient() {
+ cd $MYDIR
+ git clone -b 'SFC_refactor' https://github.com/trozet/python-tackerclient.git $CLIREPO
+ cd $CLIREPO
+ python setup.py --command-packages=stdeb.command bdist_deb
+ cd "deb_dist"
+ CLIENT=$(echo python-python-tackerclient_*_all.deb)
+ cp $CLIENT $MYDIR
+ dpkg -i "${MYDIR}/${CLIENT}"
+ apt-get -f -y install
+ dpkg -i "${MYDIR}/${CLIENT}"
+}
+
+envSetup
+deployTackerClient