Hi Ajay:
Why contrail need to seperate the flow into
synchronous/asynchronous context?
在 2015年03月11日 10:08, Hampapur Ajay 写道:
Hi Yatin,
API-server has 2 contexts - a synchronous one (that receives a REST
request, stores in DB, sends notification on rabbit and returns) and
an asynchronous one(receives notification from rabbit, sends message
to be sent to ifmap and returns). This is so that all API-servers (in
HA/scaleout deployment) end up running same code in asynchronous
context to populate their local ifmap.
The code that handles notifications from rabbit is at
https://github.com/Juniper/contrail-controller/blob/master/src/config/api-server/vnc_cfg_ifmap.py#L929
if you haven't already gone through
https://github.com/Juniper/contrail-controller/wiki/OpenContrail-Internal-Services
might be useful.
Thanks
ajay
On Mar 10, 2015, at 5:20 AM, yatin kumbhare wrote:
Hello Folks,
I'm trying to understand vnc_cfg_api_server code.
Api-server publish data to if-map server over http connection.
<ifmap:publish session-id="428807018-796627615-267532699-1939915597"
><update lifetime="forever" ><identity
name="contrail:project:default-domain:demo" type="other"
other-type-definition="extended" /><identity
name="contrail:network-ipam:default-domain:demo:fake-ipam"
type="other" other-type-definition="extended"
/><metadata><contrail:project-network-ipam
ifmap-cardinality="singleValue"
></contrail:project-network-ipam></metadata></update></ifmap:publish>
Rabbitmq does create exchange/queue:
vnc_config.object-update / vnc_config.billy-8082
and publish data:
{'oper': 'CREATE', 'imid':
'contrail:network-ipam:default-domain:demo:fake-ipam', 'uuid':
'79e15bc3-6ed8-4572-95c0-9935c0cfddf9', 'parent_imid':
'contrail:project:default-domain:demo', 'request-id':
'req-d3b39091-12fa-4e6c-a840-8a0e29429645', 'type': 'network-ipam',
'obj_dict': {'fq_name': ['default-domain', 'demo', 'fake-ipam'],
'parent_uuid': 'e90dbf97-6d78-4dad-bbb6-dbfa3385b2c8', 'ipam_method':
None, 'parent_type': 'project', 'network_ipam_mgmt':
{'ipam_dns_method': 'default-dns-server', 'ipam_dns_server':
{'tenant_dns_server_address': {}, 'virtual_dns_server_name': None}},
'id_perms': {u'enable': True, u'uuid': {'uuid_mslong':
8782401643285595506L, 'uuid_lslong': 10790793163326873081L},
u'creator': None, u'created': '2015-03-10T11:15:36.873492',
u'user_visible': True, u'last_modified':
'2015-03-10T11:15:36.873492', u'permissions': {u'owner':
u'cloud-admin', u'owner_access': 7, u'other_access': 7, u'group':
'admin', u'group_access': 7}, u'description': None}, 'display_name':
'fake-ipam', 'virtual_DNS_refs': [], 'uuid':
'79e15bc3-6ed8-4572-95c0-9935c0cfddf9'}}
I'm unable to locate the code, which is consumer for this rabbit message.
Can somebody please explain, the role of rabbitmq in config-node and
reference to code?
Regards,
Yatin
_______________________________________________
Dev mailing list
[email protected] <mailto:[email protected]>
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org
_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org
_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org