Hi Jim,
I assume the following, please confirm:
- Service Units(SUs) running on Node-A and Node-B are in 2N redundancy
models.
- They are multiple Service Groups(SGs) of 2N redundancy, configured with
one SU on Node-A and another SUs on Node-B.
- SGs have only two SUs, that means there are no spare Service Units(SUs)
configured on any other nodes.
- SUs configured on Node-A has higher ranks than that of Node-B(Or at least
this is what is primarily requirement for what you want to achieve).

There could be few ways to achieve that based on the following:

Case 1: I assume that Node-A and Node-B are only two nodes in the Cluster
i.e. it is only two nodes Cluster.
They(Node-A and Node-B) can form either of the following Cluster topology:
        1.1 Node-A and Node-B are both controllers Or
        1.2 Node-A is controller and Node-B is payload(or vice-versa).

In both of these cases, power cycle both nodes simultaneously will cause
Cluster reset.

In such cases, you can use the following options to achieve 'biasing the
node' for Active assignments:
        - Cluster Startup Timer(saAmfClusterStartupTimeout)
        - Administrative states of Node-A and Node-B
        - Administrative states of SUs(hosted on Node-A and Node-B)

You can configure saAmfClusterStartupTimeout as 10 seconds.
You can use either of the following based on your convenience:
- When Cluster has come up and running the timer of
saAmfClusterStartupTimeout(10 seconds) i.e. before Cluster Timer expiry,
then issue node lock command on Node-B. After Cluster Timer expires, Amf
will only give assignments to SUs of Node-A(For automation, you can figure
it out based on notifications or any other ways like imm walkthrough, etc.),
you can then issue admin command on Node-B to unlock. [You can automate it
in various ways.]
OR
- You can issue admin lock commands on all the SUs hosted on Node-B when
Cluster timer is running i.e. before Cluster Timer expiry. After Cluster
Timer expires, Amf will only give assignments to SUs of Node-A(For
automation, you can figure it out based on notifications or any other ways
like imm walkthrough, etc.), you can then issue admin commands on SUs hosted
on Node-B to unlock. [You can automate it in various ways.]

Case 2: I assume that Node-A and Node-B are two payload nodes in the Cluster
i.e. Cluster have other controllers and payloads.
In this case, Cluster is up and running even when Node-A and Node-B are
power recycled.
In such cases, you can use the following options to achieve 'biasing the
node' for Active assignments:
        - Administrative states of Node-A and Node-B
        - Administrative states of SUs(hosted on Node-A and Node-B)

You can use either of the following based on your convenience:
- When you power cycle both nodes simultaneously, then issue node lock
command on Node-B. After both nodes come up, Amf will only give assignments
to SUs of Node-A(For automation, you can figure it out based on
notifications or any other ways like imm walkthrough, etc.), you can then
issue admin command on Node-B to unlock. [You can automate it in various
ways.]
OR
- When you power cycle both nodes simultaneously, then you can issue SU lock
commands on all the SUs hosted on Node-B. After both nodes come up, Amf will
only give assignments to SUs of Node-A(For automation, you can figure it out
based on notifications or any other ways like imm walkthrough, etc.), you
can then issue admin commands on SUs hosted on Node-B to unlock. [You can
automate it in various ways.]

Case 3: In either of Case 1 and Case 2, you can use SG lock and unlock.
        - In case of Case 1(Cluster reset), when cluster comes up and
running Cluster Timer, then before the timer expiry, you can issue SG lock.
After timer expiry, you can issue admin unlock. Amf will give assignments of
SUs of Node-A as Active and SUs of Node-B as Standby based on SUs ranks.
        - In case of Case 2, when nodes are power cycled, then issue SG
lock. After then comes up, you can issue node unlock. Amf will give
assignments of SUs of Node-A as Active and SUs of Node-B as Standby based on
SUs ranks.

Case 4: In case of Case 2, Case 2 and Case 3, you can implement a philosophy
of 'delayed start' of SUs of Node-B. This is in assumption that you want to
make Node-B as Standby during such cases of contention. This will not harm
from High Availability perspective as there is always other Active and it is
only when Node-B comes up. After it comes up, then HA is not disrupted
because SUs are up and running. Please note that you are using delayed start
of SUs instantiation and not the assignments. But, this has disadvantage,
when Node-A doesn't comes up at all; because SUs at Node-B will come with
delayed time and availability for that time is delayed.

For strict node based assignments systems like in Safety Critical Systems or
even in Fail Safe Systems(where it is desired for a particular node to be
ideally be Standby and takes up Active role only when things are not working
fine on the main Active node and then takes the measures for
safety/fail-safety), there are few other ways that you can think of in
implementing similar logics in your applications(not recommended though),
when to declare SUs Instantiated to Amf at Node-B.

Hope it helps!

Thanks
-Nagendra
High Availability Solutions
www.hasolutions.in
cont...@hasolutions.in
Hyderabad, India: +91-9866424860   |   Delaware, USA: +1 508-422-7725

-----Original Message-----
From: Carroll, James R [mailto:james.r.carr...@lmco.com] 
Sent: 31 January 2019 23:31
To: opensaf-users@lists.sourceforge.net
Subject: [users] question on active assignments

Hi all,

We are using OpenSAF 5.2.0, and have the following situation:


  1.  Two redundant nodes, Node A, and Node B.
  2.  Both nodes are in the same cluster
  3.  Both nodes have identical components running on them.
  4.  When we power cycle both nodes simultaneously, some of the components
on Node A are active, and some of the components on Node B are active.
  5.  We understand that this is in accordance with SAF spec

Question: We would like to "bias" the Nodes, so that all the ACTIVES are
assigned to Node A, and all the STANDBYS are assigned to Node B.   Does
anyone know a way to accomplish this, if it is even possible?  We did review
the OpenSAF documentation regarding AutoAdjust, but this feature is not
implemented.  Any suggestions would be greatly appreciated.

Thanks.

Jim


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



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

Reply via email to