I have just installed a new server (Ubuntu 14.04) to start testing our keepalived configurations, which work fine on (Ubuntu 12.04)
We do not assign the public IP on the eth1 interface, we allow keepalived to do that to preserve public IP's in our environment.
This works on the 12.04 server
/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address x.x.x.x
netmask x.x.x.x
auto eth1
iface eth1 inet static
/etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight
}
vrrp_script chk_stunnel {
script "/usr/bin/killall -s 0 -r 'stunnel[4]?'"
interval 2
weight
}
global_defs {
notification_email {
someone@somewhere.com
}
notification_email_from someone@somewhere.com
smtp_server x.x.x.x
smtp_connect_timeout 30
router_id somehost
}
vrrp_instance VI_01 {
interface eth0
state MASTER
virtual_router_id 1
priority 150
advert_int 1
garp_master_delay 5
smtp_alert
# notify scripts and alerts are optional
#
# filenames of scripts to run on transitions
# can be unquoted (if just filename)
# or quoted (if has parameters)
# to MASTER transition
notify_master "/sbin/route del default gw x.x.x.x"
# to BACKUP transition
notify_backup "/sbin/route add default gw x.x.x.x"
authentication {
auth_type PASS
auth_pass somepas
}
track_script {
chk_stunnel
chk_haproxy
}
virtual_ipaddress {
x.x.x.x/x dev eth1
}
virtual_routes {
default via x.x.x.x dev eth1
}
}
However, on the 14.04 system, when put in place with a copy and paste (just modifying IPs for a new subnet) keepalived says the interface queue is empty and will declare eth1 as a missing interface.
Is this a change in behavior for ipvs in Ubuntu 14.04 ? An interface with no IP is dropped from being usable?