project-config/jenkins/jobs/patrole.yaml
Felipe Monteiro cd837beb27 Use keystone uuid tokens to optimize test run time
This commit does the following:
  - Overrides KEYSTONE_TOKEN_FORMAT to uuid in ``local_conf``
    sections of patrole.yaml because Patrole can be optimized
    to run faster in the gates using uuid tokens instead of
    fernet tokens [0][1]
  - Increases overall gate runtimes to 130 from 70, because
    while we want our jobs to run within 1 hour, occassionally
    our jobs fail prematurely due to limited resources, which
    only results in needless rechecking of jobs

[0] dc9ef55fc6/lib/keystone (L256)
[1] 03fd7903ee/patrole_tempest_plugin/rbac_utils.py (L85)

Change-Id: Idb8f7f1023b7bc05a258fb184d115d1ee59223dc
Closes-Bug: #1694848
2017-06-12 13:56:51 +00:00

161 lines
5.3 KiB
YAML

# Job for Patrole + Tempest. Tests admin and Member roles.
- job-template:
name: '{pipeline}-tempest-dsvm-patrole-{rbac-role}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin patrole git://git.openstack.org/openstack/patrole
TEMPEST_PLUGINS='/opt/stack/new/patrole'
# Needed by Patrole devstack plugin
RBAC_TEST_ROLE={rbac-role}
# Optimize test run time by using Keystone UUID tokens
KEYSTONE_TOKEN_FORMAT=uuid
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_REGEX='(?!.*\[.*\bslow\b.*\])(^patrole_tempest_plugin\.tests\.api)'
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
export PROJECTS="openstack/patrole $PROJECTS"
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
# Job for py35 Patrole + Tempest. Currently only tests Member role.
- job-template:
name: '{pipeline}-tempest-dsvm-patrole-py35-{rbac-role}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin patrole git://git.openstack.org/openstack/patrole
TEMPEST_PLUGINS='/opt/stack/new/patrole'
# Needed by Patrole devstack plugin
RBAC_TEST_ROLE={rbac-role}
# Optimize test run time by using Keystone UUID tokens
KEYSTONE_TOKEN_FORMAT=uuid
# Swift is not ready for python3 yet
disable_service s-account
disable_service s-container
disable_service s-object
disable_service s-proxy
# Without Swift, c-bak can't run (in the Gate at least)
disable_service c-bak
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_USE_PYTHON3=True
# Ensure that tempest set up is executed, but do not automatically
# execute tempest tests; they are executed in post_test_hook.
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_REGEX='(?!.*\[.*\bslow\b.*\])(^patrole_tempest_plugin\.tests\.api)'
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
export PROJECTS="openstack/patrole $PROJECTS"
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
# Job for Patrole + Tempest multinode environment. Tests admin and Member roles.
- job-template:
name: '{pipeline}-tempest-dsvm-patrole-multinode-{rbac-role}-{node-release}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin patrole git://git.openstack.org/openstack/patrole
TEMPEST_PLUGINS='/opt/stack/new/patrole'
# Needed by Patrole devstack plugin
RBAC_TEST_ROLE={rbac-role}
# Optimize test run time by using Keystone UUID tokens
KEYSTONE_TOKEN_FORMAT=uuid
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
# Ensure that tempest set up is executed, but do not automatically
# execute tempest tests; they are executed in post_test_hook.
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TOPOLOGY="multinode"
export DEVSTACK_GATE_TEMPEST_REGEX='(?=.*\[.*\bslow\b.*\])(^patrole_tempest_plugin\.tests\.api)'
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
export PROJECTS="openstack/patrole $PROJECTS"
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