From 252ddedd6d63bb16d06734b0998d0233dcc8a04a Mon Sep 17 00:00:00 2001 From: Devananda van der Veen Date: Mon, 23 Dec 2013 16:36:00 -0800 Subject: [PATCH] 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 --- openstack-common.conf | 1 + tools/conf/check_uptodate.sh | 9 -------- tools/config/check_uptodate.sh | 25 +++++++++++++++++++++++ tools/{conf => config}/generate_sample.sh | 16 +++++++++++++-- tox.ini | 2 +- 5 files changed, 41 insertions(+), 12 deletions(-) delete mode 100755 tools/conf/check_uptodate.sh create mode 100755 tools/config/check_uptodate.sh rename tools/{conf => config}/generate_sample.sh (84%) diff --git a/openstack-common.conf b/openstack-common.conf index 1513199573..a462c5c7d2 100644 --- a/openstack-common.conf +++ b/openstack-common.conf @@ -1,5 +1,6 @@ [DEFAULT] module=cliutils +module=config module=config.generator module=context module=db diff --git a/tools/conf/check_uptodate.sh b/tools/conf/check_uptodate.sh deleted file mode 100755 index 4e9c9a727c..0000000000 --- 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 0000000000..aa370438d9 --- /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 similarity index 84% rename from tools/conf/generate_sample.sh rename to tools/config/generate_sample.sh index eab734ad35..c24fc157ae 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 diff --git a/tox.ini b/tox.ini index 14937b13c9..02dab34bf3 100644 --- a/tox.ini +++ b/tox.ini @@ -21,7 +21,7 @@ downloadcache = ~/cache/pip [testenv:pep8] commands = flake8 {posargs} - {toxinidir}/tools/conf/check_uptodate.sh + {toxinidir}/tools/config/check_uptodate.sh [testenv:cover] setenv = VIRTUAL_ENV={envdir}