Contrail 3.1 : Need to upgrade the keepalived package to 1.2.20 or beyond
Bug #1725461 reported by
vivekananda shenoy
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.21.x |
Fix Committed
|
Critical
|
amudhar | |||
R3.1 |
Fix Committed
|
High
|
amudhar | |||
R3.2 |
Fix Committed
|
High
|
amudhar | |||
R4.0 |
Fix Committed
|
High
|
amudhar | |||
R4.1 |
Fix Committed
|
High
|
amudhar | |||
Trunk |
Fix Committed
|
High
|
amudhar |
Bug Description
Customer ran into this issue of VRRP hello packet broadcast storm where they by mistake configured same VRRP VRID for both internal and external VIP subnet which resulted in broadcast storm.
Apparently keepalived 1.2.20 has a fix for this issue where it will ensure that VRRP VRID remains unique on different interfaces (search for "vrrp: Generate unique default VMAC interface names." in http://
Regards,
Vivek
Changed in juniperopenstack: | |
assignee: | nobody → amudhar (amudha) |
milestone: | none → r3.1.4.0 |
information type: | Proprietary → Public |
description: | updated |
To post a comment you must log in.
Hi Amudha,
This is the complete description of keepalived issue as described by NTTC. Please make sure that whatever keepalived version we are planning to use in the fixed build has the fix for this issue. Just want to be double sure.
===================
Hi Toby-san,
As for issue 1, I tested this in my lab, and confirmed VRRP flood was caused by the wrong definition in testbed.py like below.
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------
env.roledefs = {
'all': [host1, host2, host3, host4, host5, host6, host7, host8, host9],
'cfgm': [host1, host2, host3],
'control': [host1, host2, host3],
'webui': [host1, host2, host3],
'collector': [host4, host5, host6],
'database': [host7, host8, host9],
'openstack': [openstack],
'compute': [tsn1, tsn2, compute1, compute2],
'tsn': [tsn1, tsn2],
'toragent': [tsn1, tsn2],
'build': [host_build],
:
}
control_data = {
#host1: {'ip': '192.168.0.131/24', 'gw': '192.168.0.1', 'device': 'eth1'}, <<< commented out
#host2: {'ip': '192.168.0.132/24', 'gw': '192.168.0.1', 'device': 'eth1'}, <<< commented out
#host3: {'ip': '192.168.0.133/24', 'gw': '192.168.0.1', 'device': 'eth1'}, <<< commented out
host4: {'ip': '192.168.0.134/24', 'gw': '192.168.0.1', 'device': 'eth1'},
host5: {'ip': '192.168.0.135/24', 'gw': '192.168.0.1', 'device': 'eth1'},
host6: {'ip': '192.168.0.136/24', 'gw': '192.168.0.1', 'device': 'eth1'},
host7: {'ip': '192.168.0.137/24', 'gw': '192.168.0.1', 'device': 'eth1'},
host8: {'ip': '192.168.0.138/24', 'gw': '192.168.0.1', 'device': 'eth1'},
host9: {'ip': '192.168.0.139/24', 'gw': '192.168.0.1', 'device': 'eth1'},
:
}
env.ha = {
'contrail_ internal_ vip': '192.168.0.110',
'contrail_ external_ vip': '10.0.0.110',
'contrail_ internal_ virtual_ router_ id': 110,
'contrail_ external_ virtual_ router_ id': 110,
}
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------
With this testbed.py, setup_contrail_ keepalived task passed wrong arguments to setup-vnc- keepalived.
Usually, self_ip and internal_vip address must be on the same network, but different with this case.
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------
root@sv- 31:/opt/ contrail/ utils# grep -E "setup_ contrail_ keepalived| setup-vnc- keepalived" setup_without_ openstack_ and_compute_ 2017_10_ 21_13_54_ 06_540732. log
2017-10-21 13:54:14:352328: [root@10.0.0.131] Executing task 'setup_ contrail_ keepalived'
2017-10-21 13:54:15:068439: [root@10.0.0.131] sudo: setup-vnc- keepalived --self_ip 10.0.0.131 --internal_vip 192.168.0.110 --mgmt_self_ip 10.0.0.131 --self_index 1 --num_nodes 3 --role cfgm --internal_ virtual_ router_ id 110 --external_vip 10.0.0.110 --external_ virtual_ router_ id 110
2017-10-21 13:54:16:991731: [root@10.0.0.132] Executing task 'setup_ contrail_ keepalived'
2017-10-21 13:54:19:794308: [root@10.0.0.132] sudo: setup-vnc- keepalived --self_ip 10.0.0.132 --internal_vip 192.168.0.110 --mgmt_self_ip 10.0.0.132 --self_index 2 --num_nodes 3 --role cfgm --internal_ virtual_ router_ id 110 --external_vip 10.0.0...