diff options
Diffstat (limited to 'meta-openstack/recipes-support/deploychef/files/run-postinsts')
-rw-r--r-- | meta-openstack/recipes-support/deploychef/files/run-postinsts | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/meta-openstack/recipes-support/deploychef/files/run-postinsts b/meta-openstack/recipes-support/deploychef/files/run-postinsts new file mode 100644 index 00000000..35d46f08 --- /dev/null +++ b/meta-openstack/recipes-support/deploychef/files/run-postinsts @@ -0,0 +1,64 @@ +#!/bin/sh +# run-postinsts +# +# Copyright (c) 2014 Wind River Systems, Inc. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. +# +# After chefsolo generates our config and scripts, we call this script +# to run the posinstall script and start the services +# +# +RPM_POSTINSTS_DIR=$1 +LOG_DIR='/var/log/%PACKAGE_NAME%/' +mkdir -p $LOG_DIR +if [ ! -d $RPM_POSTINSTS_DIR ]; then + echo "Post Install script dir not set" + exit 1 +fi +cd / #work-around for cinder-volume config file location +echo "x$RPM_POSTINSTS_DIR" > "$LOD_DIR"log.run-postinsts +for i in `ls $RPM_POSTINSTS_DIR 2> /dev/null`; do + i=$RPM_POSTINSTS_DIR$i + echo "Running postinst $i..." + if [ -f $i ] && $i; then + rm $i + else + echo "ERROR: postinst $i failed. $? " >> "$LOG_DIR"log.run-postinsts + fi +done + + +#Start all the modules specified in startup-list +INITD_DIR=/etc/init.d/ +services=$(cat %DEPLOYCHEF_ROOT_DIR%/startup-list) +for service in $services; do + service=$(echo $service | awk -F'S..' '{print $2}') + if [ -e $INITD_DIR$service ]; then + if [ $service = 'cinder-volume' ]; then + $INITD_DIR$service reload + else + $INITD_DIR$service start + fi + sleep 1 + fi +done + +#Restart cloud service cloud-init +/etc/init.d/cloud-init start |