From 816b2ea7ac600885b777e906bfe944f16e5fd8db Mon Sep 17 00:00:00 2001 From: tomsou Date: Tue, 7 Mar 2017 09:19:08 +0000 Subject: Fix functest failing in apex case- testcase3 - Check the INSTALLER_TYPE environment variable - Differentiate fuel from apex case JIRA: SDNVPN-101 Change-Id: I10fa26f5c0b7f95601b29db86e756a20c9e921ec Signed-off-by: tomsou --- sdnvpn/lib/utils.py | 34 ++++++++++++++++++++++++++++++++++ sdnvpn/test/functest/testcase_3.py | 19 +++++-------------- 2 files changed, 39 insertions(+), 14 deletions(-) (limited to 'sdnvpn') diff --git a/sdnvpn/lib/utils.py b/sdnvpn/lib/utils.py index 149a37e..8c4aebf 100644 --- a/sdnvpn/lib/utils.py +++ b/sdnvpn/lib/utils.py @@ -7,6 +7,7 @@ # # http://www.apache.org/licenses/LICENSE-2.0 # +import os import sys import time import requests @@ -15,6 +16,7 @@ import subprocess import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils +from opnfv.deployment.factory import Factory as DeploymentFactory from sdnvpn.lib import config as sdnvpn_config @@ -200,6 +202,38 @@ def generate_userdata_with_ssh(ips_array): return (u1 + u2) +def get_installerHandler(): + installer_type = str(os.environ['INSTALLER_TYPE'].lower()) + installer_ip = get_installer_ip() + + if installer_type not in ["fuel", "apex"]: + raise ValueError("%s is not supported" % installer_type) + else: + if installer_type in ["apex"]: + developHandler = DeploymentFactory.get_handler( + installer_type, + installer_ip, + 'root', + pkey_file="/root/.ssh/id_rsa") + + if installer_type in ["fuel"]: + developHandler = DeploymentFactory.get_handler( + installer_type, + installer_ip, + 'root', + 'r00tme') + return developHandler + + +def get_nodes(): + developHandler = get_installerHandler() + return developHandler.get_nodes() + + +def get_installer_ip(): + return str(os.environ['INSTALLER_IP']) + + def wait_for_instance(instance): logger.info("Waiting for instance %s to get a DHCP lease..." % instance.id) # The sleep this function replaced waited for 80s diff --git a/sdnvpn/test/functest/testcase_3.py b/sdnvpn/test/functest/testcase_3.py index 26593f8..8bbc738 100644 --- a/sdnvpn/test/functest/testcase_3.py +++ b/sdnvpn/test/functest/testcase_3.py @@ -29,8 +29,6 @@ import functest.utils.functest_logger as ft_logger from sdnvpn.lib.results import Results -from opnfv.deployment.factory import Factory as DeploymentFactory - COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig("testcase_3") @@ -57,21 +55,13 @@ def main(): results.add_to_summary(2, "STATUS", "SUBTEST") results.add_to_summary(0, "=") - # TODO unhardcode this to work with apex - deploymentHandler = DeploymentFactory.get_handler( - 'fuel', - '10.20.0.2', - 'root', - 'r00tme') - - openstack_nodes = deploymentHandler.get_nodes() + openstack_nodes = test_utils.get_nodes() controllers = [node for node in openstack_nodes if node.is_odl()] msg = ("Verify that OpenDaylight can start/communicate with zrpcd/Quagga") results.record_action(msg) results.add_to_summary(0, "-") - if not controllers: msg = ("Controller (ODL) list is empty. Skipping rest of tests.") logger.info(msg) @@ -104,14 +94,14 @@ def main(): # TODO here we need the external ip of the controller start_quagga = "odl:configure-bgp -op start-bgp-server " \ "--as-num 100 --router-id {0}".format(controller.ip) - test_utils.run_odl_cmd(controller, start_quagga) logger.info("Checking if bgpd is running" " on the controller node") # Check if there is a non-zombie bgpd process - output_bgpd = controller.run_cmd("ps --no-headers -C bgpd -o state") + output_bgpd = controller.run_cmd("ps --no-headers -C " + "bgpd -o state") states = output_bgpd.split() running = any([s != 'Z' for s in states]) @@ -134,7 +124,8 @@ def main(): # logger.info("Checking if bgpd is still running" # " on the controller node") - # output_bgpd = controller.run_cmd("ps --no-headers -C bgpd -o state") + # output_bgpd = controller.run_cmd("ps --no-headers -C " \ + # "bgpd -o state") # states = output_bgpd.split() # running = any([s != 'Z' for s in states]) -- cgit 1.2.3-korg