
Adds --checkonly to tools/config/check_uptodate.sh. This allows verifying that a configuration file was generated. We have had a number of issues introduced which have caused config file generation to fail since we removed the sample config file check in the gate. This does not add back checks to ensure that the file has been updated, it only checks to ensure that it is still possible to update the sample file. Change-Id: I2e0e376fbdec5a1bb584c6739231649e1d0f5d8e
45 lines
1.2 KiB
Bash
Executable File
45 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CHECKONLY=0
|
|
if [ "$1" == "--checkonly" ]; then
|
|
CHECKONLY=1
|
|
fi
|
|
|
|
PROJECT_NAME=${PROJECT_NAME:-cinder}
|
|
CFGFILE_NAME=${PROJECT_NAME}.conf.sample
|
|
|
|
|
|
TEMPDIR=`mktemp -d /tmp/${PROJECT_NAME}.XXXXXX`
|
|
trap "rm -rf $TEMPDIR" EXIT
|
|
|
|
tools/config/generate_sample.sh -b ./ -p ${PROJECT_NAME} -o ${TEMPDIR}
|
|
|
|
# generate_sample.sh may return 0 even when it fails.
|
|
|
|
if [ $CHECKONLY -eq 1 ]; then
|
|
# Check whether something was generated.
|
|
if [ ! -s ${TEMPDIR}/${CFGFILE_NAME} ]; then
|
|
echo "Failed to generate ${CFGFILE_NAME}."
|
|
exit 1
|
|
fi
|
|
else
|
|
if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then
|
|
CFGFILE=etc/${PROJECT_NAME}/${CFGFILE_NAME}
|
|
elif [ -e etc/${CFGFILE_NAME} ]; then
|
|
CFGFILE=etc/${CFGFILE_NAME}
|
|
else
|
|
echo "${0##*/}: can not find config file"
|
|
exit 1
|
|
fi
|
|
|
|
if ! diff -u ${TEMPDIR}/${CFGFILE_NAME} ${CFGFILE}
|
|
then
|
|
echo "${0##*/}: ${PROJECT_NAME}.conf.sample is not up to date."
|
|
echo "${0##*/}: Please run ${0%%${0##*/}}generate_sample.sh from within a VENV."
|
|
echo " \'source .venv/bin/activate; generate_sample.sh\'"
|
|
echo "OR simply run tox genconfig"
|
|
echo " \'tox -egenconfig\'"
|
|
exit 1
|
|
fi
|
|
fi
|