summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDevananda van der Veen <devananda.vdv@gmail.com>2013-12-23 16:36:00 -0800
committerDevananda van der Veen <devananda.vdv@gmail.com>2013-12-27 15:34:14 -0800
commit252ddedd6d63bb16d06734b0998d0233dcc8a04a (patch)
tree6c5713ec1a5dd6814a408116a08e026c936d3f2c /tools
parent76272077ac9cbdf58ada3877e124fbb58d4cbeff (diff)
downloadironic-252ddedd6d63bb16d06734b0998d0233dcc8a04a.tar.gz
Sync config module from oslo
Add 'config' to openstack-common so that it syncs from Oslo, move tools/conf -> tools/config to be able to sync from Oslo, and then sync the changes which are proposed in oslo-incubator commit Iee6cc05cad70963f2a151f595ac376c9338f5774. Change-Id: I32a80b0e2aa0e26b9fc78b7546c07e102639374e
Diffstat (limited to 'tools')
-rwxr-xr-xtools/conf/check_uptodate.sh9
-rwxr-xr-xtools/config/check_uptodate.sh25
-rwxr-xr-xtools/config/generate_sample.sh (renamed from tools/conf/generate_sample.sh)16
3 files changed, 39 insertions, 11 deletions
diff --git a/tools/conf/check_uptodate.sh b/tools/conf/check_uptodate.sh
deleted file mode 100755
index 4e9c9a727..000000000
--- a/tools/conf/check_uptodate.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-TEMPDIR=`mktemp -d`
-CFGFILE=ironic.conf.sample
-tools/conf/generate_sample.sh -b ./ -p ironic -o $TEMPDIR
-if ! diff $TEMPDIR/$CFGFILE etc/ironic/$CFGFILE
-then
- echo "E: ironic.conf.sample is not up to date, please run tools/conf/generate_sample.sh"
- exit 42
-fi
diff --git a/tools/config/check_uptodate.sh b/tools/config/check_uptodate.sh
new file mode 100755
index 000000000..aa370438d
--- /dev/null
+++ b/tools/config/check_uptodate.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+PROJECT_NAME=${PROJECT_NAME:-ironic}
+CFGFILE_NAME=${PROJECT_NAME}.conf.sample
+
+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
+
+TEMPDIR=`mktemp -d /tmp/${PROJECT_NAME}.XXXXXX`
+trap "rm -rf $TEMPDIR" EXIT
+
+tools/config/generate_sample.sh -b ./ -p ${PROJECT_NAME} -o ${TEMPDIR}
+
+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."
+ exit 1
+fi
diff --git a/tools/conf/generate_sample.sh b/tools/config/generate_sample.sh
index eab734ad3..c24fc157a 100755
--- a/tools/conf/generate_sample.sh
+++ b/tools/config/generate_sample.sh
@@ -77,11 +77,23 @@ find $TARGETDIR -type f -name "*.pyc" -delete
FILES=$(find $TARGETDIR -type f -name "*.py" ! -path "*/tests/*" \
-exec grep -l "Opt(" {} + | sed -e "s/^$BASEDIRESC\///g" | sort -u)
+EXTRA_MODULES_FILE="`dirname $0`/oslo.config.generator.rc"
+if test -r "$EXTRA_MODULES_FILE"
+then
+ source "$EXTRA_MODULES_FILE"
+fi
+
export EVENTLET_NO_GREENDNS=yes
OS_VARS=$(set | sed -n '/^OS_/s/=[^=]*$//gp' | xargs)
[ "$OS_VARS" ] && eval "unset \$OS_VARS"
-
-MODULEPATH=ironic.openstack.common.config.generator
+DEFAULT_MODULEPATH=ironic.openstack.common.config.generator
+MODULEPATH=${MODULEPATH:-$DEFAULT_MODULEPATH}
OUTPUTFILE=$OUTPUTDIR/$PACKAGENAME.conf.sample
python -m $MODULEPATH $FILES > $OUTPUTFILE
+
+# Hook to allow projects to append custom config file snippets
+CONCAT_FILES=$(ls $BASEDIR/tools/config/*.conf.sample 2>/dev/null)
+for CONCAT_FILE in $CONCAT_FILES; do
+ cat $CONCAT_FILE >> $OUTPUTFILE
+done