Files
tacker/doc/source/contributor/api_layer.rst
Nguyen Hai 009c9a59e6 Add module index for tacker docs
The module index for tacker docs is dropped due to new
PTI for building docs. However, sphinxcontrib.apidoc
now support to build autodoc which replace pbr autodoc.
We can have it again.

Closes-Bug: #1761923
Change-Id: Ie4c98dd6e8b365778cb0d2c377a9600d79cb43d1
2018-04-12 21:36:49 +09:00

2.1 KiB

Tacker WSGI/HTTP API layer

This section will cover the internals of Tacker's HTTP API, and the classes in Tacker that can be used to create Extensions to the Tacker API.

Python web applications interface with webservers through the Python Web Server Gateway Interface (WSGI) - defined in PEP 333

Startup

Tackers's WSGI server is started from the server module and the entry point serve_wsgi is called to build an instance of the TackerApiService, which is then returned to the server module, which spawns a Eventlet GreenPool that will run the WSGI application and respond to requests from clients.

WSGI Application

During the building of the TackerApiService, the _run_wsgi function creates a WSGI application using the load_paste_app function inside config.py - which parses api-paste.ini - in order to create a WSGI app using Paste's deploy.

The api-paste.ini file defines the WSGI applications and routes - using the Paste INI file format.

The INI file directs paste to instantiate the APIRouter class of Tacker, which contains several methods that map VNFM resources (such as vnfd, vnf) to URLs, and the controller for each resource.

Further reading

Tacker wsgi is based on neutron's extension. The following doc is still relevant.

Yong Sheng Gong: Deep Dive into Neutron