Discussion:
Carp + ifstated
Christiano Liberato
2013-11-22 19:19:18 UTC
Permalink
Hello,

I'm having trouble returning a server to be master with trade in advskew via ifstated.

The following scenario:

##########
server1
##########

carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:5e:00:01:01
priority: 0
carp: MASTER carpdev vic0 vhid 1 advbase 1 advskew 0
groups: carp
inet6 fe80::200:5eff:fe00:101%carp0 prefixlen 64 scopeid 0x5
inet 172.16.1.250 netmask 0xfffffe00 broadcast 172.16.1.255

carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:5e:00:01:02
priority: 0
carp: MASTER carpdev vic1 vhid 2 advbase 1 advskew 0
groups: carp
inet6 fe80::200:5eff:fe00:102%carp1 prefixlen 64 scopeid 0x6
inet 192.168.56.12 netmask 0xffffff00 broadcast 192.168.56.255

##########
server2
##########

carp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:5e:00:01:01
priority: 0
carp: BACKUP carpdev vic0 vhid 1 advbase 1 advskew 128
groups: carp
inet6 fe80::200:5eff:fe00:101%carp0 prefixlen 64 scopeid 0x5
inet 172.16.1.250 netmask 0xfffffe00 broadcast 172.16.1.255

carp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:00:5e:00:01:02
priority: 0
carp: BACKUP carpdev vic1 vhid 2 advbase 1 advskew 128
groups: carp
inet6 fe80::200:5eff:fe00:102%carp1 prefixlen 64 scopeid 0x6
inet 192.168.56.12 netmask 0xffffff00 broadcast 192.168.56.255

##############################################
/etc/ifstated.conf (running on server1)
##############################################

init-state one

if_up="carp0.link.up && carp1.link.up "

state one {
if ( ! $if_up ) {
run "ifconfig carp0 advskew 200"
run "ifconfig carp1 advskew 200"
set-state two
}
}

state two {
if ( $if_up ) {
run "ifconfig carp0 advskew 0"
run "ifconfig carp1 advskew 0"
set-state one
}
}

As ifstated.conf, to overthrow the carp0 int (or carp1) in server1, it becomes BACKUP but accepts advskew 200.

And the problem comes here: when climbing int carp0 (or carp1) in server1, he should get advskew 0 and become MASTER.
This does not happen, even if you hand in, he turns back to MASTER and BACKUP.

Anyone know if I'm missing or if something missing?

Thanks

Loading...