Jump to: navigation, search

Difference between revisions of "Neutron/LibraryAPIBreakage"

m (Breakages)
m (Breakages)
 
(4 intermediate revisions by 3 users not shown)
Line 8: Line 8:
  
 
=== Breakages ===
 
=== Breakages ===
 +
 +
General note: no plugins should rely on neutron.openstack.* contents, for multiple reasons. Main thing, the contents can be removed at any time. Instead, either use graduated oslo libraries directly, or copy oslo-incubator files into your repos.
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Date !! Patch that causes breakage !! Brief description of the change !! Possible solutions || Severity
 
! Date !! Patch that causes breakage !! Brief description of the change !! Possible solutions || Severity
 +
|-
 +
| 07/02/15 || [https://review.openstack.org/#/c/198113/ Merged] || Simplify use of COMMON_PREFIX || Switch to using declarative property as done [https://review.openstack.org/#/q/topic:prefix-cleanup,n,z here] || High (your CI should catch it)
 +
|-
 +
| 07/01/15 || [https://review.openstack.org/#/c/192999/ Merged] || Adopt oslo.service || Switch using oslo_service.* namespace. Stop using ANY neutron.openstack.* contents || Low (detected, plugins must not rely on that subtree)
 +
|-
 +
| 05/07/15 || [https://review.openstack.org/173320 Merged] || Reuse caller's session in DB methods || Add context to args and reuse || High (mostly undetected, because 3rd party CI run Tempest tests only)
 
|-
 
|-
 
| 03/13/15 || [https://review.openstack.org/159638 Merged] || switches to oslo.log, removes neutron.openstack.common.log || a) switch to oslo.log; b) copy log module into your tree and use it (may not work due to conflicts between the module and oslo.log configuration options) || High (most CI systems are affected)
 
| 03/13/15 || [https://review.openstack.org/159638 Merged] || switches to oslo.log, removes neutron.openstack.common.log || a) switch to oslo.log; b) copy log module into your tree and use it (may not work due to conflicts between the module and oslo.log configuration options) || High (most CI systems are affected)

Latest revision as of 15:01, 8 July 2015

This page is expected to capture all the relevant information about potential and real neutron library API breakages that go merged in the tree.

History

Neutron started to spin out both advanced services (LBaaS, VPNaaS, FWaaS) and vendor plugins and ml2 drivers into separate git repositories in Kilo. Code that was already split out still uses lots of symbols from neutron.* namespace, assuming neutron is a library with stable API. It's not really the case, and so there may be changes in the tree that will break external code (*aas, vendor libraries) that use those symbols.

The idea is to eventually stabilize some parts of neutron tree and convert them into a public library with some kind of API stability guarantees. That said, it's not going to happen immediately, so breakages are expected in the short term.

Breakages

General note: no plugins should rely on neutron.openstack.* contents, for multiple reasons. Main thing, the contents can be removed at any time. Instead, either use graduated oslo libraries directly, or copy oslo-incubator files into your repos.

Date Patch that causes breakage Brief description of the change Possible solutions Severity
07/02/15 Merged Simplify use of COMMON_PREFIX Switch to using declarative property as done here High (your CI should catch it)
07/01/15 Merged Adopt oslo.service Switch using oslo_service.* namespace. Stop using ANY neutron.openstack.* contents Low (detected, plugins must not rely on that subtree)
05/07/15 Merged Reuse caller's session in DB methods Add context to args and reuse High (mostly undetected, because 3rd party CI run Tempest tests only)
03/13/15 Merged switches to oslo.log, removes neutron.openstack.common.log a) switch to oslo.log; b) copy log module into your tree and use it (may not work due to conflicts between the module and oslo.log configuration options) High (most CI systems are affected)
04/06/15 Merged Implements reorganize-unit-test-tree spec Code affected need to update existing unit tests to reflect new locations. High (mostly undetected, because 3rd party CI run Tempest tests only).
04/20/15 Merged drop linux/ovs_lib compat layer switch to using neutron/agent/common/ovs_lib.py High (most CI systems are affected)