[openstack-dev] [Quantum] API call and response in Quantum ?

udit anand uditanan7 at gmail.com
Wed Apr 17 11:06:24 UTC 2013


Hi,

I want to know when a api call such as GET /v2.0/networks Accept:
application/json is made how and where does the server interpret it and
respond to it.

I have been looking in the source code and this is what i have found. The
server file at
https://github.com/openstack/quantum/blob/master/bin/quantum-server starts
the server.

Then the flow goes to the file service.py (
https://github.com/openstack/quantum/blob/master/quantum/service.py)

Here the wsgi server is started at line # 104 and consequently the Quantum
Service is started. All this is done with the aid of wsgi.py (
https://github.com/openstack/quantum/blob/master/quantum/wsgi.py).

So now the quantum service has started. I checked the log information to
verify.

What i want to know is if i make a request such as get network list *GET
/v2.0/networks Accept: application/json*

what would be the flow of that. As asked above how would the Quantum server
now read it interpret it and respond to it.

So far after this is what i have found out. In the wsgi.py (Same location
as above) the request could go to Class Request (line # 266) As this would
determine the most acceptable content-type, Accept* headers in the scenario
described above.

Based on the request it would use the Router class (line # 904). As this,
helps to maps incoming requests to WSGI app.

Then there is the attributes.py (
https://github.com/openstack/quantum/blob/master/quantum/api/v2/attributes.py).
This helps to form the response for resources like network, port and
subnet. It has the resource attribute map (line # 475) which composes the
response for network, port or subnet

Also there is the router.py(
https://github.com/openstack/quantum/blob/master/quantum/api/v2/router.py)
which has the class Api Router(line # 68). From its description it should
route the api requests to its core functions.

Here is where i am lost. I don't have a clear idea how do these relate and
work . Any help on this would be appreciated. Thank you.


Udit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20130417/3bb4cc30/attachment.html>


More information about the OpenStack-dev mailing list