diff options
author | Morgan Richomme <morgan.richomme@orange.com> | 2016-11-08 14:18:12 +0100 |
---|---|---|
committer | Morgan Richomme <morgan.richomme@orange.com> | 2016-11-09 16:55:45 +0100 |
commit | 107e61635c2ab1feb5263380ea63e21cf2e6e65b (patch) | |
tree | 4966b77605bd34a40f452b1d268868691e84d008 /functest/opnfv_tests/features/sfc/prepare_odl_sfc.py | |
parent | e74c9b347f2623eb1a3c477921a84da4c31b364f (diff) |
Repo structure modification
- create functest subdirectory
- rename unit tests
- adapt path in exec and config files
JIRA: FUNCTEST-525
Change-Id: Ifd5c6edfb5bda1b09f82848e2269ad5fbeb84d0a
Signed-off-by: Morgan Richomme <morgan.richomme@orange.com>
Diffstat (limited to 'functest/opnfv_tests/features/sfc/prepare_odl_sfc.py')
-rwxr-xr-x | functest/opnfv_tests/features/sfc/prepare_odl_sfc.py | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/functest/opnfv_tests/features/sfc/prepare_odl_sfc.py b/functest/opnfv_tests/features/sfc/prepare_odl_sfc.py new file mode 100755 index 00000000..3d700b8a --- /dev/null +++ b/functest/opnfv_tests/features/sfc/prepare_odl_sfc.py @@ -0,0 +1,96 @@ +# +# 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() + +try: + FUNCTEST_REPO_DIR = os.environ['FUNCTEST_REPO_DIR'] +except: + logger.debug("FUNCTEST_REPO_DIR does not exist!!!!!") + +FUNCTEST_REPO_DIR = "/home/opnfv/repos/functest" + +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'] = FUNCTEST_REPO_DIR + "/opnfv_tests/features/sfc" + +command = os.environ['ODL_SFC_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 = os.environ['ODL_SFC_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) |