project-config/jenkins/jobs/requirements.yaml
James E. Blair 20576bded0 Clean up proposal slave in a builder
So we can avoid using the jenkins-specific postbuildscript plugin,
move the proposal slave cleanup to a builder.  Run it first so that
it always runs.  Since we're running it first, we can't use it to
clean up our current workspace, so instead, ask it to clean up all
workspaces.

Change-Id: I54a187d643fb76f10cc11411d546c41348b5592e
2016-06-09 09:44:13 -07:00

295 lines
14 KiB
YAML

- job-template:
name: '{pipeline}-requirements-integration-dsvm{variant}'
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
# Define the entire projects list here so that what we
# test requirements against is independent of what d-g
# thinks is relevant.
export PROJECTS="openstack-infra/devstack-gate $PROJECTS"
export PROJECTS="openstack-dev/devstack $PROJECTS"
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack-dev/pbr $PROJECTS"
export PROJECTS="openstack-infra/tripleo-ci $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
export PROJECTS="openstack/automaton $PROJECTS"
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/ceilometermiddleware $PROJECTS"
export PROJECTS="openstack/cinder $PROJECTS"
export PROJECTS="openstack/cliff $PROJECTS"
export PROJECTS="openstack/debtcollector $PROJECTS"
export PROJECTS="openstack/dib-utils $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/django_openstack_auth $PROJECTS"
export PROJECTS="openstack/futurist $PROJECTS"
export PROJECTS="openstack/glance $PROJECTS"
export PROJECTS="openstack/glance_store $PROJECTS"
export PROJECTS="openstack/heat $PROJECTS"
export PROJECTS="openstack/heat-cfntools $PROJECTS"
export PROJECTS="openstack/heat-templates $PROJECTS"
export PROJECTS="openstack/horizon $PROJECTS"
export PROJECTS="openstack/ironic $PROJECTS"
export PROJECTS="openstack/ironic-lib $PROJECTS"
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
export PROJECTS="openstack/keystone $PROJECTS"
export PROJECTS="openstack/keystoneauth $PROJECTS"
export PROJECTS="openstack/keystonemiddleware $PROJECTS"
export PROJECTS="openstack/manila $PROJECTS"
export PROJECTS="openstack/manila-ui $PROJECTS"
export PROJECTS="openstack/zaqar $PROJECTS"
export PROJECTS="openstack/neutron $PROJECTS"
export PROJECTS="openstack/neutron-fwaas $PROJECTS"
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
export PROJECTS="openstack/neutron-vpnaas $PROJECTS"
export PROJECTS="openstack/nova $PROJECTS"
export PROJECTS="openstack/os-apply-config $PROJECTS"
export PROJECTS="openstack/os-brick $PROJECTS"
export PROJECTS="openstack/os-cloud-config $PROJECTS"
export PROJECTS="openstack/os-collect-config $PROJECTS"
export PROJECTS="openstack/os-net-config $PROJECTS"
export PROJECTS="openstack/os-refresh-config $PROJECTS"
export PROJECTS="openstack/oslo.cache $PROJECTS"
export PROJECTS="openstack/oslo.concurrency $PROJECTS"
export PROJECTS="openstack/oslo.config $PROJECTS"
export PROJECTS="openstack/oslo.context $PROJECTS"
export PROJECTS="openstack/oslo.db $PROJECTS"
export PROJECTS="openstack/oslo.i18n $PROJECTS"
export PROJECTS="openstack/oslo.log $PROJECTS"
export PROJECTS="openstack/oslo.messaging $PROJECTS"
export PROJECTS="openstack/oslo.middleware $PROJECTS"
export PROJECTS="openstack/oslo.policy $PROJECTS"
export PROJECTS="openstack/oslo.reports $PROJECTS"
export PROJECTS="openstack/oslo.rootwrap $PROJECTS"
export PROJECTS="openstack/oslo.utils $PROJECTS"
export PROJECTS="openstack/oslo.serialization $PROJECTS"
export PROJECTS="openstack/oslo.service $PROJECTS"
export PROJECTS="openstack/oslo.versionedobjects $PROJECTS"
export PROJECTS="openstack/oslo.vmware $PROJECTS"
export PROJECTS="openstack/pycadf $PROJECTS"
export PROJECTS="openstack/python-ceilometerclient $PROJECTS"
export PROJECTS="openstack/python-cinderclient $PROJECTS"
export PROJECTS="openstack/python-glanceclient $PROJECTS"
export PROJECTS="openstack/python-heatclient $PROJECTS"
export PROJECTS="openstack/python-ironicclient $PROJECTS"
export PROJECTS="openstack/python-keystoneclient $PROJECTS"
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PROJECTS="openstack/python-neutronclient $PROJECTS"
export PROJECTS="openstack/python-novaclient $PROJECTS"
export PROJECTS="openstack/python-openstackclient $PROJECTS"
export PROJECTS="openstack/python-saharaclient $PROJECTS"
export PROJECTS="openstack/python-swiftclient $PROJECTS"
export PROJECTS="openstack/python-troveclient $PROJECTS"
export PROJECTS="openstack/requirements $PROJECTS"
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-dashboard $PROJECTS"
export PROJECTS="openstack/stevedore $PROJECTS"
export PROJECTS="openstack/swift $PROJECTS"
export PROJECTS="openstack/taskflow $PROJECTS"
export PROJECTS="openstack/tempest $PROJECTS"
export PROJECTS="openstack/tempest-lib $PROJECTS"
export PROJECTS="openstack/tooz $PROJECTS"
export PROJECTS="openstack/tripleo-heat-templates $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export PROJECTS="openstack/tripleo-incubator $PROJECTS"
export PROJECTS="openstack/trove $PROJECTS"
export PROJECTS="openstack/trove-dashboard $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_REQS_INTEGRATION=1
export PIP_PROCESS_DEPENDENCY_LINKS=1
if [ "{variant}" = "-resolver" ]; then
export PBR_PIP_VERSION=git+https://github.com/rbtcollins/pip.git@issue-988#egg=pip
fi
function gate_hook {{
set -x
bash $BASE/new/devstack-gate/devstack-vm-gate.sh && \
bash -xe $BASE/new/requirements/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)
}}
export -f gate_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}-pbr-installation-dsvm{variant}'
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
# Define the entire projects list here so that what we
# test requirements against is independent of what d-g
# thinks is relevant.
export PROJECTS="openstack-infra/devstack-gate $PROJECTS"
export PROJECTS="openstack-dev/devstack $PROJECTS"
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PROJECTS="openstack-dev/pbr $PROJECTS"
export PROJECTS="openstack-infra/tripleo-ci $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
export PROJECTS="openstack/automaton $PROJECTS"
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/ceilometermiddleware $PROJECTS"
export PROJECTS="openstack/cinder $PROJECTS"
export PROJECTS="openstack/cliff $PROJECTS"
export PROJECTS="openstack/debtcollector $PROJECTS"
export PROJECTS="openstack/dib-utils $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/django_openstack_auth $PROJECTS"
export PROJECTS="openstack/futurist $PROJECTS"
export PROJECTS="openstack/glance $PROJECTS"
export PROJECTS="openstack/glance_store $PROJECTS"
export PROJECTS="openstack/heat $PROJECTS"
export PROJECTS="openstack/heat-cfntools $PROJECTS"
export PROJECTS="openstack/heat-templates $PROJECTS"
export PROJECTS="openstack/horizon $PROJECTS"
export PROJECTS="openstack/ironic $PROJECTS"
export PROJECTS="openstack/ironic-lib $PROJECTS"
export PROJECTS="openstack/ironic-python-agent $PROJECTS"
export PROJECTS="openstack/keystone $PROJECTS"
export PROJECTS="openstack/keystoneauth $PROJECTS"
export PROJECTS="openstack/keystonemiddleware $PROJECTS"
export PROJECTS="openstack/manila $PROJECTS"
export PROJECTS="openstack/manila-ui $PROJECTS"
export PROJECTS="openstack/zaqar $PROJECTS"
export PROJECTS="openstack/neutron $PROJECTS"
export PROJECTS="openstack/neutron-fwaas $PROJECTS"
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
export PROJECTS="openstack/neutron-vpnaas $PROJECTS"
export PROJECTS="openstack/nova $PROJECTS"
export PROJECTS="openstack/os-apply-config $PROJECTS"
export PROJECTS="openstack/os-brick $PROJECTS"
export PROJECTS="openstack/os-cloud-config $PROJECTS"
export PROJECTS="openstack/os-collect-config $PROJECTS"
export PROJECTS="openstack/os-net-config $PROJECTS"
export PROJECTS="openstack/os-refresh-config $PROJECTS"
export PROJECTS="openstack/oslo.cache $PROJECTS"
export PROJECTS="openstack/oslo.concurrency $PROJECTS"
export PROJECTS="openstack/oslo.config $PROJECTS"
export PROJECTS="openstack/oslo.context $PROJECTS"
export PROJECTS="openstack/oslo.db $PROJECTS"
export PROJECTS="openstack/oslo.i18n $PROJECTS"
export PROJECTS="openstack/oslo.log $PROJECTS"
export PROJECTS="openstack/oslo.messaging $PROJECTS"
export PROJECTS="openstack/oslo.middleware $PROJECTS"
export PROJECTS="openstack/oslo.policy $PROJECTS"
export PROJECTS="openstack/oslo.reports $PROJECTS"
export PROJECTS="openstack/oslo.rootwrap $PROJECTS"
export PROJECTS="openstack/oslo.utils $PROJECTS"
export PROJECTS="openstack/oslo.serialization $PROJECTS"
export PROJECTS="openstack/oslo.service $PROJECTS"
export PROJECTS="openstack/oslo.versionedobjects $PROJECTS"
export PROJECTS="openstack/oslo.vmware $PROJECTS"
export PROJECTS="openstack/pycadf $PROJECTS"
export PROJECTS="openstack/python-ceilometerclient $PROJECTS"
export PROJECTS="openstack/python-cinderclient $PROJECTS"
export PROJECTS="openstack/python-glanceclient $PROJECTS"
export PROJECTS="openstack/python-heatclient $PROJECTS"
export PROJECTS="openstack/python-ironicclient $PROJECTS"
export PROJECTS="openstack/python-keystoneclient $PROJECTS"
export PROJECTS="openstack/python-manilaclient $PROJECTS"
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PROJECTS="openstack/python-neutronclient $PROJECTS"
export PROJECTS="openstack/python-novaclient $PROJECTS"
export PROJECTS="openstack/python-openstackclient $PROJECTS"
export PROJECTS="openstack/python-saharaclient $PROJECTS"
export PROJECTS="openstack/python-swiftclient $PROJECTS"
export PROJECTS="openstack/python-troveclient $PROJECTS"
export PROJECTS="openstack/requirements $PROJECTS"
export PROJECTS="openstack/sahara $PROJECTS"
export PROJECTS="openstack/sahara-dashboard $PROJECTS"
export PROJECTS="openstack/stevedore $PROJECTS"
export PROJECTS="openstack/swift $PROJECTS"
export PROJECTS="openstack/taskflow $PROJECTS"
export PROJECTS="openstack/tempest $PROJECTS"
export PROJECTS="openstack/tempest-lib $PROJECTS"
export PROJECTS="openstack/tooz $PROJECTS"
export PROJECTS="openstack/tripleo-heat-templates $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export PROJECTS="openstack/tripleo-incubator $PROJECTS"
export PROJECTS="openstack/trove $PROJECTS"
export PROJECTS="openstack/trove-dashboard $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_REQS_INTEGRATION=1
export PIP_PROCESS_DEPENDENCY_LINKS=1
if [ "{variant}" = "-upstream" ]; then
export PBR_PIP_VERSION=git+https://github.com/pypa/pip.git#egg=pip
fi
function gate_hook {{
set -x
bash -xe $BASE/new/pbr/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)
}}
export -f gate_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:
name: propose-requirements-updates
node: proposal
builders:
- proposal-slave-cleanup
- revoke-sudo
- link-logs
- net-info
- gerrit-git-prep
- shell: /usr/local/jenkins/slave_scripts/propose_update.sh requirements
publishers:
- console-log
- job-template:
name: propose-requirements-constraints{job-suffix}
node: proposal
builders:
- print-template-name:
template-name: "{template-name}"
- proposal-slave-cleanup
- revoke-sudo
- link-logs
- net-info
- branch-git-prep:
branch: '{branch-override}'
- shell: |
export ZUUL_REFNAME={branch-override}
/usr/local/jenkins/slave_scripts/propose_update.sh \
requirements-constraints
publishers:
- console-log