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 1a3ec95ea..18e536c11 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.