governance/goals/pike/deploy-api-in-wsgi.rst

510 lines
6.0 KiB
ReStructuredText

.. -*- mode: rst -*-
================================================
Control Plane API endpoints deployment via WSGI
================================================
In some projects, API services can be run:
#. As a Python command that runs a web server (e.g. wsgiref or werkzeug).
#. As a WSGI application hosted by performant web servers (e.g. Apache with
mod_wsgi or Nginx with uWSGI).
When a project provides a WSGI application the API service gains flexibility
in terms of deployment, performance, configuration and scaling.
Gerrit Topic
============
To facilitate tracking, commits related to this goal should use the
gerrit topic::
goal-deploy-api-in-wsgi
Completion Criteria
===================
For all projects:
#. Provide WSGI application script file(s) (e.g. to be used by web server).
There shouldn't be any web server restriction and the application could be
deploying to any web server that support WSGI applications.
#. Switch devstack jobs to deploy control-plane API services in WSGI with Apache.
Usage of Apache is already the default in Devstack, let's keep using it
for consistency unless there is some efforts to support another web server but
this is not the case at this time.
References
==========
Reference documentation for the existing WSGI deployments:
* http://docs.openstack.org/developer/keystone/apache-httpd.html
* http://docs.openstack.org/developer/ceilometer/install/mod_wsgi.html
Current State / Anticipated Impact
==================================
On 12 Jan 2017 a review of git repositories owned by big tent project
showed the projects that don't support their control-plane API services deployed
via WSGI:
.. (emilien) I built this list based on my research. Please comment if
something is wrong or missing.
This list reflects the projects where API can't be deployed via WSGI.
* cloudkitty
* congress
* designate
* freezer
* glance
* kuryr
* magnum
* murano
* neutron
* octavia
* searchlight
* solum
* tacker
* trove
* vitrage
* watcher
* zun
.. (emilien) TODO
These projects already deploy devstack with API service via WSGI:
* aodh
* ceilometer
* cinder
* gnocchi
* ironic
* keystone
* mistral
* nova
* panko
* swift
* zaqar
* (...)
Project Teams
=============
barbican
--------
Planning Artifacts:
Completion Artifacts:
Chef OpenStack
--------------
Planning Artifacts:
Completion Artifacts:
cinder
------
Planning Artifacts:
Completion Artifacts:
cloudkitty
----------
Planning Artifacts:
Completion Artifacts:
Community App Catalog
---------------------
Planning Artifacts:
Completion Artifacts:
congress
--------
Planning Artifacts:
Completion Artifacts:
designate
---------
Planning Artifacts:
Completion Artifacts:
Documentation
-------------
Planning Artifacts:
Completion Artifacts:
dragonflow
----------
Planning Artifacts:
Completion Artifacts:
ec2-api
-------
Planning Artifacts:
Completion Artifacts:
freezer
-------
Planning Artifacts:
Completion Artifacts:
fuel
----
Planning Artifacts:
Completion Artifacts:
glance
------
Planning Artifacts:
Completion Artifacts:
heat
----
Planning Artifacts:
Completion Artifacts:
horizon
-------
Planning Artifacts:
Completion Artifacts:
I18n
----
Planning Artifacts:
Completion Artifacts:
Infrastructure
--------------
Planning Artifacts:
Completion Artifacts:
ironic
------
Planning Artifacts:
Completion Artifacts:
karbor
------
Planning Artifacts:
Completion Artifacts:
keystone
--------
Planning Artifacts:
Completion Artifacts:
kolla
-----
Planning Artifacts:
Completion Artifacts:
kuryr
-----
Planning Artifacts:
Completion Artifacts:
magnum
------
Planning Artifacts:
Completion Artifacts:
manila
------
Planning Artifacts:
Completion Artifacts:
mistral
-------
Planning Artifacts:
Completion Artifacts:
monasca
-------
Planning Artifacts:
Completion Artifacts:
murano
------
Planning Artifacts:
Completion Artifacts:
neutron
-------
Planning Artifacts:
Completion Artifacts:
nova
----
Planning Artifacts:
Completion Artifacts:
octavia
-------
Planning Artifacts:
Completion Artifacts:
OpenStack Charms
----------------
Planning Artifacts:
Completion Artifacts:
OpenStack UX
------------
Planning Artifacts:
Completion Artifacts:
OpenStackAnsible
----------------
Planning Artifacts:
Completion Artifacts:
OpenStackClient
---------------
Planning Artifacts:
Completion Artifacts:
oslo
----
Planning Artifacts:
Completion Artifacts:
Packaging-deb
-------------
Planning Artifacts:
Completion Artifacts:
Packaging-rpm
-------------
Planning Artifacts:
Completion Artifacts:
Puppet OpenStack
----------------
Planning Artifacts:
Completion Artifacts:
Quality Assurance
-----------------
Planning Artifacts:
Completion Artifacts:
rally
-----
Planning Artifacts:
Completion Artifacts:
RefStack
--------
Planning Artifacts:
Completion Artifacts:
Release Management
------------------
Planning Artifacts:
Completion Artifacts:
requirements
------------
Planning Artifacts:
Completion Artifacts:
sahara
------
Planning Artifacts:
Completion Artifacts:
searchlight
-----------
Planning Artifacts:
Completion Artifacts:
Security
--------
Planning Artifacts:
Completion Artifacts:
senlin
------
Planning Artifacts:
Completion Artifacts:
solum
-----
Planning Artifacts:
Completion Artifacts:
Stable branch maintenance
-------------------------
Planning Artifacts:
Completion Artifacts:
swift
-----
Planning Artifacts:
Completion Artifacts:
tacker
------
Planning Artifacts:
Completion Artifacts:
Telemetry
---------
Planning Artifacts:
Completion Artifacts:
tricircle
---------
Planning Artifacts:
Completion Artifacts:
tripleo
-------
Planning Artifacts:
Completion Artifacts:
trove
-----
Planning Artifacts:
Completion Artifacts:
vitrage
-------
Planning Artifacts:
Completion Artifacts:
watcher
-------
Planning Artifacts:
Completion Artifacts:
winstackers
-----------
Planning Artifacts:
Completion Artifacts:
zaqar
-----
Planning Artifacts:
Completion Artifacts:
zun
---
Planning Artifacts:
Completion Artifacts: