GitHub user wilderrodrigues opened a pull request: https://github.com/apache/cloudstack/pull/587
CLOUDSTACK-8616: Redundant VPR with both routers as Master This PR contains some refactoring of the Python code used by the redundant routers and also a fix for the intermittent problem when running the rVPC component tests. To summarise it: * If the KeepaloiveD configuration file changes, restart the service instead of reloading it. * Since we are configuring KeepaliveD/VRRP in no-preemptive mode, we no longer need priorities. As a matter of fact, the Management Server was not sending priorities to the routers anymore. The value used in the old configuration was defaulted to 99 in the Python code. * KeepaliveD and ConntractD, once configured in a router, will have a cronjob that will run on reboot. So, the services will be restarted without the need to wait for the management server to send some configuration and force a restart. * Installing KeepaliveD from Wheezy-Backports in order to have a newer version available. I already squashed few commits of this PR so we wouldn't have to go through simple fixes/typos that happened during the tryouts. When opening the commits for review please note that the commit messages also contain the messages of the squashed commits. Adding the cronjob to restart the KeepaliveD service on reboot helped to get a 60% success rate with the tests. Before that, the tests were failing very often: 4 out of 5 times. I then added the "restart" when configuration changes instead of "reload". Once the change was applied, I successfully executed the tests 13 times. That gives confidence. Tests can be executed with the following command: nosetests --with-marvin --marvin-config=[your_configuration_file] -s -a tags=advanced,required_hardware=true component/test_vpc_redundant.py Since there were changes on marvin/base.py - in the previous PR, you will need to build/upgrade your Marvin installation. @DaanHoogland @bhaisaab @remibergsma, could you please have a look at this PR? Cheers, Wilder You can merge this pull request into a Git repository by running: $ git pull https://github.com/schubergphilis/cloudstack fix/CLOUDSTACK-8616 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cloudstack/pull/587.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #587 ---- commit c35c6661696ab3c3c1ddfb6794bd293a76b2463b Author: wilderrodrigues <wrodrig...@schubergphilis.com> Date: 2015-07-08T05:24:35Z CLOUDSTACK-8616 - Removing the Priority form KeepaliveD configuration - We use no preempt mode with state set as EQUAL to both nodes, no need to have Priotities setup - Do not add IPs as comments to the configuration. If a new guest interface is added, the file will change anyway. - This was used in the past when keepalived would restart for each new interface added - Removed the long sleep form the tests: we now sleep 5 seconds per PF rule added CLOUDSTACK-8616 - Fix keepalived.ts/2 files comparison - Add call to set_fault() in case of router transits to that state - Removing commented out code CLOUDSTACK-8616 - Fixing check_heartbeat.sh.templ CLOUDSTACK-8616 - Call set_fault from the check_heartbeat.sh script commit c975185318cbfd00e9d5e346b4fc9ea2c76e8098 Author: wilderrodrigues <wrodrig...@schubergphilis.com> Date: 2015-07-09T09:40:32Z CLOUDSTACK-8616 - Add keepalived start on reboot - Runs check_heartbeat.sh every 30 seconds CLOUDSTACK-861 - Copy/Paste error - Paste the wrong command in the crontab line. commit c20b5f3ff1e56b4db296bd2ec46f0cd8ed538b29 Author: wilderrodrigues <wrodrig...@schubergphilis.com> Date: 2015-07-10T06:41:28Z CLOUDSTACK-8616 - Installing KeepaliveD from Debian Wheezy backports - preempt delay reverted on version 1.2.13 - from the backports - vrrp : Revert "Honor preempt_delay setting on startup.". - See changelog: http://www.keepalived.org/changelog.html - Refactoring some variable names to avoid misunderstanding commit 118d7b79f4f5f15a9931ff1cc6e2cc91a562ee11 Author: wilderrodrigues <wrodrig...@schubergphilis.com> Date: 2015-07-13T17:29:41Z CLOUDSTACK-8616 - Add a cron job to restart ConntrackD on reboot ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---