e0a69202d2
I hope I remembered all the discussion points we had about how to design this plugin, so: * Instead of changing OS::Neutron::ExtraRoute we introduce OS::Neutron::ExtraRouteSet so we can take advantage of Neutron API's ability to add/remove multiple extra routes at once. * Addition and removal of extra routes is supposed to be atomic with Neutron extension 'extraroute-atomic'. An update involves a removal and an addition, therefore an update is not atomic operation. However unless the responsibility for an extra route is moved from one stack to another that should not be a problem. * Sharing the responsibility for an extra route between stacks (that is multiple stacks defining the same extra route) is not supported due to the Neutron API not allowing this. Let me know what did I forget. Example template: resources: extrarouteset0: type: OS::Neutron::ExtraRouteSet properties: router: { get_resource: router0 } routes: - destination: 10.0.0.0/24 nexthop: 10.0.0.10 - destination: 10.0.1.0/24 nexthop: 10.0.0.11 ... Change-Id: Ic1fe593d9821d844fd124b0212d444f6e3a0015e Depends-On: https://review.opendev.org/675900 Story: #2005522 Task: #36264
11 lines
355 B
YAML
11 lines
355 B
YAML
---
|
|
features:
|
|
- |
|
|
New resource ``OS::Neutron::ExtraRouteSet`` is added to manage extra
|
|
routes of a Neutron router.
|
|
deprecations:
|
|
- |
|
|
Unsupported contrib resource ``OS::Neutron::ExtraRoute`` is deprecated
|
|
in favor of ``OS::Neutron::ExtraRouteSet`` on all OpenStack clouds where
|
|
Neutron extension ``extraroute-atomic`` is available.
|