summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortomsou <soth@intracom-telecom.com>2017-03-07 09:19:08 +0000
committertomsou <soth@intracom-telecom.com>2017-03-07 09:19:08 +0000
commit816b2ea7ac600885b777e906bfe944f16e5fd8db (patch)
tree100921fa7f9e69b953794d41d53f2759fb05abdb
parenta0280e4f218481fbe3a762e117f67a877111c45b (diff)
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 <soth@intracom-telecom.com>
-rw-r--r--sdnvpn/lib/utils.py34
-rw-r--r--sdnvpn/test/functest/testcase_3.py19
2 files changed, 39 insertions, 14 deletions
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])