Neutron/Lib
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.
Contents
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
- 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
- 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
- Neutron/Lib/AasProgress
- ... add more stadium repos here