Browse Source
Fix all of the bashate failures. Also, bashate will install its negative tests in its virtualenv, so we need to generate a list of files to pass to bashate that excludes .tox/ Change-Id: I55559bf6137f705aec9a7f277928ad8d4cadc2cachanges/44/118944/13
10 changed files with 280 additions and 281 deletions
@ -1,176 +1,176 @@
|
||||
function print_help() { |
||||
echo "Usage: `basename $0` command [options]" |
||||
echo "" |
||||
echo "Commands:" |
||||
echo " status [site] return status information about site configurations" |
||||
echo " init <site> initialize site structure" |
||||
echo " update <site> update to new version" |
||||
echo "" |
||||
function print_help { |
||||
echo "Usage: `basename $0` command [options]" |
||||
echo "" |
||||
echo "Commands:" |
||||
echo " status [site] return status information about site configurations" |
||||
echo " init <site> initialize site structure" |
||||
echo " update <site> update to new version" |
||||
echo "" |
||||
} |
||||
|
||||
function site_init() { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: site parameter mandatory" |
||||
exit 1 |
||||
fi |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: " $1 |
||||
exit 1 |
||||
fi |
||||
source $CONF_PATH |
||||
if [ -f "$SITE_ROOT/w/public/index.php" ]; then |
||||
echo "Cannot override an existing deployment: $SITE_ROOT/w" |
||||
exit 1 |
||||
fi |
||||
# cleanup previous broken deployment |
||||
rm -rf $SITE_ROOT/slot0 |
||||
# create directory structure |
||||
for dir in slot0 slot1; do |
||||
mkdir -p $SITE_ROOT/$dir |
||||
chown $FILE_OWNER:$FILE_GROUP $SITE_ROOT/$dir |
||||
done |
||||
target_dir="$SITE_ROOT/slot0" |
||||
# fetch catalog and write actual version |
||||
fetch_catalog |
||||
RELEASE_VERSION=`catalog_get_version` |
||||
echo $RELEASE_VERSION > $SITE_ROOT/slot0/release |
||||
# fetch and extract release tarball |
||||
umask 0027 |
||||
if [[ $SOURCE_TARBALL == http* ]]; then |
||||
echo "Download from http!" |
||||
curl $SOURCE_TARBALL | tar -xzv -C $target_dir --strip-components 1 --no-same-permissions |
||||
else |
||||
echo "extract from local file system" |
||||
if [ ! -f $SOURCE_TARBALL ]; then |
||||
echo "Source tarball not found: $SOURCE_TARBALL" |
||||
exit 1 |
||||
function site_init { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: site parameter mandatory" |
||||
exit 1 |
||||
fi |
||||
tar -xzvf $SOURCE_TARBALL -C $target_dir --strip-components 1 --no-same-permissions |
||||
fi |
||||
chown -R $FILE_OWNER:$FILE_GROUP $target_dir |
||||
umask 0022 |
||||
# link configuration files managed by puppet |
||||
ln -sf /etc/openstackid/environment.php $target_dir/bootstrap/environment.php |
||||
ln -sf /etc/openstackid/recaptcha.php $target_dir/app/config/packages/greggilbert/recaptcha/$LARAVEL_ENV/config.php |
||||
ln -sf /etc/openstackid/database.php $target_dir/app/config/$LARAVEL_ENV/database.php |
||||
ln -sf /etc/openstackid/log.php $target_dir/app/config/$LARAVEL_ENV/log.php |
||||
# convert app/storage into symlink and set permissions |
||||
mv $target_dir/app/storage $SITE_ROOT/ |
||||
chmod 02770 $SITE_ROOT/storage |
||||
find $SITE_ROOT/storage/ -type d -exec chmod 0775 {} \; |
||||
find $SITE_ROOT/storage/ -type f -exec chmod 0664 {} \; |
||||
rm -rf $target_dir/app/storage |
||||
ln -s $SITE_ROOT/storage $target_dir/app |
||||
# populate application database |
||||
cd $target_dir |
||||
php artisan migrate --env=$LARAVEL_ENV |
||||
php artisan db:seed --env=$LARAVEL_ENV |
||||
# activate site |
||||
rm -rf $SITE_ROOT/w |
||||
ln -s $SITE_ROOT/slot0 $SITE_ROOT/w |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: " $1 |
||||
exit 1 |
||||
fi |
||||
source $CONF_PATH |
||||
if [ -f "$SITE_ROOT/w/public/index.php" ]; then |
||||
echo "Cannot override an existing deployment: $SITE_ROOT/w" |
||||
exit 1 |
||||
fi |
||||
# cleanup previous broken deployment |
||||
rm -rf $SITE_ROOT/slot0 |
||||
# create directory structure |
||||
for dir in slot0 slot1; do |
||||
mkdir -p $SITE_ROOT/$dir |
||||
chown $FILE_OWNER:$FILE_GROUP $SITE_ROOT/$dir |
||||
done |
||||
target_dir="$SITE_ROOT/slot0" |
||||
# fetch catalog and write actual version |
||||
fetch_catalog |
||||
RELEASE_VERSION=`catalog_get_version` |
||||
echo $RELEASE_VERSION > $SITE_ROOT/slot0/release |
||||
# fetch and extract release tarball |
||||
umask 0027 |
||||
if [[ $SOURCE_TARBALL == http* ]]; then |
||||
echo "Download from http!" |
||||
curl $SOURCE_TARBALL | tar -xzv -C $target_dir --strip-components 1 --no-same-permissions |
||||
else |
||||
echo "extract from local file system" |
||||
if [ ! -f $SOURCE_TARBALL ]; then |
||||
echo "Source tarball not found: $SOURCE_TARBALL" |
||||
exit 1 |
||||
fi |
||||
tar -xzvf $SOURCE_TARBALL -C $target_dir --strip-components 1 --no-same-permissions |
||||
fi |
||||
chown -R $FILE_OWNER:$FILE_GROUP $target_dir |
||||
umask 0022 |
||||
# link configuration files managed by puppet |
||||
ln -sf /etc/openstackid/environment.php $target_dir/bootstrap/environment.php |
||||
ln -sf /etc/openstackid/recaptcha.php $target_dir/app/config/packages/greggilbert/recaptcha/$LARAVEL_ENV/config.php |
||||
ln -sf /etc/openstackid/database.php $target_dir/app/config/$LARAVEL_ENV/database.php |
||||
ln -sf /etc/openstackid/log.php $target_dir/app/config/$LARAVEL_ENV/log.php |
||||
# convert app/storage into symlink and set permissions |
||||
mv $target_dir/app/storage $SITE_ROOT/ |
||||
chmod 02770 $SITE_ROOT/storage |
||||
find $SITE_ROOT/storage/ -type d -exec chmod 0775 {} \; |
||||
find $SITE_ROOT/storage/ -type f -exec chmod 0664 {} \; |
||||
rm -rf $target_dir/app/storage |
||||
ln -s $SITE_ROOT/storage $target_dir/app |
||||
# populate application database |
||||
cd $target_dir |
||||
php artisan migrate --env=$LARAVEL_ENV |
||||
php artisan db:seed --env=$LARAVEL_ENV |
||||
# activate site |
||||
rm -rf $SITE_ROOT/w |
||||
ln -s $SITE_ROOT/slot0 $SITE_ROOT/w |
||||
} |
||||
|
||||
function site_status() { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: site parameter mandatory" |
||||
exit 1 |
||||
fi |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: $1" |
||||
exit 0 |
||||
fi |
||||
source $CONF_PATH |
||||
if [ ! -f "$SITE_ROOT/w/public/index.php" ]; then |
||||
if [ -d "$SITE_ROOT/slot0" ]; then |
||||
echo "PENDING" |
||||
else |
||||
echo "N/A" |
||||
exit 1 |
||||
function site_status { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: site parameter mandatory" |
||||
exit 1 |
||||
fi |
||||
else |
||||
fetch_catalog |
||||
REMOTE_VERSION=`catalog_get_version` |
||||
RELEASE_VERSION=$(head -n 1 $SITE_ROOT/w/release) |
||||
if [ "$REMOTE_VERSION" == "$RELEASE_VERSION" ]; then |
||||
echo "INSTALLED [$RELEASE_VERSION]" |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: $1" |
||||
exit 0 |
||||
fi |
||||
source $CONF_PATH |
||||
if [ ! -f "$SITE_ROOT/w/public/index.php" ]; then |
||||
if [ -d "$SITE_ROOT/slot0" ]; then |
||||
echo "PENDING" |
||||
else |
||||
echo "N/A" |
||||
exit 1 |
||||
fi |
||||
else |
||||
echo "UPDATE AVAILABLE [$RELEASE_VERSION-$REMOTE_VERSION]" |
||||
fetch_catalog |
||||
REMOTE_VERSION=`catalog_get_version` |
||||
RELEASE_VERSION=$(head -n 1 $SITE_ROOT/w/release) |
||||
if [ "$REMOTE_VERSION" == "$RELEASE_VERSION" ]; then |
||||
echo "INSTALLED [$RELEASE_VERSION]" |
||||
else |
||||
echo "UPDATE AVAILABLE [$RELEASE_VERSION-$REMOTE_VERSION]" |
||||
fi |
||||
fi |
||||
fi |
||||
} |
||||
|
||||
function fetch_catalog() { |
||||
curl --silent $SOURCE_ROOT > $SITE_ROOT/releases.lst |
||||
grep -q "^<!DOCTYPE HTML PUBLIC" $SITE_ROOT/releases.lst |
||||
function fetch_catalog { |
||||
curl --silent $SOURCE_ROOT > $SITE_ROOT/releases.lst |
||||
grep -q "^<!DOCTYPE HTML PUBLIC" $SITE_ROOT/releases.lst |
||||
} |
||||
|
||||
function catalog_get_version() { |
||||
RAW_LINE=`cat $SITE_ROOT/releases.lst | grep "$RELEASE_NAME" | sed "s/<[^>]\+>//g" | sed -r "s/^$RELEASE_NAME//"` |
||||
RELEASE_DATE=`echo $RAW_LINE | awk '{ print $1 " " $2}'` |
||||
echo $RELEASE_DATE |
||||
function catalog_get_version { |
||||
RAW_LINE=`cat $SITE_ROOT/releases.lst | grep "$RELEASE_NAME" | sed "s/<[^>]\+>//g" | sed -r "s/^$RELEASE_NAME//"` |
||||
RELEASE_DATE=`echo $RAW_LINE | awk '{ print $1 " " $2}'` |
||||
echo $RELEASE_DATE |
||||
} |
||||
|
||||
function site_update() { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: missing site parameter" |
||||
exit 1 |
||||
fi |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: $1" |
||||
exit 0 |
||||
fi |
||||
source $CONF_PATH |
||||
SITE_LINK=`readlink -f $SITE_ROOT/w` |
||||
ACTIVE_SLOT=`basename $SITE_LINK` |
||||
case $ACTIVE_SLOT in |
||||
slot0) |
||||
TARGET_SLOT='slot1' |
||||
;; |
||||
slot1) |
||||
TARGET_SLOT='slot0' |
||||
;; |
||||
*) |
||||
echo "Invalid active slot" |
||||
exit 1 |
||||
esac |
||||
echo "Target slot: $TARGET_SLOT" |
||||
target_dir="$SITE_ROOT/$TARGET_SLOT" |
||||
rm -rf $target_dir |
||||
mkdir $target_dir |
||||
# fetch catalog and write actual version |
||||
fetch_catalog |
||||
RELEASE_VERSION=`catalog_get_version` |
||||
echo $RELEASE_VERSION > $target_dir/release |
||||
# fetch and extract release tarball |
||||
umask 0027 |
||||
if [[ $SOURCE_TARBALL == http* ]]; then |
||||
echo "Download from http!" |
||||
curl $SOURCE_TARBALL | tar -xzv -C $target_dir --strip-components 1 --no-same-permissions |
||||
else |
||||
echo "extract from local file system" |
||||
if [ ! -f $SOURCE_TARBALL ]; then |
||||
echo "Source tarball not found: $SOURCE_TARBALL" |
||||
exit 1 |
||||
function site_update { |
||||
if [ ! $1 ]; then |
||||
echo "ERROR: missing site parameter" |
||||
exit 1 |
||||
fi |
||||
CONF_PATH="$CONF_DIR/conf.d/$1.conf" |
||||
if [ ! -f $CONF_PATH ]; then |
||||
echo "Site configuration not found: $1" |
||||
exit 0 |
||||
fi |
||||
source $CONF_PATH |
||||
SITE_LINK=`readlink -f $SITE_ROOT/w` |
||||
ACTIVE_SLOT=`basename $SITE_LINK` |
||||
case $ACTIVE_SLOT in |
||||
slot0) |
||||
TARGET_SLOT='slot1' |
||||
;; |
||||
slot1) |
||||
TARGET_SLOT='slot0' |
||||
;; |
||||
*) |
||||
echo "Invalid active slot" |
||||
exit 1 |
||||
esac |
||||
echo "Target slot: $TARGET_SLOT" |
||||
target_dir="$SITE_ROOT/$TARGET_SLOT" |
||||
rm -rf $target_dir |
||||
mkdir $target_dir |
||||
# fetch catalog and write actual version |
||||
fetch_catalog |
||||
RELEASE_VERSION=`catalog_get_version` |
||||
echo $RELEASE_VERSION > $target_dir/release |
||||
# fetch and extract release tarball |
||||
umask 0027 |
||||
if [[ $SOURCE_TARBALL == http* ]]; then |
||||
echo "Download from http!" |
||||
curl $SOURCE_TARBALL | tar -xzv -C $target_dir --strip-components 1 --no-same-permissions |
||||
else |
||||
echo "extract from local file system" |
||||
if [ ! -f $SOURCE_TARBALL ]; then |
||||
echo "Source tarball not found: $SOURCE_TARBALL" |
||||
exit 1 |
||||
fi |
||||
tar -xzvf $SOURCE_TARBALL -C $target_dir --strip-components 1 --no-same-permissions |
||||
fi |
||||
tar -xzvf $SOURCE_TARBALL -C $target_dir --strip-components 1 --no-same-permissions |
||||
fi |
||||
chown -R $FILE_OWNER:$FILE_GROUP $target_dir |
||||
umask 0022 |
||||
# link configuration files managed by puppet |
||||
ln -sf /etc/openstackid/environment.php $target_dir/bootstrap/environment.php |
||||
ln -sf /etc/openstackid/recaptcha.php $target_dir/app/config/packages/greggilbert/recaptcha/$LARAVEL_ENV/config.php |
||||
ln -sf /etc/openstackid/database.php $target_dir/app/config/$LARAVEL_ENV/database.php |
||||
ln -sf /etc/openstackid/log.php $target_dir/app/config/$LARAVEL_ENV/log.php |
||||
# link shared app/storage directory |
||||
rm -rf $target_dir/app/storage |
||||
ln -s $SITE_ROOT/storage $target_dir/app |
||||
# populate application database |
||||
cd $target_dir |
||||
php artisan migrate --env=$LARAVEL_ENV |
||||
# activate site |
||||
rm -rf $SITE_ROOT/w |
||||
ln -s $target_dir $SITE_ROOT/w |
||||
chown -R $FILE_OWNER:$FILE_GROUP $target_dir |
||||
umask 0022 |
||||
# link configuration files managed by puppet |
||||
ln -sf /etc/openstackid/environment.php $target_dir/bootstrap/environment.php |
||||
ln -sf /etc/openstackid/recaptcha.php $target_dir/app/config/packages/greggilbert/recaptcha/$LARAVEL_ENV/config.php |
||||
ln -sf /etc/openstackid/database.php $target_dir/app/config/$LARAVEL_ENV/database.php |
||||
ln -sf /etc/openstackid/log.php $target_dir/app/config/$LARAVEL_ENV/log.php |
||||
# link shared app/storage directory |
||||
rm -rf $target_dir/app/storage |
||||
ln -s $SITE_ROOT/storage $target_dir/app |
||||
# populate application database |
||||
cd $target_dir |
||||
php artisan migrate --env=$LARAVEL_ENV |
||||
# activate site |
||||
rm -rf $SITE_ROOT/w |
||||
ln -s $target_dir $SITE_ROOT/w |
||||
} |
||||
|
@ -0,0 +1,4 @@
|
||||
#!/bin/bash |
||||
|
||||
ROOT=$(readlink -fn $(dirname $0)/.. ) |
||||
find $ROOT -not -wholename \*.tox/\* -and \( -name \*.sh -or -name \*rc -or -name functions\* \) -print0 | xargs -0 bashate -v |
Loading…
Reference in new issue