keepalived makes a floating IP available on more than one host after configuration reload

Bug #1481337 reported by Leon Keijser on 2015-08-04
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
keepalived (Ubuntu)
Medium
Scott Moser
Trusty
Low
Unassigned
Vivid
Low
Unassigned
Wily
Medium
Scott Moser

Bug Description

The version in 14.04 is 1:1.2.7-1ubuntu1

There's an issue with reloading the configuration file, where the state of VRRP gets 'confused' (in lack of a better description), resulting in a floating IP being available on more than one host.

This issue seems to be fixed in 1.2.17. Since the package hasn't had an update in over 2 years, I kindly request it to be updated to at least 1.2.17

For more information, see http://www.keepalived.org/changelog.html

Extra info:
1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu

Description: Ubuntu 14.04.2 LTS
Release: 14.04

2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center

1:1.2.7-1ubuntu1

3) What you expected to happen

Keepalived config reloaded without interruption of services. VRRP should notice VIP being present on one host and do nothing.

4) What happened instead

Keepalived config was reloaded but VRRP decided to activate the VIP on the host that didn't have it previously. Resulting in routing errors etc.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in keepalived (Ubuntu Trusty):
status: New → Confirmed
Changed in keepalived (Ubuntu Vivid):
status: New → Confirmed
Changed in keepalived (Ubuntu):
status: New → Confirmed
Robie Basak (racb) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better.

In Ubuntu we do not update stable releases with new upstream versions in order to keep stable releases stable, and keepalived in Ubuntu does not currently have an exception on this. See https://wiki.ubuntu.com/StableReleaseUpdates for the policy and rationale.

We can still fix specific issues by backporting their fixes from newer upstream releases, so I'll turn this bug into one to track the specific issue you're facing.

We can have a separate bug to track the update of keepalived in the development release of Ubuntu (currently Wily) to a newer upstream release, but it doesn't sound like that'll help you since your focus is currently on 14.04.

summary: - please update keepalived to version 1.2.17 or higher
+ keepalived makes a floating IP available on more than one host after
+ configuration reload
tags: added: server-next
Robie Basak (racb) on 2015-08-11
Changed in keepalived (Ubuntu Wily):
assignee: nobody → Scott Moser (smoser)
Changed in keepalived (Ubuntu Vivid):
assignee: nobody → Scott Moser (smoser)
Changed in keepalived (Ubuntu Trusty):
assignee: nobody → Scott Moser (smoser)
Robie Basak (racb) on 2015-08-11
tags: removed: server-next
Scott Moser (smoser) wrote :

Hi, based on your statement:
 This issue seems to be fixed in 1.2.17
Combined with the fact that current wily version of keepalived is 1.2.19-1 , I'm marking this 'fix released' in wily.

As Robie suggested above, I'll see if we can cherry pick a patch for 14.04 and possibly 15.04.

Changed in keepalived (Ubuntu Wily):
status: Confirmed → Fix Released
importance: Undecided → Medium
Changed in keepalived (Ubuntu Trusty):
importance: Undecided → Medium
Changed in keepalived (Ubuntu Vivid):
importance: Undecided → Medium
Scott Moser (smoser) wrote :

So, just taking a look here, it seems not terribly trivial to cherry pick a fix back to trusty's 1.2.7, especially without a recreate description.

Looking at git changelogs, I suspect that your issue was intended to be fixed by:
  https://github.com/acassen/keepalived/commit/7bf6fc
But then that was referenced as a buggy commit in
   https://github.com/acassen/keepalived/commit/97eb4e

The code in ipwrapper.c seems to have been fairly volatile

Digging a bit, I put together a patch of the 2 commits above, but those
are dependent on other patches.
  90d4eee1 for realserver_t->reloaded and virtual_server_t->reloaded
  09de4419 for virtual_server_t->vsg

its probably possible to do this cherry pick, but at very least
its non-trivial.

Do you have a feeling or knowledge as to if I've identified the upstream fix correctly (7bf6fc)?

Scott Moser (smoser) wrote :

Hi,
  I've moved this to 'low' and un-assigned myself.
The easiest thing to do is probably to re-build your own newer version of keepalived if you're hitting this issue.

You can take the source version in wily and build it in a trusty ppa, or possibly even just install the wily deb in trusty.

Changed in keepalived (Ubuntu Trusty):
assignee: Scott Moser (smoser) → nobody
Changed in keepalived (Ubuntu Vivid):
assignee: Scott Moser (smoser) → nobody
Changed in keepalived (Ubuntu Trusty):
importance: Medium → Low
Changed in keepalived (Ubuntu Vivid):
importance: Medium → Low
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers