Remove requirements-integration job
This job was a legacy job that attempted to verify each project could be independently installed after all global-requirements had been installed. This job is no longer necessary since we have much better coverage with requirements-check and other jobs that make sure the requirements are compatible. It is also a legacy zuulv2 job, uses the long deprecated devstack-gate, and runs with Python 2.7. For historical reference, this was added originally to PBR back in 2013 [0] and moved to requirements in 2014 [1]. [0]378261a8cb
[1]8e073738db
Change-Id: I29abcba929995f9307c392110160d889a29b47c3 Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
This commit is contained in:
parent
68422a7741
commit
58d622019d
@ -56,96 +56,3 @@
|
||||
vars:
|
||||
tox_envlist: bindep
|
||||
|
||||
- job:
|
||||
name: requirements-integration
|
||||
parent: legacy-dsvm-base
|
||||
run: playbooks/requirements-integration-dsvm/run.yaml
|
||||
post-run: playbooks/requirements-integration-dsvm/post.yaml
|
||||
timeout: 7800
|
||||
required-projects:
|
||||
- openstack/devstack
|
||||
- openstack/grenade
|
||||
- openstack/pbr
|
||||
- openstack/devstack-gate
|
||||
- openstack/tripleo-ci
|
||||
- openstack/aodh
|
||||
- openstack/automaton
|
||||
- openstack/ceilometer
|
||||
- openstack/ceilometermiddleware
|
||||
- openstack/cinder
|
||||
- openstack/cliff
|
||||
- openstack/debtcollector
|
||||
- openstack/dib-utils
|
||||
- openstack/diskimage-builder
|
||||
- openstack/django_openstack_auth
|
||||
- openstack/futurist
|
||||
- openstack/glance
|
||||
- openstack/glance_store
|
||||
- openstack/heat
|
||||
- openstack/heat-cfntools
|
||||
- openstack/heat-templates
|
||||
- openstack/horizon
|
||||
- openstack/ironic
|
||||
- openstack/ironic-lib
|
||||
- openstack/ironic-python-agent
|
||||
- openstack/keystone
|
||||
- openstack/keystoneauth
|
||||
- openstack/keystonemiddleware
|
||||
- openstack/manila
|
||||
- openstack/manila-ui
|
||||
- openstack/neutron
|
||||
- openstack/neutron-fwaas
|
||||
- openstack/neutron-vpnaas
|
||||
- openstack/nova
|
||||
- openstack/octavia
|
||||
- openstack/os-apply-config
|
||||
- openstack/os-brick
|
||||
- openstack/os-client-config
|
||||
- openstack/os-collect-config
|
||||
- openstack/os-net-config
|
||||
- openstack/os-refresh-config
|
||||
- openstack/osc-lib
|
||||
- openstack/oslo.cache
|
||||
- openstack/oslo.concurrency
|
||||
- openstack/oslo.config
|
||||
- openstack/oslo.context
|
||||
- openstack/oslo.db
|
||||
- openstack/oslo.i18n
|
||||
- openstack/oslo.log
|
||||
- openstack/oslo.messaging
|
||||
- openstack/oslo.middleware
|
||||
- openstack/oslo.policy
|
||||
- openstack/oslo.reports
|
||||
- openstack/oslo.rootwrap
|
||||
- openstack/oslo.serialization
|
||||
- openstack/oslo.service
|
||||
- openstack/oslo.utils
|
||||
- openstack/oslo.versionedobjects
|
||||
- openstack/oslo.vmware
|
||||
- openstack/pycadf
|
||||
- openstack/python-cinderclient
|
||||
- openstack/python-glanceclient
|
||||
- openstack/python-heatclient
|
||||
- openstack/python-ironicclient
|
||||
- openstack/python-keystoneclient
|
||||
- openstack/python-manilaclient
|
||||
- openstack/python-neutronclient
|
||||
- openstack/python-novaclient
|
||||
- openstack/python-openstackclient
|
||||
- openstack/python-saharaclient
|
||||
- openstack/python-swiftclient
|
||||
- openstack/python-troveclient
|
||||
- openstack/python-zaqarclient
|
||||
- openstack/requirements
|
||||
- openstack/sahara
|
||||
- openstack/sahara-dashboard
|
||||
- openstack/stevedore
|
||||
- openstack/swift
|
||||
- openstack/taskflow
|
||||
- openstack/tempest
|
||||
- openstack/tooz
|
||||
- openstack/tripleo-heat-templates
|
||||
- openstack/tripleo-image-elements
|
||||
- openstack/trove
|
||||
- openstack/trove-dashboard
|
||||
- openstack/zaqar
|
||||
|
@ -46,7 +46,6 @@
|
||||
- cross-swift-py27
|
||||
- cross-swift-py36
|
||||
- openstack-tox-py36
|
||||
- requirements-integration
|
||||
- neutron-grenade-multinode:
|
||||
irrelevant-files:
|
||||
- ^(test-|)requirements.txt$
|
||||
@ -100,7 +99,6 @@
|
||||
- cross-swift-py27
|
||||
- cross-swift-py36
|
||||
- openstack-tox-py36
|
||||
- requirements-integration
|
||||
- neutron-grenade-multinode:
|
||||
irrelevant-files:
|
||||
- ^(test-|)requirements.txt$
|
||||
|
@ -1,5 +1,5 @@
|
||||
# These are needed to build all the things in global-requirements, which we do
|
||||
# for integration testing. (see tools/integration.sh)
|
||||
# for integration testing.
|
||||
|
||||
app-crypt/mit-krb5 [platform:gentoo]
|
||||
krb5-devel [platform:redhat]
|
||||
|
@ -245,8 +245,6 @@ zVMCloudConnector;sys_platform!='win32' # Apache 2.0 License
|
||||
opentracing # Apache-2.0
|
||||
jaeger-client # Apache-2.0
|
||||
|
||||
# NOTE(flaper87): This added 2 packages to `integration.sh`
|
||||
# uuid-dev and swig
|
||||
pyngus # Apache-2.0
|
||||
|
||||
pyOpenSSL # Apache-2.0
|
||||
|
@ -1,15 +0,0 @@
|
||||
- hosts: primary
|
||||
tasks:
|
||||
|
||||
- name: Copy files from {{ ansible_user_dir }}/workspace/ on node
|
||||
synchronize:
|
||||
src: '{{ ansible_user_dir }}/workspace/'
|
||||
dest: '{{ zuul.executor.log_root }}'
|
||||
mode: pull
|
||||
copy_links: true
|
||||
verify_host: true
|
||||
rsync_opts:
|
||||
- --include=/logs/**
|
||||
- --include=*/
|
||||
- --exclude=*
|
||||
- --prune-empty-dirs
|
@ -1,135 +0,0 @@
|
||||
- hosts: all
|
||||
name: Autoconverted job legacy-requirements-integration-dsvm from old job gate-requirements-integration-dsvm-ubuntu-xenial
|
||||
tasks:
|
||||
|
||||
- name: Ensure legacy workspace directory
|
||||
file:
|
||||
path: '{{ ansible_user_dir }}/workspace'
|
||||
state: directory
|
||||
|
||||
- shell:
|
||||
cmd: |
|
||||
set -e
|
||||
set -x
|
||||
cat > clonemap.yaml << EOF
|
||||
clonemap:
|
||||
- name: openstack/devstack-gate
|
||||
dest: devstack-gate
|
||||
EOF
|
||||
/usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \
|
||||
https://opendev.org \
|
||||
openstack/devstack-gate
|
||||
executable: /bin/bash
|
||||
chdir: '{{ ansible_user_dir }}/workspace'
|
||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
||||
|
||||
- shell:
|
||||
cmd: |
|
||||
set -e
|
||||
set -x
|
||||
# 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/devstack-gate $PROJECTS"
|
||||
export PROJECTS="openstack/devstack $PROJECTS"
|
||||
export PROJECTS="openstack/grenade $PROJECTS"
|
||||
export PROJECTS="openstack/pbr $PROJECTS"
|
||||
export PROJECTS="openstack/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/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-client-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/osc-lib $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-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/tooz $PROJECTS"
|
||||
export PROJECTS="openstack/tripleo-heat-templates $PROJECTS"
|
||||
export PROJECTS="openstack/tripleo-image-elements $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
|
||||
export USE_PYTHON3=true
|
||||
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
|
||||
executable: /bin/bash
|
||||
chdir: '{{ ansible_user_dir }}/workspace'
|
||||
environment: '{{ zuul | zuul_legacy_vars }}'
|
@ -50,11 +50,6 @@ grep-all.sh
|
||||
|
||||
List a requirements specification and constratint for a given libarary
|
||||
|
||||
integration.sh
|
||||
--------------
|
||||
|
||||
Used in the gate! Install all the "$PROJECTS" to verify that g-r and the each project are compatible
|
||||
|
||||
noop-change.sh
|
||||
--------------
|
||||
|
||||
|
@ -1,118 +0,0 @@
|
||||
#!/bin/bash -xe
|
||||
# Parameters
|
||||
# PBR_PIP_VERSION :- if not set, run pip's latest release, if set must be a
|
||||
# valid reference file entry describing what pip to use.
|
||||
# Bootstrappping the mkenv needs to install *a* pip
|
||||
export PIPVERSION=pip
|
||||
PIPFLAGS=${PIPFLAGS:-}
|
||||
|
||||
function mkvenv {
|
||||
venv=$1
|
||||
|
||||
rm -rf $venv
|
||||
virtualenv $venv
|
||||
$venv/bin/pip install -U $PIPVERSION wheel pbr
|
||||
}
|
||||
|
||||
function install_all_of_gr {
|
||||
mkvenv $tmpdir/all_requirements
|
||||
$tmpdir/all_requirements/bin/pip install -r $REPODIR/requirements/global-requirements.txt
|
||||
}
|
||||
|
||||
# BASE should be a directory with a subdir called "new" and in that
|
||||
# dir, there should be a git repository for every entry in PROJECTS
|
||||
BASE=${BASE:-/opt/stack}
|
||||
|
||||
REPODIR=${REPODIR:-$BASE/new}
|
||||
|
||||
root=$(dirname $0)/..
|
||||
sudo -H pip install bindep
|
||||
sudo apt-get install -y --force-yes $(bindep -b python -f $root/bindep.txt)
|
||||
|
||||
# And use ccache explitly
|
||||
export PATH=/usr/lib/ccache:$PATH
|
||||
|
||||
tmpdir=$(mktemp -d)
|
||||
|
||||
# Set up a wheelhouse
|
||||
mkvenv $tmpdir/wheelhouse
|
||||
# Specific PIP version - must succeed to be useful.
|
||||
# - build/download a local wheel so we don't hit the network on each venv.
|
||||
if [ -n "${PBR_PIP_VERSION:-}" ]; then
|
||||
td=$(mktemp -d)
|
||||
$tmpdir/wheelhouse/bin/pip wheel -w $td $PBR_PIP_VERSION
|
||||
# This version will now be installed in every new venv.
|
||||
export PIPVERSION="$td/$(ls $td)"
|
||||
$tmpdir/wheelhouse/bin/pip install -U $PIPVERSION
|
||||
# We have pip in global-requirements as open-ended requirements,
|
||||
# but since we don't use -U in any other invocations, our version
|
||||
# of pip should be sticky.
|
||||
fi
|
||||
|
||||
#BRANCH
|
||||
BRANCH=${OVERRIDE_ZUUL_BRANCH=:-master}
|
||||
# PROJECTS is a list of projects that we're testing
|
||||
PROJECTS=$*
|
||||
|
||||
projectdir=$tmpdir/projects
|
||||
mkdir -p $projectdir
|
||||
|
||||
# Attempt to install all of global requirements
|
||||
install_all_of_gr
|
||||
|
||||
# Install requirementsrrepo itself.
|
||||
$tmpdir/all_requirements/bin/pip install $REPODIR/requirements
|
||||
UPDATE="$tmpdir/all_requirements/bin/update-requirements"
|
||||
|
||||
# Check that we can generate an upper-requirements.txt file with the change
|
||||
# that is being proposed.
|
||||
$tmpdir/all_requirements/bin/generate-constraints -p /usr/bin/python2.7 \
|
||||
-p /usr/bin/python3 -b $REPODIR/requirements/blacklist.txt \
|
||||
-r $REPODIR/requirements/global-requirements.txt
|
||||
|
||||
for PROJECT in $PROJECTS ; do
|
||||
SHORT_PROJECT=$(basename $PROJECT)
|
||||
if ! grep 'pbr' $REPODIR/$SHORT_PROJECT/setup.py >/dev/null 2>&1
|
||||
then
|
||||
# project doesn't use pbr
|
||||
continue
|
||||
fi
|
||||
if [ $SHORT_PROJECT = 'tempest' ]; then
|
||||
# Tempest doesn't really install
|
||||
continue
|
||||
fi
|
||||
if [ $SHORT_PROJECT = 'requirements' ]; then
|
||||
# requirements doesn't really install
|
||||
continue
|
||||
fi
|
||||
if [[ "$BRANCH" =~ "stable" ]]; then
|
||||
# When testing stable, only attempt to sync to projects that also
|
||||
# have a corresponding stable branch. This prevents us from trying and
|
||||
# failing to sync stable requirements to a library's master branch,
|
||||
# when that same library may be listed and capped in global-requirements.txt.
|
||||
proj_branch="$(cd $REPODIR/$SHORT_PROJECT && git rev-parse --symbolic-full-name --abbrev-ref HEAD)"
|
||||
if [ "$proj_branch" != "$BRANCH" ]; then
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
|
||||
# Clone from synced repo
|
||||
shortprojectdir=$projectdir/$SHORT_PROJECT
|
||||
git clone $REPODIR/$SHORT_PROJECT $shortprojectdir
|
||||
$UPDATE --source $REPODIR/requirements $shortprojectdir
|
||||
|
||||
# Test python setup.py install
|
||||
installvenv=$tmpdir/install
|
||||
mkvenv $installvenv
|
||||
|
||||
installprojectdir=$projectdir/install$SHORT_PROJECT
|
||||
git clone $shortprojectdir $installprojectdir
|
||||
$UPDATE --source $REPODIR/requirements $installprojectdir
|
||||
cd $installprojectdir
|
||||
$installvenv/bin/python setup.py install
|
||||
|
||||
# Ensure the install_package_data is doing the thing it should do
|
||||
if [ $SHORT_PROJECT = 'nova' ]; then
|
||||
find $installvenv | grep migrate.cfg
|
||||
fi
|
||||
done
|
Loading…
Reference in New Issue
Block a user