osaf/services/saf/immsv/README            |   2 +
 osaf/services/saf/immsv/README.SC_ABSENCE |  78 +++++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+), 0 deletions(-)


Add readme for SC absence feature.

diff --git a/osaf/services/saf/immsv/README b/osaf/services/saf/immsv/README
--- a/osaf/services/saf/immsv/README
+++ b/osaf/services/saf/immsv/README
@@ -2779,6 +2779,8 @@ provided during absent SC depends on the
 of the IMM service, the service provided during SC absence is in essence 
 only the reading of config data.
 
+See: osaf/services/saf/immsv/README.SC_ABSENCE for details.
+
 
 Add attribute definition flag SA_IMM_ATTR_STRONG_DEFAULT (5.0)
 ===============================================================
diff --git a/osaf/services/saf/immsv/README.SC_ABSENCE 
b/osaf/services/saf/immsv/README.SC_ABSENCE
new file mode 100644
--- /dev/null
+++ b/osaf/services/saf/immsv/README.SC_ABSENCE
@@ -0,0 +1,78 @@
+SC ABSENCE: Allow IMMNDs to survive SC absence (5.0)
+====================================================
+Prior to this enhancement, absence of both SCs will cause IMMNDs to restart,
+also the cluster will be reboot by AMF. With this feature, IMMNDs on payloads
+continue to provide limited service until an SC is back.
+
+
+CONFIGURATION
+=============
+To enable this feature, IMMSV_SC_ABSENCE_ALLOWED environment variable must be
+set for IMMD (immd.conf)
+
+    export IMMSV_SC_ABSENCE_ALLOWED=900
+
+The value indicates the number of seconds cluster will tolerate SC absence,
+value of zero indicates the feature is disabled.
+See immd.conf for more details.
+
+
+IMMND
+=====
+With SC absence feature enabled, IMMNDs on payloads now can be coordinator.
+That can happen even when the SCs are not absent.
+
+For example, the cluster only has one SC and IMMND on SC restarts, one of the
+IMMNDs on payloads will be elected as new coordinator. Without SC absence
+enabled, the cluster will not tolerate that situation and a cluster reboot will
+occur.
+
+If PBE is configured together with this feature, make sure that the shared file
+system (where sqlite database is located) is accessible from all nodes of the
+cluster.
+
+Upon receiving the IMMD down event, payload based IMMNDs unregister with MDS
+and then:
+- remove all local clients,
+- discard all implementers,
+- finalize all admin owners,
+- abort all non-critical CCBs.
+
+That means the IMMNDs only keep class definitions and object information in
+their memories during SC absence.
+
+After cleaning up those things, MDS will be registered again to allow clients 
to
+read the objects but only config data can be read because there's currently no
+OI attached for runtime data.
+
+Other operations with IMM service will get SA_AIS_ERR_TRY_AGAIN during SC
+absence.
+If you retry the APIs on SA_AIS_ERR_TRY_AGAIN, you should retry at least the
+amount of time that you set for IMMSV_SC_ABSENCE_ALLOWED.
+
+If you get SA_AIS_ERR_BAD_HANDLE, you must re-initialize the handles.
+
+
+IMMD
+====
+After coming back from SC absence, the active IMMD will wait for the veteran
+IMMNDs to introduce for 3 seconds. If there's no introduction from veteran 
IMMND
+within 3 seconds, IMMD will start to load from repository. This is to avoid the
+race condition where IMMD receives and processes introduce message from the
+local IMMND or a newly joined IMMND before the veteran IMMNDs.
+
+The veteran IMMNDs also include highest fevs, latest id of implementer/admo/ccb
+in the introduce message to help IMMD restore these counters back to the state
+right before SC absence.
+
+IMMD then elects one of the veteran IMMNDs as new coordinator and the data is
+sync'ed to the SC based IMMNDs. After that, IMM service becomes fully 
functional
+again.
+
+
+SC ABSENCE and 2PBE
+===================
+Support for absent IMMD is incompatible with 2PBE. If both are configured then
+2PBE will win and the absence of IMMD feature will be ignored. An error message
+is printed in this case to the syslog at startup.
+

------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to