This "definition" is flawed.
opensafd stop is issued by the system when a node receives the reboot
command. It is not directly called by SMF.
As the issuer of the reboot command SMF needs to know if the stop is
possible to execute because a prior start might still be ongoing.
With your suggestion Hans SMF would also find out the status of AMF pid
and amf-status command. I do not like to drag in unnecessary dependencies.
On 05/31/2017 01:59 PM, Hans Nordebäck wrote:
opensafd status reports if opensaf is running or not. There is a
"window" from where amfnd is up and til the
"lockfile_inprogress" is removed. This "window" is handled with the
suggested change.
The definition of a running opensaf is that amfnd is running and now
also that
the "lockfile_inprogress" file does not exist. If amfnd stops running
the node will immediately be rebooted.
It is not necessary to check all services.
/Hans
On 05/31/2017 01:35 PM, Rafael Odzakow wrote:
I don't agree with this suggestion having AMF in the status report of
opensafd init script does not fit in here. AMF is not OpenSAF it is
only a subset.
- Either have all services report status, or
- Have only the init script reports it internal status
The patch is avoiding this issue by creating a new return code
because a real solution would be NBC. But as this script is pretty
central to OpenSAF I am thinḱing NBC route would be better.
On 05/31/2017 12:42 PM, Hans Nordebäck wrote:
Hi Rafael,
not tested, but perhaps we can do this check instead?:
status() {
amfpid=`pidofproc -p $amfnd_pid $amfnd_bin`
if [[ -n "$amfpid" && ! -f "$lockfile_inprogress" ]; then
amf-state siass ha
RETVAL=$?
else
echo "The OpenSAF HA Framework is not running"
RETVAL=3
fi
return $RETVAL
}
/Hans
On 05/19/2017 12:46 PM, Rafael Odzakow wrote:
Internally opensafd creates a lock file during start/stop to avoid
parallel execution. To allow others to query the state this ticket
will
use the opensafd lockfile to report the status of start/stop when
requested with "opensafd status"
---
src/nid/opensafd.in | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/nid/opensafd.in b/src/nid/opensafd.in
index e7683bd7e..c93cca7e1 100644
--- a/src/nid/opensafd.in
+++ b/src/nid/opensafd.in
@@ -326,8 +326,14 @@ forcereload() {
}
status() {
+
amfpid=`pidofproc -p $amfnd_pid $amfnd_bin`
- if [ -n "$amfpid" ]; then
+
+ if [ -e "$lockfile_inprogress" ]; then
+ echo "Lockfile taken, OpenSAF start/stop is in
progress"
+ # LSB defines 150-199 as application reserved exit
codes
+ RETVAL=150
+ elif [ -n "$amfpid" ]; then
amf-state siass ha
RETVAL=$?
else
------------------------------------------------------------------------------
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
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel