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

Bug #1481337 reported by Leon Keijser
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
keepalived (Ubuntu)
Fix Released
Medium
Scott Moser
Trusty
Won't Fix
Low
Unassigned
Vivid
Won't Fix
Low
Unassigned
Wily
Fix Released
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.

Revision history for this message
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
Revision history for this message
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)
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)
tags: removed: server-next
Revision history for this message
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
Revision history for this message
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)?

Revision history for this message
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
Revision history for this message
Miriam España Acebal (mirespace) wrote :

Hi,

I came across this bug while doing a cleanup of old bugs (very old indeed). I took a look at what @smoser researched.

In the changelog of the requested version (1.2.17), there are 45 entries related to changes affecting VRRP: some are clearly not related to this bug, but some are not. Without steps to reproduce the issue is difficult to pick the correct fix (for me, in fact, I'll choose a different one than the one Scott chose -9fd19bf4e2cd271c2cebb546e9224f892cb88739-).

Please, provide all information you can give about this bug (steps to reproduce it, logs, errors/warning messages, configuration, ...). Until then, I'll mark this bug as "Incomplete" and you can change the bug status back to "New" when you provide that information.

Thanks in advance for taking the time on this.

Changed in keepalived (Ubuntu Trusty):
status: Confirmed → Incomplete
Changed in keepalived (Ubuntu Vivid):
status: Confirmed → Incomplete
Revision history for this message
Miriam España Acebal (mirespace) wrote :

Hi again,

by the way, Trusty reached EOSS (End of Standard Support) so I'm afraid it can't be fixed. It is unfortunate that we were unable to resolve this defect, however, there appears to be no further action possible at this time because it's not a security bug.

As the bug is solved in higher versions that are already incorporated to Ubuntu's newest series, I'll mark the bug as "Won't fix". Please, feel free to mark it as "New" if you consider the bug is affecting current versions.

Changed in keepalived (Ubuntu Vivid):
status: Incomplete → Won't Fix
Changed in keepalived (Ubuntu Trusty):
status: Incomplete → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.