Hi Hung,

Reviewed the patch.
Ack with comments.

comments:

If the PBE is configured when HEADLESS feature is enabled, then shared 
file system,
for the sqlite database to be accessible for the cluster(both 
controllers and payloads).

/Neel.

On 2016/07/25 04:28 PM, Hung Nguyen wrote:
>   osaf/services/saf/immsv/README          |   2 +
>   osaf/services/saf/immsv/README.HEADLESS |  72 
> +++++++++++++++++++++++++++++++++
>   2 files changed, 74 insertions(+), 0 deletions(-)
>
>
> Add readme for headless 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.HEADLESS for details.
> +
>   
>   Add attribute definition flag SA_IMM_ATTR_STRONG_DEFAULT (5.0)
>   ===============================================================
> diff --git a/osaf/services/saf/immsv/README.HEADLESS 
> b/osaf/services/saf/immsv/README.HEADLESS
> new file mode 100644
> --- /dev/null
> +++ b/osaf/services/saf/immsv/README.HEADLESS
> @@ -0,0 +1,72 @@
> +HEADLESS: 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 headless feature enabled, IMMNDs on payloads now can be coordinator. 
> That
> +can happen even when the cluster doesn't go headless.
> +
> +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 headless 
> enabled,
> +the cluster will not tolerate that situation and a cluster reboot will occur.
> +
> +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 headless.
> +
> +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 
> headless.
> +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 headless, 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.
> +
> +
> +HEADLESS 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to