diff options
14 files changed, 98 insertions, 21 deletions
diff --git a/docs/development/design/index.rst b/docs/development/design/index.rst new file mode 100644 index 0000000..44e0058 --- /dev/null +++ b/docs/development/design/index.rst @@ -0,0 +1,11 @@ +.. 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 + +======= +SDN VPN +======= + +.. include:: ../../release/userguide/feature.userguide.rst + + diff --git a/docs/development/overview/index.rst b/docs/development/overview/index.rst new file mode 100644 index 0000000..8bd29f8 --- /dev/null +++ b/docs/development/overview/index.rst @@ -0,0 +1,21 @@ +.. 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 + +======= +SDN VPN +======= + +A high-level description of the scenarios is provided in this section. +For details of the scenarios and their provided capabilities refer to +the scenario description document: +http://artifacts.opnfv.org/danube/sdnpvn/scenarios/os-odl_l2-bgpvpn/index.html + +The BGPVPN feature enables creation of BGP VPNs on the Neutron API according to the OpenStack +BGPVPN blueprint at https://blueprints.launchpad.net/neutron/+spec/neutron-bgp-vpn. +In a nutshell, the blueprint defines a BGPVPN object and a number of ways +how to associate it with the existing Neutron object model, as well as a unique +definition of the related semantics. The BGPVPN framework supports a backend +driver model with currently available drivers for Bagpipe, OpenContrail, Nuage +and OpenDaylight. The OPNFV scenario makes use of the OpenDaylight driver and backend +implementation through the ODL NetVirt project. diff --git a/docs/development/requirements/index.rst b/docs/development/requirements/index.rst new file mode 100644 index 0000000..44e0058 --- /dev/null +++ b/docs/development/requirements/index.rst @@ -0,0 +1,11 @@ +.. 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 + +======= +SDN VPN +======= + +.. include:: ../../release/userguide/feature.userguide.rst + + diff --git a/docs/release/configguide/index.rst b/docs/release/configguide/index.rst new file mode 100644 index 0000000..9fe2e30 --- /dev/null +++ b/docs/release/configguide/index.rst @@ -0,0 +1,11 @@ +.. 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 + +======= +SDN VPN +======= + +.. include:: ../userguide/feature.userguide.rst + + diff --git a/docs/release/installation/index.rst b/docs/release/installation/index.rst new file mode 100644 index 0000000..9fe2e30 --- /dev/null +++ b/docs/release/installation/index.rst @@ -0,0 +1,11 @@ +.. 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 + +======= +SDN VPN +======= + +.. include:: ../userguide/feature.userguide.rst + + diff --git a/docs/release-notes/index.rst b/docs/release/release-notes/index.rst index 4f7261d..4f7261d 100644 --- a/docs/release-notes/index.rst +++ b/docs/release/release-notes/index.rst diff --git a/docs/release-notes/release-notes.rst b/docs/release/release-notes/release-notes.rst index fe0fbbe..fe0fbbe 100644 --- a/docs/release-notes/release-notes.rst +++ b/docs/release/release-notes/release-notes.rst diff --git a/docs/scenarios/os-odl_l2-bgpvpn/index.rst b/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst index 2389706..2389706 100644 --- a/docs/scenarios/os-odl_l2-bgpvpn/index.rst +++ b/docs/release/scenarios/os-odl_l2-bgpvpn/index.rst diff --git a/docs/scenarios/os-odl_l2-bgpvpn/scenario.description.rst b/docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst index e552bcf..e552bcf 100644 --- a/docs/scenarios/os-odl_l2-bgpvpn/scenario.description.rst +++ b/docs/release/scenarios/os-odl_l2-bgpvpn/scenario.description.rst diff --git a/docs/userguide/feature.userguide.rst b/docs/release/userguide/feature.userguide.rst index 4f16d3d..4f16d3d 100644 --- a/docs/userguide/feature.userguide.rst +++ b/docs/release/userguide/feature.userguide.rst diff --git a/docs/userguide/index.rst b/docs/release/userguide/index.rst index 0eab38c..0eab38c 100644 --- a/docs/userguide/index.rst +++ b/docs/release/userguide/index.rst diff --git a/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py b/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py index 655f816..34a6732 100644 --- a/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py +++ b/odl-pipeline/lib/odl_reinstaller/odl_reinstaller.py @@ -40,7 +40,11 @@ class ODLReInstaller(Service): self.nodes = NodeManager(node_config['servers']).get_nodes() for node in self.nodes: node.execute('ovs-vsctl del-controller br-int', as_root=True) + first_controller = None for node in self.nodes: + if not first_controller: + if 'controller' in node.execute('echo $HOSTNAME')[0]: + first_controller = node # Check if ODL runs on this node rv, _ = node.execute('ps aux |grep -v grep |grep karaf', as_root=True, check_exit_code=[0, 1]) @@ -52,6 +56,8 @@ class ODLReInstaller(Service): self.disconnect_ovs(node) # Upgrade ODL + if not self.odl_node: + self.odl_node = first_controller self.reinstall_odl(self.odl_node, odl_artifact) # Wait for ODL to come back up @@ -85,19 +91,26 @@ class ODLReInstaller(Service): LOG.info("OpenDaylight Upgrade Successful!") @staticmethod - def reinstall_odl(node, odl_tarball): + def reinstall_odl(node, odl_artifact): tar_tmp_path = '/tmp/odl-artifact/' - node.copy('to', odl_tarball, tar_tmp_path + odl_tarball) + node.copy('to', odl_artifact, tar_tmp_path + odl_artifact) node.execute('rm -rf /opt/opendaylight/*', as_root=True) node.execute('mkdir -p /opt/opendaylight/*', as_root=True) - LOG.info('Extracting %s to /opt/opendaylight/ on node %s' - % (odl_tarball, node.name)) - node.execute('tar -zxf %s --strip-components=1 -C ' - '/opt/opendaylight/' - % (tar_tmp_path + odl_tarball), as_root=True) - node.execute('chown -R odl:odl /opt/opendaylight', as_root=True) + if 'tar.gz' in odl_artifact: + LOG.info('Extracting %s to /opt/opendaylight/ on node %s' + % (odl_artifact, node.name)) + node.execute('tar -zxf %s --strip-components=1 -C ' + '/opt/opendaylight/' + % (tar_tmp_path + odl_artifact), as_root=True) + node.execute('chown -R odl:odl /opt/opendaylight', as_root=True) + if '.rpm' in odl_artifact: + LOG.info('Installing %s on node %s' + % (odl_artifact, node.name)) + node.execute('yum remove -y opendaylight', as_root=True) + node.execute('yum install -y %s' + % (tar_tmp_path + odl_artifact), as_root=True) node.execute('rm -rf ' + tar_tmp_path, as_root=True) - LOG.info('Installing and Starting Opendaylight on node %s' % node.name) + LOG.info('Starting Opendaylight on node %s' % node.name) node.execute('puppet apply -e "include opendaylight" ' '--modulepath=/etc/puppet/modules/ ' '--verbose --debug --trace --detailed-exitcodes', diff --git a/sdnvpn/test/functest/run_tests.py b/sdnvpn/test/functest/run_tests.py index 1130759..140aee2 100644 --- a/sdnvpn/test/functest/run_tests.py +++ b/sdnvpn/test/functest/run_tests.py @@ -20,13 +20,7 @@ import functest.utils.functest_utils as ft_utils from sdnvpn.lib import config as sdnvpn_config -parser = argparse.ArgumentParser() -parser.add_argument("-r", "--report", - help="Create json result file", - action="store_true") -args = parser.parse_args() - -logger = ft_logger.Logger("sdnvpn-run-tests").getLogger() +logger = ft_logger.Logger(__name__).getLogger() COMMON_CONFIG = sdnvpn_config.CommonConfig() TEST_DB_URL = COMMON_CONFIG.test_db @@ -42,7 +36,7 @@ def push_results(testname, start_time, end_time, criteria, details): details) -def main(): +def main(report=False): # Workaround for https://jira.opnfv.org/projects/SDNVPN/issues/SDNVPN-100 # and SDNVPN-126 cmd_line = "neutron quota-update --subnet -1 --network -1 --port -1" @@ -88,7 +82,7 @@ def main(): if status == "FAIL": overall_status = "FAIL" - if args.report: + if report: push_results( test_name_db, start_time, end_time, status, details) @@ -99,4 +93,9 @@ def main(): if __name__ == '__main__': - main() + parser = argparse.ArgumentParser() + parser.add_argument("-r", "--report", + help="Create json result file", + action="store_true") + args = parser.parse_args() + main(report=args.report) diff --git a/sdnvpn/test/functest/testcase_3.py b/sdnvpn/test/functest/testcase_3.py index 0f0c407..2e6d6b0 100644 --- a/sdnvpn/test/functest/testcase_3.py +++ b/sdnvpn/test/functest/testcase_3.py @@ -139,8 +139,8 @@ def main(): if not os.path.isfile(COMMON_CONFIG.ubuntu_image_path): logger.info("Downloading image") ft_utils.download_url( - "https://cloud-images.ubuntu.com/releases/16.04/" - "release/ubuntu-16.04-server-cloudimg-amd64-disk1.img", + "http://artifacts.opnfv.org/sdnvpn/" + "ubuntu-16.04-server-cloudimg-amd64-disk1.img", "/home/opnfv/functest/data/") else: logger.info("Using old image") |