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.

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.

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 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:
 * 1) milestone identifier, used by neutron-db-manage

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

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