project-config/jenkins/jobs/sahara.yaml
Luigi Toscano 9f1507eabc sahara: refactor image building, new builders
Generalize the existing image building jobs and distinguish
the repository (sahara-image-elements for the existing
build system, sahara for the new build/validation method).

Right now only two new jobs are defined for sahara (based on
sahara-image-pack). This matches the current status of the
almost ready (under review) sahara-image-pack builders.
As the code for the builders are not ready, the new jobs are
only defined in the experimental queue.

The script called by the job has the same name in both
repositories (sahara-image-elements and sahara).

The refactor also consistently changes the name of all non-voting
jobs by adding the -nv suffix (which makes them non-voting by
default with some magic) and removes two non-voting jobs
which should not have been in the gate queue.

Change-Id: I5fc00c4c8f97ecaa9e48e2e76a64ddc6d68d1720
2017-05-05 16:51:10 +02:00

428 lines
13 KiB
YAML

- builder:
name: devstack-sahara
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_SUBNODE_CONFIG=" "
export DEVSTACK_LOCAL_CONFIG="enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export KEEP_LOCALRC=1
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-tests $PROJECTS"
export PROJECTS="openstack/sahara-image-elements openstack/sahara-extra $PROJECTS"
if [ "{network}" == "nova" ] ; then
export DEVSTACK_GATE_NEUTRON=0
else
export DEVSTACK_GATE_NEUTRON=1
fi
if [ "$ZUUL_PROJECT" = "openstack/python-saharaclient" ]; then
export DEVSTACK_PROJECT_FROM_GIT=python-saharaclient
fi
if [ "{multinode}" -eq 1 ] ; then
export DEVSTACK_GATE_TOPOLOGY="multinode"
fi
if [ "{sahara-mod-wsgi}" -eq 1 ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"SAHARA_USE_MOD_WSGI=True"
fi
export BRANCH_OVERRIDE={branch-override}
if [ "{branch-override}" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
function pre_test_hook {{
cd /opt/stack/new/sahara-tests/tools/gate/scenario
./pre_test_hook.sh {network} {plugin}
}}
export -f pre_test_hook
function post_test_hook {{
cd /opt/stack/new/sahara-tests/tools/gate/scenario
./post_test_hook.sh {network} {plugin}
}}
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
- job-template:
name: 'gate-sahara-dashboard-dsvm-integration-{node}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 100
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- firefox-install
- xvfb-install
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG="enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin sahara-dashboard git://git.openstack.org/openstack/sahara-dashboard"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-dashboard $PROJECTS"
function pre_test_hook {{
cd /opt/stack/new/sahara-dashboard/tools/gate/integration
./pre_test_hook.sh
}}
export -f pre_test_hook
function post_test_hook {{
cd /opt/stack/new/sahara-dashboard/tools/gate/integration
./post_test_hook.sh
}}
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: 'gate-{name}-buildimages-{plugin}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 120
- timestamps
builders:
- link-logs
- net-info
- zuul-git-prep
- install-distro-packages
- shell: |
#!/bin/bash -xe
sudo mkdir -p /opt/sahara-image-build
sudo chown $(whoami) /opt/sahara-image-build
export DEST=/opt/sahara-image-build
./tools/gate/build-images {plugin}
publishers:
- console-log
- builder:
name: sahara-extra-build
builders:
- link-logs
- shell: |
#!/bin/bash -xe
export BRANCH=${ZUUL_BRANCH:-master}
# tell to script where it should place dist results
tools/build-all-artifacts.sh $BRANCH
- publisher:
name: sahara-extra-publish
publishers:
- scp:
site: 'tarballs.openstack.org'
files:
- source: 'dist/**'
target: 'tarballs/sahara/'
keep-hierarchy: true
copy-after-failure: false
- job-template:
name: 'gate-sahara-extra-artifacts'
node: '{node}'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- link-logs
- net-info
- zuul-git-prep
- install-distro-packages
- sahara-extra-build
publishers:
- console-log
- job-template:
name: 'post-sahara-extra-artifacts'
node: '{node}'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- link-logs
- net-info
- zuul-git-prep
- install-distro-packages
- sahara-extra-build
publishers:
- sahara-extra-publish
- console-log
- job-template:
name: '{pipeline}-{name}-cli-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_REGEX="sahara_tempest_plugin.tests.cli"
export DEVSTACK_LOCAL_CONFIG="enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export TEMPEST_PLUGINS='/opt/stack/new/sahara-tests'"
export KEEP_LOCALRC=1
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-tests $PROJECTS"
if [ "$ZUUL_PROJECT" = "openstack/python-saharaclient" ]; then
export DEVSTACK_PROJECT_FROM_GIT=python-saharaclient
fi
function pre_test_hook {{
cd /opt/stack/new/sahara-tests/tools/gate/cli_tests
./pre_test_hook.sh
}}
export -f pre_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}-tempest-dsvm-sahara-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export KEEP_LOCALRC=1
export DEVSTACK_GATE_TEMPEST_REGEX="(sahara_tempest_plugin.tests.api|sahara_tempest_plugin.tests.clients|data_processing)"
export DEVSTACK_LOCAL_CONFIG="export TEMPEST_PLUGINS='/opt/stack/new/sahara-tests'"
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-tests $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# required at least by client tests (python and CLI)
function pre_test_hook {{
cd /opt/stack/new/sahara-tests/tools/gate/cli_tests
./pre_test_hook.sh
}}
export -f pre_test_hook
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-grenade-dsvm-sahara-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack/sahara $PROJECTS"
export PYTHONUNBUFFERED=true
OVERRIDE_ENABLED_SERVICES=c-api,c-bak,c-sch,c-vol,cinder,dstat,g-api,g-reg,key,mysql,n-api,n-cond,n-cpu,n-crt,n-sch,q-agt,q-dhcp,q-l3,q-meta,q-metering,q-svc,rabbit,s-account,s-container,s-object,s-proxy,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api,sahara,h-api,h-api-cfn,h-api-cw,h-eng,heat
export GRENADE_PLUGINRC="enable_grenade_plugin sahara https://git.openstack.org/openstack/sahara"
export GRENADE_PLUGINRC+=$'\n'"enable_grenade_plugin heat https://git.openstack.org/openstack/heat"
export OVERRIDE_ENABLED_SERVICES
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_GRENADE=pullup
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:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-sahara-dsvm-scenario-{network}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-sahara:
network: "{network}"
multinode: 0
sahara-mod-wsgi: 0
plugin: "fake"
branch-override: "{branch-override}"
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-sahara-dsvm-scenario-mod-wsgi-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-sahara:
network: neutron
multinode: 0
sahara-mod-wsgi: 1
plugin: fake
branch-override: "{branch-override}"
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-sahara-dsvm-scenario-multinode-{plugin}-{node-release}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-sahara:
network: neutron
multinode: 1
sahara-mod-wsgi: 0
plugin: "{plugin}"
branch-override: "{branch-override}"
publishers:
- devstack-logs
- console-log
- job-template:
name: '{pipeline}-tempest-dsvm-neutron-src-python-saharaclient-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_LOCAL_CONFIG="enable_plugin sahara git://git.openstack.org/openstack/sahara"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_FULL=1
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export TEMPEST_PLUGINS='/opt/stack/new/sahara-tests'"
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-tests $PROJECTS"
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export DEVSTACK_PROJECT_FROM_GIT=python-saharaclient
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
publishers:
- devstack-logs
- console-log