Change check_uptodate.sh to not call tox
Base nodepool images now no longer include tox. This causes a failure in
our pep8 jobs because the tools/config/check_uptodate.sh script had been
calling "tox -e genopts" to look for config file changes.
This is a partial backport of a change that switched our default
basepython to python3. That part of the change was removed from tox.ini,
so the only other part was an update to the check_uptodate.sh script
that refactored things to be more reliable, including the removal of
calling tox.
The part from the original commit included is:
There was also a difference in behavior with the genopts job
where it ends up trying to recreate the venv under which it
is currently running under, resulting in a corrupted venv
and a failure. This cleans up that script and changes it so
rather than a tox job calling a tox job it just runs the
script.
Change-Id: Ie79528b33070e6c60f9f5e1f2219084a2f0cb039
(cherry picked from commit 37510ac034
)
This commit is contained in:
parent
89bdebd2a9
commit
81d75bc032
|
@ -1,35 +1,55 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# 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.
|
||||
|
||||
# This script is used to check if there have been configuration changes that
|
||||
# have not been checked in.
|
||||
|
||||
# The opts file needs to be present in order to compare it
|
||||
if [ ! -e cinder/opts.py ]; then
|
||||
echo -en "\n\n#################################################"
|
||||
echo -en "\nERROR: cinder/opts.py file is missing."
|
||||
echo -en "\n#################################################\n"
|
||||
echo ""
|
||||
echo "#################################################"
|
||||
echo "ERROR: cinder/opts.py file is missing."
|
||||
echo "#################################################"
|
||||
exit 1
|
||||
else
|
||||
mv cinder/opts.py cinder/opts.py.orig
|
||||
tox -e genopts &> tox-genops.log
|
||||
if [ $? -ne 0 ]; then
|
||||
cat tox-genops.log >&2
|
||||
echo -en "\n\n#################################################"
|
||||
echo -en "\nERROR: Non-zero exit from generate_cinder_opts.py."
|
||||
echo -en "\n See output above for details.\n"
|
||||
echo -en "#################################################\n"
|
||||
mv cinder/opts.py.orig cinder/opts.py
|
||||
exit 1
|
||||
else
|
||||
diff cinder/opts.py.orig cinder/opts.py
|
||||
if [ $? -ne 0 ]; then
|
||||
echo -en "\n\n########################################################"
|
||||
echo -en "\nERROR: Configuration options change detected."
|
||||
echo -en "\n A new cinder/opts.py file must be generated."
|
||||
echo -en "\n Run 'tox -e genopts' from the base directory"
|
||||
echo -en "\n and add the result to your commit."
|
||||
echo -en "\n########################################################\n\n"
|
||||
rm cinder/opts.py
|
||||
mv cinder/opts.py.orig cinder/opts.py
|
||||
exit 1
|
||||
else
|
||||
rm cinder/opts.py.orig
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
# Rename the existing file so we can generate a new one to compare
|
||||
mv cinder/opts.py cinder/opts.py.orig
|
||||
python tools/config/generate_cinder_opts.py &> tox-genops.log
|
||||
if [ $? -ne 0 ]; then
|
||||
cat tox-genops.log >&2
|
||||
echo ""
|
||||
echo "#################################################"
|
||||
echo "ERROR: Non-zero exit from generate_cinder_opts.py."
|
||||
echo " See output above for details."
|
||||
echo "#################################################"
|
||||
mv cinder/opts.py.orig cinder/opts.py
|
||||
exit 1
|
||||
fi
|
||||
|
||||
diff cinder/opts.py.orig cinder/opts.py
|
||||
if [ $? -ne 0 ]; then
|
||||
echo ""
|
||||
echo "########################################################"
|
||||
echo "ERROR: Configuration options change detected."
|
||||
echo " A new cinder/opts.py file must be generated."
|
||||
echo " Run 'tox -e genopts' from the base directory"
|
||||
echo " and add the result to your commit."
|
||||
echo "########################################################"
|
||||
rm cinder/opts.py
|
||||
mv cinder/opts.py.orig cinder/opts.py
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm cinder/opts.py.orig
|
||||
|
|
Loading…
Reference in New Issue