fed59c3e51
Neutron is transitioning its CLI to OSC. Some CLIs will reside within python-openstackclient while others will be OSC plugins within python-neutronclient (see [1]). In order to support this, add osc-plugin-jobs support for python-neutronclient per [2]. [1] https://review.openstack.org/#/c/309587/ [2] http://docs.openstack.org/developer/python-openstackclient/plugins.html Change-Id: I86595e02ec23f2ab68964ba2bdab51ccb3ffef8a Related-Bug: #1521291
72 lines
2.7 KiB
Bash
Executable File
72 lines
2.7 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-neutronclient
|
|
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
|