[RFE] Atomic Extraroute API

Bug #1826396 reported by Bence Romsics
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Wishlist
Bence Romsics

Bug Description

As discussed in an openstack-discuss thread [1] we could improve the
extraroute API to better support Neutron API clients, especially Heat.

The problem is that the current extraroute API does not allow atomic
additions/deletions of particular routing table entries. In the current
API the routes attribute of a router (containing all routing table
entries) must be updated at once. Therefore additions and deletions
must be performed on the client side. Therefore multiple clients race
to update the routes attribute and updates may get lost.

Please see the detailed spec here: https://review.opendev.org/655680

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005121.html

Tags: rfe-approved
summary: - Add atomic extraroute API
+ Atomic Extraroute API
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron-specs (master)

Fix proposed to branch: master
Review: https://review.opendev.org/655680

Changed in neutron:
status: New → In Progress
description: updated
Boden R (boden)
summary: - Atomic Extraroute API
+ [RFE] Atomic Extraroute API
Miguel Lavalle (minsel)
Changed in neutron:
importance: Undecided → Wishlist
description: updated
Changed in neutron:
assignee: Bence Romsics (bence-romsics) → Lajos Katona (lajos-katona)
Changed in neutron:
assignee: Lajos Katona (lajos-katona) → Bence Romsics (bence-romsics)
Revision history for this message
Miguel Lavalle (minsel) wrote :

This RFE was approved in Denver. We are now in the specification phase: https://review.opendev.org/#/c/655680. As a consequence, marking this RFE as approved

tags: added: rfe-approved
removed: rfe
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron-specs (master)

Reviewed: https://review.opendev.org/655680
Committed: https://git.openstack.org/cgit/openstack/neutron-specs/commit/?id=c1e12a0fd12ffd6b2934fdff5a0ee29de11a102d
Submitter: Zuul
Branch: master

commit c1e12a0fd12ffd6b2934fdff5a0ee29de11a102d
Author: Bence Romsics <email address hidden>
Date: Thu Apr 25 14:32:31 2019 +0200

    Improve Extraroute API

    As discussed in an openstack-discuss thread [1] we could improve the
    extraroute API to better support Neutron API clients, especially Heat.

    The problem is that the current extraroute API does not allow atomic
    additions/deletions of particular routing table entries. In the current
    API the routes attribute of a router (containing all routing table
    entries) must be updated at once. Therefore additions and deletions
    must be performed on the client side. Therefore multiple clients race
    to update the routes attribute and updates may get lost.

    [1] http://lists.openstack.org/pipermail/openstack-discuss/2019-April/005121.html

    Change-Id: I10407a74102bfd16e3a0b8d2bd08c92acb4cc27f
    Partial-Bug: #1826396

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron-specs (master)

Fix proposed to branch: master
Review: https://review.opendev.org/676365

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron-specs (master)

Reviewed: https://review.opendev.org/676365
Committed: https://git.openstack.org/cgit/openstack/neutron-specs/commit/?id=02b9204aa18b96d8c9c0c36dc9767c3d1d947fed
Submitter: Zuul
Branch: master

commit 02b9204aa18b96d8c9c0c36dc9767c3d1d947fed
Author: Bence Romsics <email address hidden>
Date: Wed Aug 14 09:27:48 2019 +0200

    Retroactively update improve-extraroute-api spec

    As we discovered during implementation it wasn't a good idea of mine to
    make the request and response body a list on the top level. Neither the
    documentation tools nor python-neutronclient were prepared for non-dict
    request/response bodies.

    Another reason I suspect to always have dict-wrapped bodies is that it
    makes possible future changes to the request/response format a bit easier.

    Yet another reason is that the request/response body format in this change
    is now the exact same as it was used in the PUT /v2.0/routers/router-id
    request/response. Therefore clients wishing to use the new API only have
    to change the URL, but not the body of their requests.

    Since the api-def was already merged, this change just retroactively
    updates the spec to avoid possible future confusion between the spec
    and the api-ref.

    Change-Id: I3c7e9ab4ab6518eb1d30e3711a2d9571dfc2fa15
    Partial-Bug: #1826396

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/neutron 15.0.0.0b1

This issue was fixed in the openstack/neutron 15.0.0.0b1 development milestone.

Changed in neutron:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.