This has been a sticky point in the past. When a node is joining it is
supposed to be in the COMINGUP state until all the services on it have
been started. We did change the kernel at one point to make a node
look like it was "UP" only to itself to get around this problem with
some programs initializing themselves. That way they get an initial
cluster view of all the already UP nodes, plus itself.
The bottom line is we can't do that clusternode_setstate that early,
since we don't want to allow new processes from other nodes to be
load-leveled, migrated, rfork()ed, or rexec()ed onto a node while it is
still initializing itself.
If LVS is a fully cluster-aware service, then it maybe it should be
able to handle the COMINGUP case. In the future we might allow
services to be told whether they are doing node joins "up" or
completely starting a service in an existing cluster "start". The "up"
case is a node joining and "start" case is a runlevel change of an
existing cluster with nodes already "UP".
On Saturday, July 26, 2003, at 05:45 AM, Aneesh Kumar K.V wrote:
> Hi David, Brian
>
> ha-lvs internally check for the cluster state . I guess we need to set
> the cluster node state to UP before starting the run level services. I
> have made the changes to debian . I guess redhat also will need a
> similar change. also ha-lvs need to be added to rc.info.
>
>
> -aneesh
>
>
> From: kvaneesh@...
> Date: Sat Jul 26, 2003 5:18:02 AM America/Los_Angeles
> To: ssic-linux-checkins@...
> Subject: [SSI] openssi/distro-pkgs/debian/initscripts rc.nodeup,1.1,1.2
>
>
> Update of /cvsroot/ssic-linux/openssi/distro-pkgs/debian/initscripts
> In directory sc8-pr-cvs1:/tmp/cvs-serv22551
>
> Modified Files:
> rc.nodeup
> Log Message:
>
> Some of the services like ( ha-lvs ) may check for cluster state .
> so set clusternode state to UP before starting the services
>
>
> Index: rc.nodeup
> ===================================================================
> RCS file:
> /cvsroot/ssic-linux/openssi/distro-pkgs/debian/initscripts/rc.nodeup,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -C2 -d -r1.1 -r1.2
> *** rc.nodeup 21 Jul 2003 18:30:32 -0000 1.1
> --- rc.nodeup 26 Jul 2003 12:18:00 -0000 1.2
> ***************
> *** 10,13 ****
> --- 10,15 ----
> /etc/init.d/rcSSI
>
> + clusternode_setstate $1 UP
> +
> # Run all the services that were started by init node
> # in the same order
> ***************
> *** 22,24 ****
>
>
> - clusternode_setstate $1 UP
> --- 24,25 ----
>
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/
> direct;at.aspnet_072303_01
> /01
> _______________________________________________
> Ssic-linux-checkins mailing list
> Ssic-linux-checkins@...
> https://lists.sourceforge.net/lists/listinfo/ssic-linux-checkins
>
>

Thread view

This has been a sticky point in the past. When a node is joining it is
supposed to be in the COMINGUP state until all the services on it have
been started. We did change the kernel at one point to make a node
look like it was "UP" only to itself to get around this problem with
some programs initializing themselves. That way they get an initial
cluster view of all the already UP nodes, plus itself.
The bottom line is we can't do that clusternode_setstate that early,
since we don't want to allow new processes from other nodes to be
load-leveled, migrated, rfork()ed, or rexec()ed onto a node while it is
still initializing itself.
If LVS is a fully cluster-aware service, then it maybe it should be
able to handle the COMINGUP case. In the future we might allow
services to be told whether they are doing node joins "up" or
completely starting a service in an existing cluster "start". The "up"
case is a node joining and "start" case is a runlevel change of an
existing cluster with nodes already "UP".
On Saturday, July 26, 2003, at 05:45 AM, Aneesh Kumar K.V wrote:
> Hi David, Brian
>
> ha-lvs internally check for the cluster state . I guess we need to set
> the cluster node state to UP before starting the run level services. I
> have made the changes to debian . I guess redhat also will need a
> similar change. also ha-lvs need to be added to rc.info.
>
>
> -aneesh
>
>
> From: kvaneesh@...
> Date: Sat Jul 26, 2003 5:18:02 AM America/Los_Angeles
> To: ssic-linux-checkins@...
> Subject: [SSI] openssi/distro-pkgs/debian/initscripts rc.nodeup,1.1,1.2
>
>
> Update of /cvsroot/ssic-linux/openssi/distro-pkgs/debian/initscripts
> In directory sc8-pr-cvs1:/tmp/cvs-serv22551
>
> Modified Files:
> rc.nodeup
> Log Message:
>
> Some of the services like ( ha-lvs ) may check for cluster state .
> so set clusternode state to UP before starting the services
>
>
> Index: rc.nodeup
> ===================================================================
> RCS file:
> /cvsroot/ssic-linux/openssi/distro-pkgs/debian/initscripts/rc.nodeup,v
> retrieving revision 1.1
> retrieving revision 1.2
> diff -C2 -d -r1.1 -r1.2
> *** rc.nodeup 21 Jul 2003 18:30:32 -0000 1.1
> --- rc.nodeup 26 Jul 2003 12:18:00 -0000 1.2
> ***************
> *** 10,13 ****
> --- 10,15 ----
> /etc/init.d/rcSSI
>
> + clusternode_setstate $1 UP
> +
> # Run all the services that were started by init node
> # in the same order
> ***************
> *** 22,24 ****
>
>
> - clusternode_setstate $1 UP
> --- 24,25 ----
>
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/
> direct;at.aspnet_072303_01
> /01
> _______________________________________________
> Ssic-linux-checkins mailing list
> Ssic-linux-checkins@...
> https://lists.sourceforge.net/lists/listinfo/ssic-linux-checkins
>
>

On Sun, 2003-07-27 at 09:10, Zafman, David (HP) wrote:
>
> If LVS is a fully cluster-aware service, then it maybe it should be
> able to handle the COMINGUP case. In the future we might allow
> services to be told whether they are doing node joins "up" or
> completely starting a service in an existing cluster "start". The "up"
>
I have done this for ha-lvs. I have also reverted the change to set the
cluster state . How about adding ha-lvs to /etc/rc.d/rc.info ?
-aneesh