diff options
22 files changed, 78 insertions, 60 deletions
diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst index a4a3dab..bcc0476 100644 --- a/docs/development/design/index.rst +++ b/docs/development/design/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-design: -.. _sdnvpn-design: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/docs/development/overview/index.rst b/docs/development/overview/index.rst index a732e41..c7c9e7f 100644 --- a/docs/development/overview/index.rst +++ b/docs/development/overview/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-overview: -.. _sdnvpn-overview: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/docs/development/requirements/index.rst b/docs/development/requirements/index.rst index 1a1acbe..9c6ea24 100644 --- a/docs/development/requirements/index.rst +++ b/docs/development/requirements/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-requirements: -.. _sdnvpn-requirements: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst index 8d04a6f..834fe5f 100644 --- a/docs/release/configguide/index.rst +++ b/docs/release/configguide/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-configguide: -.. _sdnvpn-configguide: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst index 5e4fa11..006f813 100644 --- a/docs/release/installation/index.rst +++ b/docs/release/installation/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-installation: -.. _sdnvpn-installation: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/docs/release/release-notes/index.rst b/docs/release/release-notes/index.rst index ac740d3..2b6664a 100644 --- a/docs/release/release-notes/index.rst +++ b/docs/release/release-notes/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-releasenotes: -.. _sdnvpn-releasenotes: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Nikolas Hermanns, (nikolas.hermanns@ericsson.com) and others diff --git a/docs/release/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index fe0fbbe..f5e04cf 100644 --- a/docs/release/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst @@ -34,13 +34,13 @@ Release Data | **Project** | sdnvpn | | | | +--------------------------------------+-------------------------------------------+ -| **Repo/tag** | Danube.1.0 | +| **Repo/tag** | Danube.2.0 | | | | +--------------------------------------+-------------------------------------------+ -| **Release designation** | Danube 1.0 follow-up release | +| **Release designation** | Danube 2.0 follow-up release | | | | +--------------------------------------+-------------------------------------------+ -| **Release date** | March 23 2016 | +| **Release date** | May 4 2017 | | | | +--------------------------------------+-------------------------------------------+ | **Purpose of the delivery** | Including BGP stack - 6WIND Zrpcd/Quagga | @@ -125,6 +125,7 @@ Documentation deliverables Known Limitations, Issues and Workarounds ========================================= + System Limitations ------------------ @@ -140,6 +141,9 @@ OpenStack NAT does not work. Instances created in subnets that are connected to the public network via a gateway should have external connectivity. This does not work and can be worked around by assigning a Floating IP to the instance [1]. +For Apex the peering with the virtual Peer is not working due to limitation +of apex networking. + Workarounds ----------- diff --git a/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst b/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst index fe9b9a6..5a33da3 100644 --- a/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst +++ b/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst @@ -1,8 +1,6 @@ -.. _sdnvpn-os-odl_l2-bgpvpn: +.. _sdnvpn-os-odl_l2-bgpvpn-noha: -.. _sdnvpn-os-odl_l2-bgpvpn: - -.. _sdnvpn-os-odl_l2-bgpvpn: +.. _sdnvpn-os-odl_l2-bgpvpn-ha: .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 diff --git a/docs/release/userguide/index.rst b/docs/release/userguide/index.rst index 4a0481d..8f9c34b 100644 --- a/docs/release/userguide/index.rst +++ b/docs/release/userguide/index.rst @@ -1,7 +1,5 @@ .. _sdnvpn-userguide: -.. _sdnvpn-userguide: - .. This work is licensed under a Creative Commons Attribution 4.0 International License. .. http://creativecommons.org/licenses/by/4.0 .. (c) Tim Irnich, (tim.irnich@ericsson.com) and others diff --git a/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py b/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py index 053e022..c0cf075 100644 --- a/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py +++ b/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py @@ -52,6 +52,11 @@ class ODLReInstaller(Service): self.odl_node = node LOG.info("ODL node found: {}".format(self.odl_node.name)) node.execute('systemctl stop opendaylight', as_root=True) + # rc 5 means the service is not there. + node.execute('systemctl stop bgpd', as_root=True, + check_exit_code=[0, 5]) + node.execute('systemctl stop zrpcd', as_root=True, + check_exit_code=[0, 5]) self.disconnect_ovs(node) @@ -90,8 +95,21 @@ class ODLReInstaller(Service): self.validate_ovs(node) LOG.info("OpenDaylight Upgrade Successful!") - @staticmethod - def reinstall_odl(node, odl_artifact): + def _start_service_if_enabled(self, node, service): + # rc 3 means service inactive + # rc 5 mean no service available + status, _ = node.execute('systemctl status {}'. + format(service), check_exit_code=[0, 3, 5]) + if 'service; enabled' in status: + LOG.info('Starting {}'.format(service)) + node.execute('systemctl start {}'.format(service), as_root=True) + + def reinstall_odl(self, node, odl_artifact): + # Check for Quagga + self._start_service_if_enabled(node, 'zrpcd') + self._start_service_if_enabled(node, 'bgpd') + + # Install odl tar_tmp_path = '/tmp/odl-artifact/' node.copy('to', odl_artifact, tar_tmp_path + odl_artifact) node.execute('rm -rf /opt/opendaylight/', as_root=True) diff --git a/sdnvpn/lib/config.py b/sdnvpn/lib/config.py index 21b848a..3195d9a 100644 --- a/sdnvpn/lib/config.py +++ b/sdnvpn/lib/config.py @@ -8,13 +8,13 @@ # http://www.apache.org/licenses/LICENSE-2.0 import yaml +import logging import os from functest.utils.constants import CONST -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils -logger = ft_logger.Logger("sndvpn_test_config").getLogger() +logger = logging.getLogger('sdnvpn_test_config') class CommonConfig(object): diff --git a/sdnvpn/lib/quagga.py b/sdnvpn/lib/quagga.py index dc80657..5234189 100644 --- a/sdnvpn/lib/quagga.py +++ b/sdnvpn/lib/quagga.py @@ -1,14 +1,14 @@ """Utilities for setting up quagga peering""" +import logging import re import time -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils import sdnvpn.lib.config as config from sdnvpn.lib.utils import run_odl_cmd, exec_cmd -logger = ft_logger.Logger("sdnvpn-quagga").getLogger() +logger = logging.getLogger('sdnvpn-quagga') COMMON_CONFIG = config.CommonConfig() diff --git a/sdnvpn/lib/results.py b/sdnvpn/lib/results.py index 9f4fd19..aa8dfa6 100644 --- a/sdnvpn/lib/results.py +++ b/sdnvpn/lib/results.py @@ -7,12 +7,12 @@ # # http://www.apache.org/licenses/LICENSE-2.0 # +import logging import time -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils -logger = ft_logger.Logger("sdnvpn-results").getLogger() +logger = logging.getLogger('sdnvpn-results') class Results(object): diff --git a/sdnvpn/lib/utils.py b/sdnvpn/lib/utils.py index 59f641b..f2e65a6 100644 --- a/sdnvpn/lib/utils.py +++ b/sdnvpn/lib/utils.py @@ -7,6 +7,7 @@ # # http://www.apache.org/licenses/LICENSE-2.0 # +import logging import os import sys import time @@ -14,13 +15,12 @@ import requests import re 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 -logger = ft_logger.Logger("sndvpn_test_utils").getLogger() +logger = logging.getLogger('sndvpn_test_utils') common_config = sdnvpn_config.CommonConfig() diff --git a/sdnvpn/test/functest/run_tests.py b/sdnvpn/test/functest/run_tests.py index 39daf8c..a861a47 100644 --- a/sdnvpn/test/functest/run_tests.py +++ b/sdnvpn/test/functest/run_tests.py @@ -10,18 +10,18 @@ import argparse import importlib +import logging import os import sys import time import traceback import yaml -import functest.utils.functest_logger as ft_logger import functest.utils.functest_utils as ft_utils from sdnvpn.lib import config as sdnvpn_config -logger = ft_logger.Logger(__name__).getLogger() +logger = logging.getLogger('sdnvpn-run-tests') COMMON_CONFIG = sdnvpn_config.CommonConfig() TEST_DB_URL = COMMON_CONFIG.test_db @@ -100,6 +100,7 @@ def main(report=False): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) parser = argparse.ArgumentParser() parser.add_argument("-r", "--report", help="Create json result file", diff --git a/sdnvpn/test/functest/tempest.py b/sdnvpn/test/functest/tempest.py index 728802f..5fca8cb 100644 --- a/sdnvpn/test/functest/tempest.py +++ b/sdnvpn/test/functest/tempest.py @@ -9,14 +9,14 @@ # # import ConfigParser +import logging import os import re import shutil -import functest.utils.functest_logger as ft_logger import functest.opnfv_tests.openstack.tempest.conf_utils as tempest_utils -logger = ft_logger.Logger("sdnvpn-tempest").getLogger() +logger = logging.getLogger('sdnvpn-tempest') def main(): @@ -88,4 +88,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_1.py b/sdnvpn/test/functest/testcase_1.py index 5aa6411..544d30f 100644 --- a/sdnvpn/test/functest/testcase_1.py +++ b/sdnvpn/test/functest/testcase_1.py @@ -9,9 +9,9 @@ # import argparse +import logging from random import randint -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils from sdnvpn.lib import utils as test_utils @@ -26,7 +26,7 @@ parser.add_argument("-r", "--report", args = parser.parse_args() -logger = ft_logger.Logger("sdnvpn-testcase-1").getLogger() +logger = logging.getLogger('sdnvpn-testcase-1') COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig('testcase_1') @@ -207,4 +207,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_2.py b/sdnvpn/test/functest/testcase_2.py index b3481aa..e24cfc0 100644 --- a/sdnvpn/test/functest/testcase_2.py +++ b/sdnvpn/test/functest/testcase_2.py @@ -9,10 +9,10 @@ # import argparse +import logging from random import randint import sys -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import sdnvpn.lib.utils as test_utils @@ -27,7 +27,7 @@ parser.add_argument("-r", "--report", args = parser.parse_args() -logger = ft_logger.Logger("sdnvpn-testcase-2").getLogger() +logger = logging.getLogger('sdnvpn-testcase-2') COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig('testcase_2') @@ -247,4 +247,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_3.py b/sdnvpn/test/functest/testcase_3.py index 3a63147..b906be6 100644 --- a/sdnvpn/test/functest/testcase_3.py +++ b/sdnvpn/test/functest/testcase_3.py @@ -11,6 +11,7 @@ # - Start a BGP router with OpenDaylight # - Add the functest Quagga as a neighbor # - Verify that the OpenDaylight and gateway Quagga peer +import logging import os import argparse @@ -20,14 +21,13 @@ import sdnvpn.lib.config as sdnvpn_config import functest.utils.openstack_utils as os_utils import functest.utils.functest_utils as ft_utils -import functest.utils.functest_logger as ft_logger from sdnvpn.lib.results import Results COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig("testcase_3") -logger = ft_logger.Logger("sdnvpn-testcase-3").getLogger() +logger = logging.getLogger('sdnvpn-testcase-3') parser = argparse.ArgumentParser() @@ -77,7 +77,7 @@ def main(): logger.info("Checking if zrpcd is " "running on the controller node") - cmd = "systemctl status zrpcd" + cmd = "systemctl status zrpcd |grep -i running" output = controller.run_cmd(cmd) msg = ("zrpcd is running") @@ -245,24 +245,29 @@ def main(): results.add_failure(testcase) results.add_to_summary(0, "=") - results.add_to_summary(0, '-') - results.add_to_summary(1, "Peer Quagga with OpenDaylight") - results.add_to_summary(0, '-') + # TODO remove this and include apex again + installer_type = str(os.environ['INSTALLER_TYPE'].lower()) + if installer_type != "apex": + + results.add_to_summary(0, '-') + results.add_to_summary(1, "Peer Quagga with OpenDaylight") + results.add_to_summary(0, '-') + + neighbor = quagga.odl_add_neighbor(fake_fip['fip_addr'], + controller_ext_ip, + controller) + peer = quagga.check_for_peering(controller) + if neighbor and peer: + results.add_success("Peering with quagga") + else: + results.add_failure("Peering with quagga") - neighbor = quagga.odl_add_neighbor(fake_fip['fip_addr'], - controller_ext_ip, - controller) - peer = quagga.check_for_peering(controller) finally: test_utils.detach_instance_from_ext_br(quagga_vm, compute) - if neighbor and peer: - results.add_success("Peering with quagga") - else: - results.add_failure("Peering with quagga") - return results.compile_summary() if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_4.py b/sdnvpn/test/functest/testcase_4.py index a474630..c91af24 100644 --- a/sdnvpn/test/functest/testcase_4.py +++ b/sdnvpn/test/functest/testcase_4.py @@ -9,9 +9,9 @@ # import argparse +import logging from random import randint -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils from sdnvpn.lib import utils as test_utils @@ -26,7 +26,7 @@ parser.add_argument("-r", "--report", args = parser.parse_args() -logger = ft_logger.Logger("sdnvpn-testcase-4").getLogger() +logger = logging.getLogger('sdnvpn-testcase-4') COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig('testcase_4') @@ -208,4 +208,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_7.py b/sdnvpn/test/functest/testcase_7.py index 00e9eef..659f46a 100644 --- a/sdnvpn/test/functest/testcase_7.py +++ b/sdnvpn/test/functest/testcase_7.py @@ -19,8 +19,8 @@ network associated: - Ping it """ import argparse +import logging -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils from sdnvpn.lib import utils as test_utils @@ -35,7 +35,7 @@ parser.add_argument("-r", "--report", args = parser.parse_args() -logger = ft_logger.Logger("sdnvpn-testcase-7").getLogger() +logger = logging.getLogger('sdnvpn-testcase-7') COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig('testcase_7') @@ -151,4 +151,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() diff --git a/sdnvpn/test/functest/testcase_8.py b/sdnvpn/test/functest/testcase_8.py index f68507e..eca08ec 100644 --- a/sdnvpn/test/functest/testcase_8.py +++ b/sdnvpn/test/functest/testcase_8.py @@ -19,8 +19,8 @@ Test whether router assoc can coexist with floating IP - Ping it the floating ip """ import argparse +import logging -import functest.utils.functest_logger as ft_logger import functest.utils.openstack_utils as os_utils import sdnvpn.lib.utils as test_utils @@ -35,7 +35,7 @@ parser.add_argument("-r", "--report", args = parser.parse_args() -logger = ft_logger.Logger("sdnvpn-testcase-8").getLogger() +logger = logging.getLogger('sdnvpn-testcase-8') COMMON_CONFIG = sdnvpn_config.CommonConfig() TESTCASE_CONFIG = sdnvpn_config.TestcaseConfig('testcase_8') @@ -152,4 +152,5 @@ def main(): if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) main() |