[openstack-dev] [neutron] neutron-server retrospective/next steps summit session recap

Ihar Hrachyshka ihrachys at redhat.com
Thu Nov 3 18:50:08 UTC 2016

Hi all,

this is a recap for the neutron-server session that was on Fri.


tl;dr for Ocata, we proceed with adopting OVO (reviewers needed!),  
push-notifications (now unblocked, Kevin already spins up patches), and  
no-downtime-upgrades (contract alembic migrations will be forbidden for  
Ocata in due course; if you have features that require those, you may need  
to rework your patches). We will also try to make some progress this cycle  
to switch to Pecan by default. There is also next actions list at the end  
of the email.


The session was intended to cover things achieved during Newton cycle where  
comes to neutron-server design, as well, and more importantly, to walk  
the next steps scheduled for Ocata.


Retrospectively, it was noted that Newton final release was a bit bumpy,  
and we
need to be more cautious the next time avoiding landing high impact patches
late in the cycle.

Ocata is a short cycle, and the team agreed before that it won't be as  
reach on
new features, instead focusing on closing existing initiatives currently in
flight. Among those server features that are still scheduled for the next
release are:

* switch to oslo.versionedobjects (aka OVO) for remaining plugin code:
   - https://blueprints.launchpad.net/neutron/+spec/adopt-oslo-versioned-objects-for-db
   - https://review.openstack.org/#/q/status:open+project:openstack/neutron+branch:master+topic:bp/adopt-oslo-versioned-objects-for-db

* no API downtime upgrades:
   - https://blueprints.launchpad.net/neutron/+spec/online-upgrades
   - https://review.openstack.org/#/c/386685/

The long term success of the latter feature somewhat depends on the former
effort, though it's not a strict technical dependency, and hence we will
proceed with both in parallel during the cycle.

For the OVO switch, implementation has already started back in
end-of-Mitaka/Newton, and it's an ongoing effort. The effort is staffed with
OSIC folks, though more attention from core reviewers is advised to make

As for online-upgrades, the main point is to survive the Ocata cycle without
introducing a new contract migration script. The Ocata cycle is not rich on
those in the first place; one of the relevant features is planned changes for
port binding API that should serve nova live migration scenario better; Ihar
and Artur will work with the live migration feature owner (Andreas) on  
the path to avoid contract scripts. Ihar is also to upload a gating test to
forbid contract migrations for Ocata.

Kevin is going to proceed with push-notifications feature started in Newton  
blocked by OVO work that should deliver better scaling when messaging between
neutron-server and agents. It's no longer blocked by anything.

Another topic briefly touched on the session is Pecan switch plan that may be
of relevance to the expected Pike goal to switch all API endpoints to running
from inside a web server. Kevin updated about the state of the feature. The
brief state is we need to land a bunch of patches, make the relevant jobs
voting, then switch defaults/deprecate the pecan option.


Significant work is expected on untangling some 'unit' tests from old API
controller layer. Armando suggested that in lots of those cases we should
instead move affected test cases from unit framework into -api job. This  
may be a good candidate for low-hanging-fruit bugs to report.

Finally, api-ref plans were briefly touched, and how it affects how
neutron-server loads extensions. Armando confirmed that the service will load
its extension definitions from neutron-lib. We may need to consider how it  
affect older neutron-server using newer neutron-lib if we somehow introduce
changes to API definitions (should not generally happen, but...)

Next actions:
- core reviewers to boost review velocity on OVO adoption;
- core reviewers to boost review velocity on Pecan migration;
- Ihar to propose forbidding contract migrations in Ocata;
- Artur/Ihar to work with Andreas on modelling data model changes for live
- Kevin to proceed with push-notifications effort;
- Kevin (?) to report low-hanging-fruit bugs for unit->api test conversion
   where it makes sense;
- Armando to clarify if using newer neutron-lib api definitions with older
   neutron-server is a valid scenario to consider.


More information about the OpenStack-dev mailing list