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

Reply via email to