Hello
In 2.20, we made the virtual_router_id to be configurable to facilitate running
two Contrail clusters in the same L2 domain (previously, conflicts arose when
the same virtual_router_id was used for the two clusters in the same L2 domain)
You can configure the virtual router id’s in testbed.py as follows (example
below)
#env.ha = {
# 'internal_vip' : '1.1.1.100', #Internal Virtual IP of the
openstack HA Nodes.
# 'external_vip' : '2.2.2.200', #External Virtual IP of the
openstack HA Nodes.
# 'contrail_internal_vip' : '1.1.1.10', #Internal Virtual IP of the
contrail HA Nodes.
# 'contrail_external_vip' : '2.2.2.20', #External Virtual IP of the
contrail HA Nodes.
# 'nfs_server' : '3.3.3.3', #IP address of the NFS
Server which will be mounted to /var/lib/glance/images of openstack Node,
Defaults to env.roledefs['compute'][0]
# 'nfs_glance_path' : '/var/tmp/images/', #NFS Server path to save
images, Defaults to /var/tmp/glance-images/
# 'internal_virtual_router_id' : 180, #Default = 100
# 'external_virtual_router_id' : 190, #Default = 100
# 'contrail_internal_virtual_router_id' : 200, #Default = 100
# 'contrail_external_virtual_router_id' : 210, #Default = 100
#}
However, these values are configured to default to 100 if they were not
configured in testbed.py. The code is there in R2.20 but I don’t know why it
did not work in your setup. Let me test it to see what happens when I don’t
give any of these fields in testbed.py.
To fix this, edit /etc/keepalived/keepalived.conf and change the
virtual_router_id to an unique number in all the three controllers (same
virtual_router_id) and restart keepalived using “service keepalived restart”.
Hope that helps!
Ranjeet
From: Dev [mailto:[email protected]] On Behalf Of
[email protected]
Sent: Tuesday, August 25, 2015 12:43 AM
To: dev <[email protected]>
Subject: [opencontrail-dev] fabric error in config keepalive component in
opencontrail-2.20 HA feature
Hi,
I found that HA feature in opencontrail 2.20 can't be installed successfully.
can't find the VIP.
in further research, I found 'virtual_router_id' of vrrp instance in
/etc/keepalived/keepalived.conf is set to be "None",
then find the code in contrail-2.01:
contrail_provisioning/common/keepalived_setup.py
if vip_name == 'INTERNAL':
router_id = 101
if 'openstack' in self._args.role:
router_id = 100
external_device = internal_device
else:
router_id = 201
if 'openstack' in self._args.role:
router_id = 200
but in the new version
if vip_name == 'INTERNAL':
router_id = self._args.internal_virtual_router_id
external_device = internal_device
else:
router_id = self._args.external_virtual_router_id
it needs to be identify in fabfile/tasks/ha.py:
with cd(INSTALLER_DIR):
cmd = "setup-vnc-keepalived\
--self_ip %s --internal_vip %s --mgmt_self_ip %s\
--self_index %d --num_nodes %d --role %s" % ( self_ip,
internal_vip, mgmt_ip, (keepalived_host_list.index(self_host) +
1),
len(env.roledefs[role]), role)
if external_vip:
cmd += ' --external_vip %s' % external_vip
sudo(cmd)
but there is no "--internal_virtual_router_id" or
"--external_virtual_router_id" in param ,
so "vrouter_id" should be defined in testbed.py ?
________________________________
CertusNet
赛特斯信息科技股份有限公司
龚瑞涛 | 高级软件工程师
上海市杨浦区国泰路11号复旦科技园大厦20层
电话:021 6109 6070 �C8004
手机:156 1895 8005
公司网址:www.certusnet.com<http://www.certusnet.com>
_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org