327dab1135
A few new adopters to osc did not have their plugins checked for duplicate commands (aodh, gnocchi, watcher). Check jobs were also added to these projects, as well as other projects that were missed. Change-Id: I46b20dedf285d83fcd1b5ed6ee9bd1d99801a422
71 lines
2.6 KiB
Bash
Executable File
71 lines
2.6 KiB
Bash
Executable File
#!/bin/bash -xe
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
# Install all known OpenStackClient projects that have plugins. Then install
|
|
# the proposed change to see if there are any conflicting commands.
|
|
|
|
# install openstackclient plugins from source to catch conflicts earlier
|
|
function install_from_source {
|
|
repo=$1
|
|
root=$(mktemp -d)
|
|
$zc --cache-dir /opt/git --workspace ${root} \
|
|
git://git.openstack.org openstack/${repo}
|
|
(cd ${root}/openstack/${repo} && $venv/bin/pip install .)
|
|
rm -rf $root
|
|
}
|
|
|
|
zc='/usr/zuul-env/bin/zuul-cloner'
|
|
|
|
# setup a virtual environment to install all the plugins
|
|
venv_name='osc_plugins'
|
|
trap "rm -rf $venv_name" EXIT
|
|
virtualenv $venv_name
|
|
venv=$(pwd)/$venv_name
|
|
|
|
# install known OpenStackClient plugins
|
|
install_from_source python-openstackclient
|
|
install_from_source python-aodhclient
|
|
install_from_source python-barbicanclient
|
|
install_from_source python-congressclient
|
|
install_from_source python-cueclient
|
|
install_from_source python-designateclient
|
|
install_from_source python-gnocchiclient
|
|
install_from_source python-heatclient
|
|
install_from_source python-ironicclient
|
|
install_from_source python-ironic-inspector-client
|
|
install_from_source python-mistralclient
|
|
install_from_source python-muranoclient
|
|
install_from_source python-saharaclient
|
|
install_from_source python-searchlightclient
|
|
install_from_source python-senlinclient
|
|
install_from_source python-tripleoclient
|
|
install_from_source python-watcherclient
|
|
install_from_source python-zaqarclient
|
|
|
|
echo "Begin freeze output from $venv virtualenv:"
|
|
echo "======================================================================"
|
|
$venv/bin/pip freeze
|
|
echo "======================================================================"
|
|
|
|
# now check the current proposed change doesn't cause a conflict
|
|
# we should already be in the project's root directory where setup.py exists
|
|
echo "Installing the proposed change in directory: $(pwd)"
|
|
$venv/bin/pip install -e .
|
|
|
|
echo "Testing development version of openstack client, version:"
|
|
$venv/bin/openstack --version
|
|
|
|
# run the python script to actually check the commands now that we're setup
|
|
$venv/bin/python /usr/local/jenkins/slave_scripts/check_osc_commands.py
|