diff options
author | tomsou <soth@intracom-telecom.com> | 2017-03-23 13:50:00 +0000 |
---|---|---|
committer | Nikolas Hermanns <nikolas.hermanns@ericsson.com> | 2017-03-27 07:50:29 +0000 |
commit | ae2c3083656f94ba5c763af8312098f0c85d9fae (patch) | |
tree | 09c92ba1bb1ac3869d4c4afee36c35f585d4d7aa | |
parent | 4d2cf21519e2c88866e4b5aac0b95eb5ed67f125 (diff) |
Fix testcase3 (peering subcase) for Apex
- Fix runnning bgp related commands on Karaf:
update util.run_odl_cmd() in order to be able to
run commands on karaf client. Otherwise karaf
commands fail
- Ensure zrpcd/bgpd to run on controller side properly:
Add missing quagga run folder, change owner and
add user quagga into quaggavt group, in case of apex
installer
- Update the way of handling br-ex information and
parsing out the controller external ip and mask:
In case we have multiple ip/netmask assigned on br-ex
the separation was faulty and an extra line, containing
the second ip address, was added into ext_net_mask variable
JIRA: SDNVPN-118
Change-Id: I62468c94fd945ba30e419bd30d9cd85502f28eeb
Signed-off-by: tomsou <soth@intracom-telecom.com>
(cherry picked from commit db1ce6276c443dd9766458c516cc58c7f2e098d5)
-rw-r--r-- | sdnvpn/lib/utils.py | 3 | ||||
-rw-r--r-- | sdnvpn/test/functest/testcase_3.py | 20 |
2 files changed, 17 insertions, 6 deletions
diff --git a/sdnvpn/lib/utils.py b/sdnvpn/lib/utils.py index 5dcb8c1..90fce4a 100644 --- a/sdnvpn/lib/utils.py +++ b/sdnvpn/lib/utils.py @@ -408,7 +408,8 @@ def run_odl_cmd(odl_node, cmd): that contains "ERROR" and run_cmd doesn't like that. ''' - karaf_cmd = '/opt/opendaylight/bin/client "%s" 2>/dev/null' % cmd + karaf_cmd = ('/opt/opendaylight/bin/client -h 127.0.0.1 "%s"' + ' 2>/dev/null' % cmd) return odl_node.run_cmd(karaf_cmd) diff --git a/sdnvpn/test/functest/testcase_3.py b/sdnvpn/test/functest/testcase_3.py index 416af39..41f8f70 100644 --- a/sdnvpn/test/functest/testcase_3.py +++ b/sdnvpn/test/functest/testcase_3.py @@ -1,4 +1,3 @@ -# # Copyright (c) 2017 All rights reserved # This program and the accompanying materials # are made available under the terms of the Apache License, Version 2.0 @@ -68,9 +67,21 @@ def main(): controller = controllers[0] # We don't handle HA well get_ext_ip_cmd = "sudo ip a | grep br-ex | grep inet | awk '{print $2}'" - ext_net_cidr = controller.run_cmd(get_ext_ip_cmd).split("/") - ext_net_mask = ext_net_cidr[1].split('\n')[0] - controller_ext_ip = ext_net_cidr[0] + ext_net_cidr = controller.run_cmd(get_ext_ip_cmd).strip().split('\n') + ext_net_mask = ext_net_cidr[0].split('/')[1] + controller_ext_ip = ext_net_cidr[0].split('/')[0] + + # TODO This code has to be adapted into Apex quagga rpm spec + installer_type = str(os.environ['INSTALLER_TYPE'].lower()) + if installer_type == "apex": + add_quagga_user = 'sudo usermod -a -G quaggavt quagga' + test_utils.run_odl_cmd(controller, add_quagga_user) + + create_quagga_run_folder = "sudo mkdir -p /var/run/quagga/" + test_utils.run_odl_cmd(controller, create_quagga_run_folder) + + chown_quagga_folder = 'sudo chown quagga:quagga -R /var/run/quagga/' + test_utils.run_odl_cmd(controller, chown_quagga_folder) logger.info("Starting bgp speaker of controller at IP %s " % controller_ext_ip) @@ -167,7 +178,6 @@ def main(): TESTCASE_CONFIG.quagga_subnet_cidr, TESTCASE_CONFIG.quagga_router_name) - installer_type = str(os.environ['INSTALLER_TYPE'].lower()) if installer_type == "fuel": disk = 'raw' elif installer_type == "apex": |