diff --git a/ansible/filter_plugins/networks.py b/ansible/filter_plugins/networks.py index 3c3650e07..6812aa181 100644 --- a/ansible/filter_plugins/networks.py +++ b/ansible/filter_plugins/networks.py @@ -178,6 +178,7 @@ def _route_obj(route): optional = { 'gateway', 'table', + 'options', } for option in optional: if option in route: diff --git a/doc/source/configuration/network.rst b/doc/source/configuration/network.rst index 6af03f82e..cbd1a3a8f 100644 --- a/doc/source/configuration/network.rst +++ b/doc/source/configuration/network.rst @@ -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 ------------------ diff --git a/releasenotes/notes/custom-route-options-2ed446961262a34a.yaml b/releasenotes/notes/custom-route-options-2ed446961262a34a.yaml new file mode 100644 index 000000000..4295650ad --- /dev/null +++ b/releasenotes/notes/custom-route-options-2ed446961262a34a.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for custom options in static routes. See `story 2007835 + `__ for details. diff --git a/requirements.yml b/requirements.yml index 10fe7bc9e..e79a01a4a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -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