Done.

Thanks,
Ramesh.

On 1/4/2017 2:35 PM, Hans Nordebäck wrote:
> Hi Ramesh,
>
> A gentle reminder for review/Thanks HansN
>
> -----Original Message-----
> From: Hans Nordeback [mailto:[email protected]]
> Sent: den 22 december 2016 14:17
> To: [email protected]; Anders Widell <[email protected]>
> Cc: [email protected]
> Subject: [devel] [PATCH 1 of 1] opensafd: Disallow parallel execution of 
> opensafd operations start and stop [#2244]
>
>   osaf/services/infrastructure/nid/scripts/opensafd.in |  105 
> +++++++++++-------
>   1 files changed, 62 insertions(+), 43 deletions(-)
>
>
> diff --git a/osaf/services/infrastructure/nid/scripts/opensafd.in 
> b/osaf/services/infrastructure/nid/scripts/opensafd.in
> --- a/osaf/services/infrastructure/nid/scripts/opensafd.in
> +++ b/osaf/services/infrastructure/nid/scripts/opensafd.in
> @@ -14,6 +14,7 @@
>   
>   osafdirfile=@sysconfdir@/@PACKAGE_NAME@/osafdir.conf
>   osafprog="opensafd"
> +osafprog_inprogress="opensafd_inprogress"
>   
>   # Source LSB functions library
>   . /lib/lsb/init-functions
> @@ -28,6 +29,7 @@ fi
>   
>   binary=$pkglibdir/$osafprog
>   lockfile=$lockdir/$osafprog
> +lockfile_inprogress=$lockdir/$osafprog_inprogress
>   amfnd_bin=$pkglibdir/osafamfnd
>   amfnd_pid=$pkgpiddir/osafamfnd.pid
>   
> @@ -216,22 +218,30 @@ start() {
>       #enable_coredump
>   
>       echo -n "Starting OpenSAF Services (Using $MDS_TRANSPORT):"
> -     start_daemon $binary $args
> -     RETVAL=$?
> -     if [ $RETVAL -eq 0 ]; then
> -             logger -t $osafprog "OpenSAF($osafversion - $osafcshash) 
> services successfully started"
> -             touch $lockfile
> -             log_success_msg
> +     if [ -e "$lockfile_inprogress" ]; then
> +             RETVAL=1
> +             logger -t $osafprog "opensafd start/stop already in progress. 
> Unable to contiune"
> +             logger -t $osafprog "To forcefully start/stop OpenSAF remove 
> $lockfile_inprogress"
>       else
> -             final_clean
> -             log_failure_msg
> -             if [ $REBOOT_ON_FAIL_TIMEOUT -ne 0 ]; then
> -                     logger -t $osafprog "Starting OpenSAF failed, 
> rebooting..."
> -                     sleep $REBOOT_ON_FAIL_TIMEOUT
> -                     /sbin/reboot &
> +             touch "$lockfile_inprogress"
> +             start_daemon $binary $args
> +             RETVAL=$?
> +             if [ $RETVAL -eq 0 ]; then
> +                     logger -t $osafprog "OpenSAF($osafversion - 
> $osafcshash) services successfully started"
> +                     touch $lockfile
> +                     log_success_msg
>               else
> -                     logger -t $osafprog "Starting OpenSAF failed"
> +                     final_clean
> +                     log_failure_msg
> +                     if [ $REBOOT_ON_FAIL_TIMEOUT -ne 0 ]; then
> +                             logger -t $osafprog "Starting OpenSAF failed, 
> rebooting..."
> +                             sleep $REBOOT_ON_FAIL_TIMEOUT
> +                             /sbin/reboot &
> +                     else
> +                             logger -t $osafprog "Starting OpenSAF failed"
> +                     fi
>               fi
> +             rm -rf "$lockfile_inprogress"
>       fi
>       return $RETVAL
>   }
> @@ -239,40 +249,49 @@ start() {
>   stop() {
>       logger -t $osafprog "Stopping OpenSAF Services"
>   
> -     amfpid=`pidofproc -p $amfnd_pid $amfnd_bin`
> -     echo -n "Stopping OpenSAF Services: "
> -     if [ -n "$amfpid" ]; then
> -             kill $amfpid
> -             timeout=$TERMTIMEOUT
> -             while [ $timeout -gt 0 ]; do
> -                     sleep 1
> -                     [ -d /proc/$amfpid ] || break
> -                     timeout=$((timeout-1))
> -             done
> -             [ -d /proc/$amfpid ] && RETVAL=1
> -             if [ $RETVAL -eq 1 ]; then
> -                     logger -t $osafprog "amfnd has not yet exited, killing 
> it forcibly."
> -                     kill -9 $amfpid
> +     if [ -e "$lockfile_inprogress" ]; then
> +             RETVAL=1
> +             logger -t $osafprog "opensafd start/stop already in progress. 
> Unable to contiune"
> +             logger -t $osafprog "To forcefully start/stop OpenSAF remove 
> $lockfile_inprogress"
> +     else
> +             touch "$lockfile_inprogress"
> +             amfpid=`pidofproc -p $amfnd_pid $amfnd_bin`
> +             echo -n "Stopping OpenSAF Services: "
> +             if [ -n "$amfpid" ]; then
> +                     kill $amfpid
> +                     timeout=$TERMTIMEOUT
> +                     while [ $timeout -gt 0 ]; do
> +                             sleep 1
> +                             [ -d /proc/$amfpid ] || break
> +                             timeout=$((timeout-1))
> +                     done
> +                     [ -d /proc/$amfpid ] && RETVAL=1
> +                     if [ $RETVAL -eq 1 ]; then
> +                             logger -t $osafprog "amfnd has not yet exited, 
> killing it forcibly."
> +                             kill -9 $amfpid
> +                     fi
> +             else
> +                     pkill -9 osaf* >/dev/null 2>&1
>               fi
> -     else
> -             pkill -9 osaf* >/dev/null 2>&1
> -     fi
>   
> -     final_clean
> +             final_clean
>   
> -     if [ $RETVAL -eq 0 ]; then
> -             logger -t $osafprog "OpenSAF services successfully stopped"
> -             log_success_msg
> -     else
> -             log_failure_msg
> -             # If AMF fails to terminate its components,
> -             # this system is out of control, reboot it now!
> -             if [ $REBOOT_ON_FAIL_TIMEOUT -ne 0 ]; then
> -                     logger -t $osafprog "Stopping OpenSAF failed, 
> rebooting..."
> -                     sleep $REBOOT_ON_FAIL_TIMEOUT
> -                     /sbin/shutdown -r now "OpenSAF termination failed 
> (timeout)"
> +             rm -rf "$lockfile_inprogress"
> +
> +             if [ $RETVAL -eq 0 ]; then
> +                     logger -t $osafprog "OpenSAF services successfully 
> stopped"
> +                     log_success_msg
>               else
> -                     logger -t $osafprog "Stoping OpenSAF failed"
> +                     log_failure_msg
> +                     # If AMF fails to terminate its components,
> +                     # this system is out of control, reboot it now!
> +                     if [ $REBOOT_ON_FAIL_TIMEOUT -ne 0 ]; then
> +                             logger -t $osafprog "Stopping OpenSAF failed, 
> rebooting..."
> +                             sleep $REBOOT_ON_FAIL_TIMEOUT
> +                             /sbin/shutdown -r now "OpenSAF termination 
> failed (timeout)"
> +                     else
> +                             logger -t $osafprog "Stoping OpenSAF failed"
> +                     fi
>               fi
>       fi
>       return $RETVAL
>
> ------------------------------------------------------------------------------
> Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon 
> Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/intel 
> _______________________________________________
> Opensaf-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/opensaf-devel


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to