Jump to: navigation, search

Difference between revisions of "Neutron/Lib"

m (Tasks)
(Available work items)
 
(10 intermediate revisions by 4 users not shown)
Line 11: Line 11:
 
Repo reviews:
 
Repo reviews:
 
https://review.openstack.org/#/q/status:open+project:openstack/neutron-lib,n,z
 
https://review.openstack.org/#/q/status:open+project:openstack/neutron-lib,n,z
 +
 +
== Submission Procedures ==
 +
 +
# Identify a module to work on/move.
 +
# Every module is subject to refactoring/bikeshedding, so you might want to check with the SME of what you're moving and see if they have problems with the current interfaces. A balance must be struct between forward progress breaking dependencies, and not carrying forward garbage.
 +
# Make your changes, submit to neutron-lib repo.
 +
# Make the changes to remove the code from neutron, including debtcollector shims in the old locations, and make that review DEPENDENT on https://review.openstack.org/#/c/242219/ , which contains magic to get neutron-lib running for a neutron patch, AND include a Depends-On for your neutron-lib patch. That will test your shims and the existing references.
 +
# Make a similar change in at least one affect child repo, similar to https://review.openstack.org/#/c/253263/
  
 
== Available work items ==
 
== Available work items ==
  
 +
* Centralize/generalize tox_install
 
* Adopt _i18n through stadium.
 
* Adopt _i18n through stadium.
 
* Include message catalog initial commit throughout stadium.
 
* Include message catalog initial commit throughout stadium.
 +
* Check the [[Neutron/Lib/AasProgress]] list, grab a module not already in the Tasks list, and go for it.
  
 
== Tasks ==
 
== Tasks ==
Line 31: Line 41:
 
| 2 || HenryG / dougwig || neutron.db plan || 0%
 
| 2 || HenryG / dougwig || neutron.db plan || 0%
 
|-
 
|-
| 3 || pc_m || callbacks || in review/rewrite?
+
| 3 || pc_m || callbacks || Done (revision needed to be public)
 +
|-
 +
| 3 || pc_m || API validation || Done
 
|}
 
|}
  
 
== neutron.db rework ==
 
== neutron.db rework ==
 +
 +
Discussion of below references with HenryG:
 +
https://etherpad.openstack.org/p/neutron-lib-db
  
 
1. Current usage from adv.services:
 
1. Current usage from adv.services:
Line 73: Line 88:
 
from neutron.db import sqlalchemyutils
 
from neutron.db import sqlalchemyutils
 
<br />
 
<br />
 +
 +
== Other Candidates for Neutron-Lib ==
 +
 +
=== iptables management code ===
 +
 +
* http://codesearch.openstack.org/?q=iptables_manager&i=nope&files=&repos=
 +
 +
== Progress against existing repos ==
 +
 +
* [[Neutron/Lib/AasProgress]]
 +
* ... add more stadium repos here
 +
 +
== Weekly Meetings ==
 +
 +
See [[Network/Lib/Meetings]]

Latest revision as of 18:00, 29 January 2016

This page is primarily meant to organize the steps for getting the first version of neutron-lib out the door, who is doing what, and pointers to how to help.

Reviews

Code review guidelines: https://github.com/openstack/neutron-lib/blob/master/doc/source/review-guidelines.rst

Lib transition reviews: https://review.openstack.org/#/q/status:open+topic:bp/neutron-lib,n,z

Repo reviews: https://review.openstack.org/#/q/status:open+project:openstack/neutron-lib,n,z

Submission Procedures

  1. Identify a module to work on/move.
  2. Every module is subject to refactoring/bikeshedding, so you might want to check with the SME of what you're moving and see if they have problems with the current interfaces. A balance must be struct between forward progress breaking dependencies, and not carrying forward garbage.
  3. Make your changes, submit to neutron-lib repo.
  4. Make the changes to remove the code from neutron, including debtcollector shims in the old locations, and make that review DEPENDENT on https://review.openstack.org/#/c/242219/ , which contains magic to get neutron-lib running for a neutron patch, AND include a Depends-On for your neutron-lib patch. That will test your shims and the existing references.
  5. Make a similar change in at least one affect child repo, similar to https://review.openstack.org/#/c/253263/

Available work items

  • Centralize/generalize tox_install
  • Adopt _i18n through stadium.
  • Include message catalog initial commit throughout stadium.
  • Check the Neutron/Lib/AasProgress list, grab a module not already in the Tasks list, and go for it.

Tasks

Priority Owner Description Status
0 dougwig Repo creation Done
1 dougwig Base exceptions/constants Done
1 dougwig i18n scheme across subprojects Done, _i18n work needed for subprojects
2 HenryG / dougwig neutron.db plan 0%
3 pc_m callbacks Done (revision needed to be public)
3 pc_m API validation Done

neutron.db rework

Discussion of below references with HenryG: https://etherpad.openstack.org/p/neutron-lib-db

1. Current usage from adv.services:

lbaas example:

           
'neutron.db.quota_db.DbQuotaDriver',
        is_agent_down_str = 'neutron.db.agents_db.AgentDbMixin.is_agent_down'
        quota_driver = neutron.db.quota_db.DbQuotaDriver
# milestone identifier, used by neutron-db-manage
DB_CORE_PLUGIN_CLASS = 'neutron.db.db_base_plugin_v2.NeutronDbPluginV2'
DB_CORE_PLUGIN_KLASS = 'neutron.db.db_base_plugin_v2.NeutronDbPluginV2'
from neutron.db import agents_db
from neutron.db import agentschedulers_db
from neutron.db import common_db_mixin as base_db
from neutron.db import l3_db
from neutron.db import migration
from neutron.db import model_base
from neutron.db import models_v2
from neutron.db import servicetype_db
from neutron.db import servicetype_db as sdb
from neutron.db import servicetype_db as st_db
from neutron.db.migration import cli
import neutron.db.l3_db  # noqa

2. Current usage from "common" things inside neutron:

Example from neutron.common.rpc, following the import chain:

from neutron import context
from neutron.db import api as db_api
from neutron.db import common_db_mixin
from neutron.db import sqlalchemyutils

Other Candidates for Neutron-Lib

iptables management code

Progress against existing repos

Weekly Meetings

See Network/Lib/Meetings