Activity log for bug #1211876

Date Who What changed Old value New value Message
2013-08-13 16:49:48 Peter Matulis bug added bug
2013-08-14 16:41:11 Adam Stokes nominated for series Ubuntu Precise
2013-08-14 16:41:11 Adam Stokes nominated for series Ubuntu Quantal
2013-08-14 16:41:11 Adam Stokes nominated for series Ubuntu Raring
2013-08-14 16:41:23 Adam Stokes summary [Precise] keepalived reload buggy keepalived reload buggy
2013-08-14 16:41:53 Adam Stokes bug added subscriber Adam Stokes
2013-08-20 13:53:45 Adam Stokes keepalived (Ubuntu): importance Undecided High
2013-08-20 13:54:38 Chris J Arges bug task added keepalived (Ubuntu Precise)
2013-08-20 13:54:46 Chris J Arges bug task added keepalived (Ubuntu Quantal)
2013-08-20 13:54:56 Chris J Arges bug task added keepalived (Ubuntu Raring)
2013-08-22 01:13:23 Launchpad Janitor keepalived (Ubuntu): status New Confirmed
2013-08-22 01:13:23 Launchpad Janitor keepalived (Ubuntu Precise): status New Confirmed
2013-08-22 01:13:23 Launchpad Janitor keepalived (Ubuntu Quantal): status New Confirmed
2013-08-22 01:13:23 Launchpad Janitor keepalived (Ubuntu Raring): status New Confirmed
2013-08-22 01:16:16 Takuma Watanabe bug added subscriber Takuma Watanabe
2013-08-27 04:03:54 Koji Iida bug added subscriber Koji Iida
2013-09-27 15:06:57 Adam Stokes keepalived (Ubuntu Precise): assignee Adam Stokes (adam-stokes)
2013-09-27 15:07:01 Adam Stokes keepalived (Ubuntu Quantal): assignee Adam Stokes (adam-stokes)
2013-09-27 15:07:04 Adam Stokes keepalived (Ubuntu Raring): assignee Adam Stokes (adam-stokes)
2013-09-27 15:59:27 Adam Stokes description There are at least 2 identified problems with keepalived on Precise when trying to reload the configuration (/etc/keepalived/keepalived.conf): (a) The removal of a server from the cluster does not work when the port of that server is in use by another member server (b) The change of weight of a cluster member does not work Reload is done by either: 1. sudo service keepalived reload 2. sudo kill -HUP `pidof keepalived` The upstream devel list suggests that issue (a) [1] has been resolved in version 1.2.3 which is currently only in Debian unstable via version 1.2.7. I can't find the actual bug supposedly filed by 'Ronie Gilberto Henrich'. I have not tested 1.2.7 as it is not easily available to me. The pertinent entry for (a) in the upstream changelog [2] I believe is here: {{{ * check : Fix IPv4 address comparison routine. }}} This bug is a request to have fixes for both issues ([3] for (a)) introduced into Ubuntu 12.04. [1]: http://comments.gmane.org/gmane.linux.keepalived.devel/3708 [2]: http://www.keepalived.org/changelog.html [3]: https://github.com/acassen/keepalived/commit/e7931c851ecd359379c6bbc5b39287e36cbfbf25 [Impact] There are at least 2 identified problems with keepalived on Precise when trying to reload the configuration (/etc/keepalived/keepalived.conf): (a) The removal of a server from the cluster does not work when the port of that server is in use by another member server (b) The change of weight of a cluster member does not work Reload is done by either: 1. sudo service keepalived reload 2. sudo kill -HUP `pidof keepalived` The upstream devel list suggests that issue (a) [1] has been resolved in version 1.2.3 which is currently only in Debian unstable via version 1.2.7. I can't find the actual bug supposedly filed by 'Ronie Gilberto Henrich'. I have not tested 1.2.7 as it is not easily available to me. The pertinent entry for (a) in the upstream changelog [2] I believe is here: {{{ * check : Fix IPv4 address comparison routine. }}} This bug is a request to have fixes for both issues ([3] for (a)) introduced into Ubuntu 12.04. [1]: http://comments.gmane.org/gmane.linux.keepalived.devel/3708 [2]: http://www.keepalived.org/changelog.html [3]: https://github.com/acassen/keepalived/commit/e7931c851ecd359379c6bbc5b39287e36cbfbf25 [Test Case] (a) Stop keepalived $ sudo service keepalived stop (b) Begin with a simple configuration file (attached: keepalived.conf) $ cat keepalived.conf | sudo tee /etc/keepalived/keepalived.conf $ sudo service keepalived start $ sudo ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 (c) Add a stanza to the configuration file (a server with a port that is in use by another server) -------------- real_server 192.168.1.103 8080 { weight 1 inhibit_on_failure } -------------- (d) Reload the configuration $ sudo service keepalived reload $ sudo ipvsadm -Ln -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8080 Masq 1 0 0 -------------- (e) Remove the .103 stanza (f) Perform step (d) above -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8080 Masq 1 0 0 -------------- Note the .103 server remains. 4B. Steps to Reproduce issue #2: (a) Perform steps (a) and (b) from 4A (b) Edit a stanza in the configuration file (change weight from '1' to '0' in the .102 server) -------------- real_server 192.168.1.102 8080 { weight 0 inhibit_on_failure } -------------- (c) Perform step (d) from 4A -------------- P Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the original weight of '1' for .102 server remains. 4C. Steps to Counterprove issue #1: (a) Perform steps (a) and (b) from 4A (b) Add a stanza to the configuration file (a server with a port that is not in use by another server) -------------- real_server 192.168.1.103 8081 { weight 1 inhibit_on_failure } -------------- (c) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8081 Masq 1 0 0 -------------- (d) Remove the .103 stanza from the configuration file (e) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the .103 server does not remain. 5. Known Workaround: - Restart the daemon: $ sudo service keepalived restart OR - Manage the daemon with ipvsadm: (a) Add a server $ sudo ipvsadm -a -t 192.168.0.100:80 -r 192.168.1.103:8080 -m (b) Edit a server (change weight) $ sudo ipvsadm -e -t 192.168.0.100:80 -r 192.168.1.103:8080 -m -w 0 (c) Delete a server $ sudo ipvsadm -d -t 192.168.0.100:80 -r 192.168.1.103:8080 [Regression Potential] This introduces the proper behavior for comparing ipv4 addresses. We may see issues where keepalived was working in an environment and after upgrade fails. This probably indicates that the environment may have issues outside of keepalived as the previous behavior was incorrect.
2013-09-27 15:59:58 Adam Stokes attachment added keepalived_1.2.2-3ubuntu1.1.precise.debdiff https://bugs.launchpad.net/ubuntu/+source/keepalived/+bug/1211876/+attachment/3845140/+files/keepalived_1.2.2-3ubuntu1.1.precise.debdiff
2013-09-27 16:00:16 Adam Stokes attachment added keepalived_1.2.2-3ubuntu2.12.10.1.quantal.debdiff https://bugs.launchpad.net/ubuntu/+source/keepalived/+bug/1211876/+attachment/3845142/+files/keepalived_1.2.2-3ubuntu2.12.10.1.quantal.debdiff
2013-09-27 16:00:30 Adam Stokes attachment added keepalived_1.2.2-3ubuntu2.13.04.1.raring.debdiff https://bugs.launchpad.net/ubuntu/+source/keepalived/+bug/1211876/+attachment/3845143/+files/keepalived_1.2.2-3ubuntu2.13.04.1.raring.debdiff
2013-09-27 16:00:51 Adam Stokes bug added subscriber Ubuntu Sponsors Team
2013-09-27 16:00:55 Adam Stokes bug added subscriber Ubuntu Stable Release Updates Team
2013-09-27 16:01:15 Adam Stokes summary keepalived reload buggy keepalived reload buggy due to improper ipv4 address comparison
2013-09-27 17:50:38 Peter Matulis description [Impact] There are at least 2 identified problems with keepalived on Precise when trying to reload the configuration (/etc/keepalived/keepalived.conf): (a) The removal of a server from the cluster does not work when the port of that server is in use by another member server (b) The change of weight of a cluster member does not work Reload is done by either: 1. sudo service keepalived reload 2. sudo kill -HUP `pidof keepalived` The upstream devel list suggests that issue (a) [1] has been resolved in version 1.2.3 which is currently only in Debian unstable via version 1.2.7. I can't find the actual bug supposedly filed by 'Ronie Gilberto Henrich'. I have not tested 1.2.7 as it is not easily available to me. The pertinent entry for (a) in the upstream changelog [2] I believe is here: {{{ * check : Fix IPv4 address comparison routine. }}} This bug is a request to have fixes for both issues ([3] for (a)) introduced into Ubuntu 12.04. [1]: http://comments.gmane.org/gmane.linux.keepalived.devel/3708 [2]: http://www.keepalived.org/changelog.html [3]: https://github.com/acassen/keepalived/commit/e7931c851ecd359379c6bbc5b39287e36cbfbf25 [Test Case] (a) Stop keepalived $ sudo service keepalived stop (b) Begin with a simple configuration file (attached: keepalived.conf) $ cat keepalived.conf | sudo tee /etc/keepalived/keepalived.conf $ sudo service keepalived start $ sudo ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 (c) Add a stanza to the configuration file (a server with a port that is in use by another server) -------------- real_server 192.168.1.103 8080 { weight 1 inhibit_on_failure } -------------- (d) Reload the configuration $ sudo service keepalived reload $ sudo ipvsadm -Ln -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8080 Masq 1 0 0 -------------- (e) Remove the .103 stanza (f) Perform step (d) above -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8080 Masq 1 0 0 -------------- Note the .103 server remains. 4B. Steps to Reproduce issue #2: (a) Perform steps (a) and (b) from 4A (b) Edit a stanza in the configuration file (change weight from '1' to '0' in the .102 server) -------------- real_server 192.168.1.102 8080 { weight 0 inhibit_on_failure } -------------- (c) Perform step (d) from 4A -------------- P Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the original weight of '1' for .102 server remains. 4C. Steps to Counterprove issue #1: (a) Perform steps (a) and (b) from 4A (b) Add a stanza to the configuration file (a server with a port that is not in use by another server) -------------- real_server 192.168.1.103 8081 { weight 1 inhibit_on_failure } -------------- (c) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -> 192.168.1.103:8081 Masq 1 0 0 -------------- (d) Remove the .103 stanza from the configuration file (e) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr -> 192.168.1.101:8080 Masq 1 0 0 -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the .103 server does not remain. 5. Known Workaround: - Restart the daemon: $ sudo service keepalived restart OR - Manage the daemon with ipvsadm: (a) Add a server $ sudo ipvsadm -a -t 192.168.0.100:80 -r 192.168.1.103:8080 -m (b) Edit a server (change weight) $ sudo ipvsadm -e -t 192.168.0.100:80 -r 192.168.1.103:8080 -m -w 0 (c) Delete a server $ sudo ipvsadm -d -t 192.168.0.100:80 -r 192.168.1.103:8080 [Regression Potential] This introduces the proper behavior for comparing ipv4 addresses. We may see issues where keepalived was working in an environment and after upgrade fails. This probably indicates that the environment may have issues outside of keepalived as the previous behavior was incorrect. [Impact] There are at least 2 identified problems with keepalived on Precise when trying to reload the configuration (/etc/keepalived/keepalived.conf): (a) The removal of a server from the cluster does not work when the port of that server is in use by another member server (b) The change of weight of a cluster member does not work Reload is done by either: 1. sudo service keepalived reload 2. sudo kill -HUP `pidof keepalived` The upstream devel list suggests that issue (a) [1] has been resolved in version 1.2.3 which is currently only in Debian unstable via version 1.2.7. I can't find the actual bug supposedly filed by 'Ronie Gilberto Henrich'. I have not tested 1.2.7 as it is not easily available to me. The pertinent entry for (a) in the upstream changelog [2] I believe is here: {{{ * check : Fix IPv4 address comparison routine. }}} This bug is a request to have fixes for both issues ([3] for (a)) introduced into Ubuntu 12.04. [1]: http://comments.gmane.org/gmane.linux.keepalived.devel/3708 [2]: http://www.keepalived.org/changelog.html [3]: https://github.com/acassen/keepalived/commit/e7931c851ecd359379c6bbc5b39287e36cbfbf25 [Test Case] 4A. Steps to reproduce issue #1: (a) Stop keepalived $ sudo service keepalived stop (b) Begin with a simple configuration file (attached: keepalived.conf) $ cat keepalived.conf | sudo tee /etc/keepalived/keepalived.conf $ sudo service keepalived start $ sudo ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0 (c) Add a stanza to the configuration file (a server with a port that is in use by another server) --------------     real_server 192.168.1.103 8080 {         weight 1         inhibit_on_failure     } -------------- (d) Reload the configuration $ sudo service keepalived reload $ sudo ipvsadm -Ln -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0   -> 192.168.1.103:8080 Masq 1 0 0 -------------- (e) Remove the .103 stanza (f) Perform step (d) above -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0   -> 192.168.1.103:8080 Masq 1 0 0 -------------- Note the .103 server remains. 4B. Steps to reproduce issue #2: (a) Perform steps (a) and (b) from 4A (b) Edit a stanza in the configuration file (change weight from '1' to '0' in the .102 server) --------------     real_server 192.168.1.102 8080 {         weight 0         inhibit_on_failure     } -------------- (c) Perform step (d) from 4A -------------- P Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the original weight of '1' for .102 server remains. 4C. Steps to counterprove issue #1: (a) Perform steps (a) and (b) from 4A (b) Add a stanza to the configuration file (a server with a port that is not in use by another server) --------------     real_server 192.168.1.103 8081 {         weight 1         inhibit_on_failure     } -------------- (c) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0   -> 192.168.1.103:8081 Masq 1 0 0 -------------- (d) Remove the .103 stanza from the configuration file (e) Perform step (d) from 4A -------------- IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.0.100:80 wrr   -> 192.168.1.101:8080 Masq 1 0 0   -> 192.168.1.102:8080 Masq 1 0 0 -------------- Note the .103 server does not remain. 5. Known Workaround: - Restart the daemon: $ sudo service keepalived restart OR - Manage the daemon with ipvsadm: (a) Add a server $ sudo ipvsadm -a -t 192.168.0.100:80 -r 192.168.1.103:8080 -m (b) Edit a server (change weight) $ sudo ipvsadm -e -t 192.168.0.100:80 -r 192.168.1.103:8080 -m -w 0 (c) Delete a server $ sudo ipvsadm -d -t 192.168.0.100:80 -r 192.168.1.103:8080 [Regression Potential] This introduces the proper behavior for comparing ipv4 addresses. We may see issues where keepalived was working in an environment and after upgrade fails. This probably indicates that the environment may have issues outside of keepalived as the previous behavior was incorrect.
2013-10-02 14:57:02 Adam Stokes keepalived (Ubuntu): status Confirmed Fix Released
2013-10-03 15:30:55 Adam Stokes keepalived (Ubuntu Quantal): importance Undecided High
2013-10-03 15:30:57 Adam Stokes keepalived (Ubuntu Raring): importance Undecided High
2013-10-03 15:31:00 Adam Stokes keepalived (Ubuntu Precise): importance Undecided High
2013-10-03 21:42:57 Brian Murray keepalived (Ubuntu Raring): status Confirmed Fix Committed
2013-10-03 21:43:01 Brian Murray bug added subscriber SRU Verification
2013-10-03 21:43:11 Brian Murray tags verification-needed
2013-10-03 21:46:50 Brian Murray keepalived (Ubuntu Quantal): status Confirmed Fix Committed
2013-10-03 21:49:25 Brian Murray keepalived (Ubuntu Precise): status Confirmed Fix Committed
2013-10-03 21:49:28 Launchpad Janitor branch linked lp:ubuntu/raring-proposed/keepalived
2013-10-03 21:54:52 Launchpad Janitor branch linked lp:ubuntu/precise-proposed/keepalived
2013-10-03 21:55:04 Launchpad Janitor branch linked lp:~ubuntu-branches/ubuntu/quantal/keepalived/quantal-proposed
2013-10-04 00:09:35 Peter Matulis tags verification-needed verification-done-precise verification-needed
2013-10-04 00:50:19 Peter Matulis tags verification-done-precise verification-needed verification-done-precise verification-done-quantal verification-needed
2013-10-04 06:36:34 Nec bug added subscriber Nec
2013-10-04 13:08:02 Peter Matulis attachment added keepalived_raring.png https://bugs.launchpad.net/ubuntu/+source/keepalived/+bug/1211876/+attachment/3859403/+files/keepalived_raring.png
2013-10-11 13:42:08 Marc Deslauriers removed subscriber Ubuntu Sponsors Team
2013-10-15 13:46:24 Peter Matulis tags verification-done-precise verification-done-quantal verification-needed verification-done-precise verification-done-quantal verification-done-raring
2013-10-17 16:18:53 Launchpad Janitor keepalived (Ubuntu Raring): status Fix Committed Fix Released
2013-10-17 16:18:57 Brian Murray removed subscriber Ubuntu Stable Release Updates Team
2013-10-17 16:23:52 Launchpad Janitor keepalived (Ubuntu Quantal): status Fix Committed Fix Released
2013-10-17 16:24:16 Launchpad Janitor keepalived (Ubuntu Precise): status Fix Committed Fix Released
2013-10-18 00:19:30 Simon Déziel bug added subscriber Simon Déziel