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 a71751dbb5..c0a35a1f13 100755 --- a/gerrit/projects.yaml +++ b/gerrit/projects.yaml @@ -2460,6 +2460,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 8a287d26a2..8a25fbf8bd 100644 --- a/jenkins/jobs/projects.yaml +++ b/jenkins/jobs/projects.yaml @@ -3849,6 +3849,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 7f8b8f4fd0..f8368aa4ed 100755 --- a/zuul/layout.yaml +++ b/zuul/layout.yaml @@ -7779,6 +7779,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