Add support for custom options in static routes

Currently it is possible to set the CIDR, gateway and route table for
static routes. Other options cannot be set. This change adds support for
setting arbitrary options via an 'options' attribute in the route, which
should be a list of additional options to apply.

Depends on
https://github.com/michaelrigart/ansible-role-interfaces/pull/74.

Story: 2007835
Task: 40122

Change-Id: Ib27deac4ddf4976a571b192ee5d1b8ca57701916
This commit is contained in:
Mark Goddard 2020-06-19 10:00:48 +00:00 committed by Pierre Riteau
parent 8d67d72fa4
commit 2b86fd9945
4 changed files with 24 additions and 5 deletions

View File

@ -178,6 +178,7 @@ def _route_obj(route):
optional = {
'gateway',
'table',
'options',
}
for option in optional:
if option in route:

View File

@ -47,10 +47,11 @@ supported:
Fully Qualified Domain Name (FQDN) used by API services on this network.
``routes``
List of static IP routes. Each item should be a dict containing the
item ``cidr``, and optionally ``gateway`` and ``table``. ``cidr`` is the CIDR
representation of the route's destination. ``gateway`` is the IP address of
the next hop. ``table`` is the name or ID of a routing table to which the
route will be added.
item ``cidr``, and optionally ``gateway``, ``table`` and ``options``.
``cidr`` is the CIDR representation of the route's destination. ``gateway``
is the IP address of the next hop. ``table`` is the name or ID of a routing
table to which the route will be added. ``options`` is a list of option
strings to add to the route.
``rules``
List of IP routing rules. Each item should be an ``iproute2`` IP routing
rule.
@ -139,6 +140,18 @@ To configure a network called ``example`` with a single IP route to the
These routes will be configured on all hosts to which the network is mapped.
If necessary, custom options may be added to the route:
.. code-block:: yaml
:caption: ``networks.yml``
example_routes:
- cidr: 10.1.0.0/24
gateway: 10.0.0.1
options:
- onlink
- metric 400
Configuring a VLAN
------------------

View File

@ -0,0 +1,5 @@
---
features:
- |
Adds support for custom options in static routes. See `story 2007835
<https://storyboard.openstack.org/#!/story/2007835>`__ for details.

View File

@ -5,7 +5,7 @@
# There are no versioned releases of this role.
version: 8438592c84585c86e62ae07e526d3da53629b377
- src: MichaelRigart.interfaces
version: v1.5.0
version: v1.6.0
- src: mrlesmithjr.manage-lvm
version: v0.1.4
- src: mrlesmithjr.mdadm