Jump to: navigation, search

QuantumOpenstackCommon

Revision as of 23:30, 17 February 2013 by Ryan Lane (talk | contribs) (Text replace - "__NOTOC__" to "")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This page will serve as a page to propose sections of Quantum code that are good candidates for inclusion in the openstack-common project (and hence, removal from Quantum itself).

Summary

Best candidates in terms of code removed seem to be generic utilities around config/flags, as well as common code around the wsgi web framework and serialization. I would also like to get some of the generic DB initialization code into a common lib, as I want to make sure any bug fixes there are received by Quantum.

Hopefully almost all of the following files can be put in openstack-common:

  • quantum/common/config.py
  • quantum/common/flags.py
  • quantum/common/utils.py
  • quantum/common/serializer.py (generic web serialization code)
  • quantum/common/test_lib.py (code borrowed from standard run_tests.py, so that quantum plugins could have their own run_tests.py without duplication)
  • quantum/common/extensions.py (only tiny bits of this file are quantum specific. Most is the generic extensions code from justinsb)
  • quantum/service.py (seems like mostly generic code to start the wsgi service)
  • quantum/wsgi.py (generic code for wsgi services)

Some parts of of the following files can be put in openstack-common:

  • quantum/api/api_common.py (significant parts of this file seem to be API Controller boilerplate, probably identical to what is used for other projects).
  • qauntum/db/api.py (generic db/session/model code at top is stolen from nova. I would REALLY like to get this in openstack-common, so any bug fixes or improvements filter to quantum).
  • quantum/db/models.py (QuantumBase class for models is probably borrowed from another project. seems generic)
  • quantum/common/exceptions.py (seems like base code was borrowed from another service)

Also, we should look into leveraging openstack common for keystone client functionality needed by the Quantum client.