From e6ac70ad7729ac30a75567c32f305128d955ceac Mon Sep 17 00:00:00 2001 From: "vikram.choudhary" Date: Wed, 13 Apr 2016 12:50:43 +0530 Subject: [PATCH] Adding a new project called "neutron-dynamic-routing" Scope: ------ This patch propose adding BGP dynamic routing effort for Neutron as a separate neutron-official project. As a part of this effort, we would like to address the followings: * Getting a new repository named 'neutron-dynamic-routing' created. * Move the existing BGP dynamic routing code from the Neutron & python-neutronclient master branch to the newer repository. * Run the existing tests (py27, py34, API and Functional) successfully via the relevant CI jobs. * Add devstack support. * Proper documentation. * Check the feasibility of starting a separate IRC meeting. (Currently, we are a part of L3 team meeting. Will start a separate IRC meeting, if the L3 team feels so.) Why a new project: ------------------ Separate repository will provide more flexibility and access developing dynamic routing functionality in Neutron. In addition most of us feel having a separate repository will be good. Details about our discussion can be found @ http://eavesdrop.openstack.org/meetings/neutron_l3/2016/neutron_l3.2016-01-14-15.06.log.html Project Details: ---------------- pypi project: https://pypi.python.org/pypi?%3Aaction=pkg_edit&name=neutron-dynamic-routing launchpad project: https://launchpad.net/neutron Co-Authored-By: Ryan Tidwell Implements: blueprint bgp-spinout Partial-Bug: #1560003 Needed-By: If0380e4d0e30a46f77467945ecba8a698d1930a1 Change-Id: I8be510153edbc496575cde34943ca4c56645e0fb --- .../openstack/neutron-dynamic-routing.config | 27 +++++++ gerrit/projects.yaml | 6 ++ jenkins/jobs/neutron-dynamic-routing.yaml | 78 +++++++++++++++++++ jenkins/jobs/projects.yaml | 20 +++++ zuul/layout.yaml | 15 ++++ 5 files changed, 146 insertions(+) create mode 100644 gerrit/acls/openstack/neutron-dynamic-routing.config create mode 100644 jenkins/jobs/neutron-dynamic-routing.yaml diff --git a/gerrit/acls/openstack/neutron-dynamic-routing.config b/gerrit/acls/openstack/neutron-dynamic-routing.config new file mode 100644 index 0000000000..970b5bd8b4 --- /dev/null +++ b/gerrit/acls/openstack/neutron-dynamic-routing.config @@ -0,0 +1,27 @@ +[access "refs/for/refs/*"] +pushMerge = group neutron-release + +[access "refs/heads/*"] +abandon = group neutron-dynamic-routing-core +label-Code-Review = -2..+2 group neutron-dynamic-routing-core +label-Verified = -1..+1 group neutron-ci +label-Workflow = -1..+1 group neutron-dynamic-routing-core + +[access "refs/heads/stable/*"] +abandon = group Change Owner +abandon = group Project Bootstrappers +abandon = group neutron-stable-maint +exclusiveGroupPermissions = abandon label-Code-Review label-Workflow +label-Code-Review = -2..+2 group Project Bootstrappers +label-Code-Review = -2..+2 group neutron-stable-maint +label-Code-Review = -1..+1 group Registered Users +label-Workflow = -1..+0 group Change Owner +label-Workflow = -1..+1 group Project Bootstrappers +label-Workflow = -1..+1 group neutron-stable-maint + +[receive] +requireChangeId = true +requireContributorAgreement = true + +[submit] +mergeContent = true diff --git a/gerrit/projects.yaml b/gerrit/projects.yaml index a87ab71079..e4c4df19ca 100755 --- a/gerrit/projects.yaml +++ b/gerrit/projects.yaml @@ -2449,6 +2449,12 @@ - translate - project: openstack/neutron-classifier description: Common library for services that classify packets +- project: openstack/neutron-dynamic-routing + description: Dynamic routing services for OpenStack Neutron. + upstream: https://github.com/VikramChoudhary/neutron-dynamic-routing.git + docimpact-group: neutron + groups: + - neutron - project: openstack/neutron-fwaas description: Firewall services for OpenStack Neutron. docimpact-group: neutron diff --git a/jenkins/jobs/neutron-dynamic-routing.yaml b/jenkins/jobs/neutron-dynamic-routing.yaml new file mode 100644 index 0000000000..328374f709 --- /dev/null +++ b/jenkins/jobs/neutron-dynamic-routing.yaml @@ -0,0 +1,78 @@ +- job-template: + name: '{pipeline}-neutron-dynamic-routing-dsvm-functional{job-suffix}' + node: '{node}' + + wrappers: + - build-timeout: + timeout: 130 + - timestamps + + builders: + - print-template-name: + template-name: "{template-name}" + - link-logs + - net-info + - devstack-checkout + - shell: | + #!/bin/bash -xe + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_UNSTACK=1 + export DEVSTACK_GATE_TEMPEST=0 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export BRANCH_OVERRIDE={branch-override} + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + function gate_hook {{ + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/gate_hook.sh dsvm-functional + }} + export -f gate_hook + + function post_test_hook {{ + bash -xe $BASE/new/neutron-dynamic-routing/neutron_dynamic_routing/tests/contrib/post_test_hook.sh dsvm-functional + }} + export -f post_test_hook + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + + publishers: + - test-results + - devstack-logs + - console-log + +- job-template: + name: '{pipeline}-neutron-dynamic-routing-dsvm-tempest{job-suffix}' + node: '{node}' + + wrappers: + - build-timeout: + timeout: 125 + - timestamps + + builders: + - link-logs + - net-info + - devstack-checkout + - shell: | + #!/bin/bash -xe + export PYTHONUNBUFFERED=true + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_REGEX="^neutron_dynamic_routing\." + export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1 + export DEVSTACK_GATE_NEUTRON=1 + export BRANCH_OVERRIDE={branch-override} + if [ "$BRANCH_OVERRIDE" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + + cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh + ./safe-devstack-vm-gate-wrap.sh + + publishers: + - test-results + - devstack-logs + - console-log diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml index d1e527a781..5402147353 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -3817,6 +3817,26 @@ - python-jobs - openstack-publish-jobs +- project: + name: neutron-dynamic-routing + tarball-site: tarballs.openstack.org + doc-publisher-site: docs.openstack.org + + jobs: + - python-jobs + - openstack-publish-jobs + - openstack-releasenotes-jobs + - '{pipeline}-neutron-dynamic-routing-dsvm-functional{job-suffix}': + pipeline: gate + node: ubuntu-trusty + job-suffix: '-nv' + branch-override: default + - '{pipeline}-neutron-dynamic-routing-dsvm-tempest{job-suffix}': + pipeline: gate + node: ubuntu-trusty + job-suffix: '-nv' + branch-override: default + - project: name: neutron-fwaas tarball-site: tarballs.openstack.org diff --git a/zuul/layout.yaml b/zuul/layout.yaml index 46d7983fea..b48677381a 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -7697,6 +7697,21 @@ projects: - name: merge-check - name: python-jobs + - name: openstack/neutron-dynamic-routing + template: + - name: check-requirements + - name: integrated-gate-neutron + - name: merge-check + - name: python-jobs + - name: python3-jobs + - name: openstack-server-release-jobs + - name: release-notes-jobs + check: + - gate-neutron-dynamic-routing-dsvm-functional-nv + - gate-neutron-dynamic-routing-dsvm-tempest-nv + post: + - neutron-dynamic-routing-coverage + - name: openstack/neutron-fwaas template: - name: check-requirements