Openstackid track site version

Openstackid deploy tool now tracks the deployed site version
from tarballs.openstack.org and deploy.sh status command display
UPDATE AVAILABLE when a new release is available.

Change-Id: I8bbc3bfceca37d00c3bba78995e3aff01b671aa4
This commit is contained in:
Marton Kiss 2014-03-17 16:30:32 +01:00
parent 79331c2cd8
commit 2893d81266
2 changed files with 26 additions and 2 deletions

View File

@ -31,6 +31,10 @@ function site_init() {
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
@ -86,10 +90,28 @@ function site_status() {
exit 1
fi
else
echo "INSTALLED"
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
}
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 site_update() {
if [ ! $1 ]; then
echo "ERROR: missing site parameter"

View File

@ -1,3 +1,5 @@
SITE_ROOT=/srv/openstackid
SOURCE_TARBALL=http://tarballs.openstack.org/openstackid/openstackid-latest.tar.gz
LARAVEL_ENV=dev
LARAVEL_ENV=dev
RELEASE_NAME=openstackid-latest.tar.gz
SOURCE_ROOT=http://tarballs.openstack.org/openstackid/