Merge pull request #1486 from remibergsma/reimplement-vrrp-setting-47

Reimplement router.redundant.vrrp.interval settingGlobal setting 
`router.redundant.vrrp.interval` is not used any more and it is now set to a 
hardcoded 1.

This results in a failover from master->backup when the backup doesn't hear 
from the master in ~3.6sec. This is a bit too tight, as we've seen failovers 
during live migrations. We could reproduce it in about half of the cases. 
Setting this to setting to 2 (tested it by hardcoding it in the systemvms) 
gives twice as much time and we didn't see issues any more. Instead of updating 
the hardcoded setting from 1 to 2, I reimplemented the global setting by 
sending it to the router with the cmd_line, as the non-VPC router also does.

Background:
Why is the maximum failover time in the example 3.6 seconds? This comes from 
the advertisement interval and the skew time. The default advertisement 
interval is 1 second (configurable in keepalived.conf). The skew time helps to 
keep everyone from trying to transition at once. It is a number between 0 and 
1, based on the formula (256 - priority) / 256

As defined in the RFC, the backup must receive an advertisement from the master 
every (3 * advert_int) + skew_time seconds. If it doesn't hear anything from 
the master, it takes over. With a backup router priority of 100 (as in the 
example), the failover will happen at most 3.6 seconds after the master goes 
down.

Source: http://www.hollenback.net/KeepalivedForNetworkReliability

* pr/1486:
  Configure rVPC for router.redundant.vrrp.interval advert_int setting
  Have rVPCs use the router.redundant.vrrp.interval setting

Signed-off-by: Will Stevens <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ebc70a51
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ebc70a51
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ebc70a51

Branch: refs/heads/4.8
Commit: ebc70a51e2c56de6902be7633237613fe8c2df74
Parents: 9a20ab8 9c0eee4
Author: Will Stevens <[email protected]>
Authored: Wed May 18 15:52:38 2016 -0400
Committer: Will Stevens <[email protected]>
Committed: Wed May 18 15:52:38 2016 -0400

----------------------------------------------------------------------
 .../cloud/network/router/VirtualNetworkApplianceManagerImpl.java | 3 +++
 systemvm/patches/debian/config/opt/cloud/bin/cs/CsDatabag.py     | 4 ++++
 systemvm/patches/debian/config/opt/cloud/bin/cs/CsFile.py        | 1 +
 systemvm/patches/debian/config/opt/cloud/bin/cs/CsRedundant.py   | 3 +++
 4 files changed, 11 insertions(+)
----------------------------------------------------------------------


Reply via email to