[prev in list] [next in list] [prev in thread] [next in thread]
List: keepalived-devel
Subject: Re: [Keepalived-devel] nopreempt from FAULT state not working
From: "Jari Takkala" <Jari.Takkala () Q9 ! com>
Date: 2007-11-01 15:51:38
Message-ID: 413FEEF1743111439393FB76D0221E4808E03E11 () leopard ! zoo ! q9networks ! com
[Download RAW message or body]
On Sunday, April 1, 2007 1:03, keepalived-devel-bounces@lists.sourceforge.net wrote:
> Hello,
>
> I think the owner of higher priority in FAULT state shouldn't preempt
> current MASTER when it's recovering, if the nopreempt option is set.
> It seems otherwise. Is this a bug?
We ran into this same issue while testing the nopreempt option. We are running \
keepalived on two firewalls, with a crossover interface between them. To avoid \
problems with STP on our switches, we run only one VRRP instance across the crossover \
cable. Both the firewalls start up in BACKUP mode, one has a priority of 250 and the \
other 50.
As of keepalived 1.1.15, if either unit goes into FAULT state, then the higher \
priority unit will always preempt. I applied Kimitoshi's patch below and now the \
higher priority unit will not preempt coming out of FAULT state if the other unit is \
in MASTER state.
I believe this behaviour is more correct, at least it is how I expected keepalived to \
function when configuring the nopreempt option. Currently nopreempt does preempt when \
recovering from FAULT state.
Alexandre, would you consider applying this patch to future versions of keepalived?
Thanks!
Jari
> The following changes behavior;
>
> diff -cr keepalived-1.1.13_orig/keepalived/vrrp/vrrp.c
> keepalived-1.1.13/keepalived/vrrp/vrrp.c
> *** keepalived-1.1.13_orig/keepalived/vrrp/vrrp.c Wed
> Oct 11 18:45:04 2006
> --- keepalived-1.1.13/keepalived/vrrp/vrrp.c Mon Apr 2 00:35:13
> 2007
> ***************
> *** 881,887 ****
> return 0;
> } else if (vrrp->effective_priority > hd->priority ||
> hd->priority == VRRP_PRIO_OWNER) !
> return 1;
>
> return 0;
> }
> --- 881,888 ----
> return 0;
> } else if (vrrp->effective_priority > hd->priority ||
> hd->priority == VRRP_PRIO_OWNER)
> ! if (!vrrp->nopreempt)
> ! return 1;
>
> return 0;
> }
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Keepalived-devel mailing list
Keepalived-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/keepalived-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic