project-config/jenkins/jobs/neutron-vpnaas.yaml
Paul Michali d6ce863b1a Setup non-voting VPNaaS func test for StrongSwan
The StrongSwan driver has been proposed as the new 'reference'
implementation for VPNaaS, eventually replacing the current OpenSwan
driver.

The StrongSwan driver requires that StrongSwan is installed, and that
AppArmor is disabled for the charon and stroke processes. To do this,
a separate DevStack based functional job will be created.

To support both jobs, and to allow sharing of test cases that may
apply to both driver implementations, the plan is to create the
following directory structure (and corresponding test filtering):

tests/functional/             - Shared test cases/modules
tests/functional/strongswan/  - StrongSwan specific tests
tests/functional/openswan/    - OpenSwan specific tests

Note: As StrongSwan test modules are developed, they will need to
be located in tests/functional/strongswan/. Likewise, the existing
placeholder module for the OpenSwan driver (test cases are empty
currently) will be moved into the tests/functional/openswan area.
As a result, this change will not affect any existing functional
tests.

For this functional job, a different argument will be passed into
the hook scripts to indicate the tests will use StrongSwan. The
gate hook will set the environment variable IPSEC_PACKAGE=strongswan
and DevStack (modified under review 158741) will install StrongSwan
and disable AppArmor for charon/stroke.

Depends-On: fbde695ac2bef255703dc131beeede769d9e005a
Change-Id: Ie0a45fe450ccded61b66a96cd95fac3878d00cfb
Partial-Bug: 1424757
2015-03-01 13:54:25 -05:00

90 lines
2.7 KiB
YAML

- job-template:
name: '{pipeline}-neutron-vpnaas-dsvm-functional{branch-designator}'
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_UNSTACK=1
export DEVSTACK_GATE_TIMEOUT=120
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-vpnaas/neutron_vpnaas/tests/contrib/gate_hook.sh dsvm-functional
}}
export -f gate_hook
function post_test_hook {{
bash -xe $BASE/new/neutron-vpnaas/neutron_vpnaas/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-vpnaas-dsvm-functional-sswan{branch-designator}'
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_UNSTACK=1
export DEVSTACK_GATE_TIMEOUT=120
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-vpnaas/neutron_vpnaas/tests/contrib/gate_hook.sh dsvm-functional-sswan
}}
export -f gate_hook
function post_test_hook {{
bash -xe $BASE/new/neutron-vpnaas/neutron_vpnaas/tests/contrib/post_test_hook.sh dsvm-functional-sswan
}}
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