Current logic was relying on iteration inside the template. However,
since config_template module was used to deliver network configuration
it was merging sections having same name together.
While this behaviour is correct one for config_template as all sections
must be unique from ConfigParser perspective and in order to apply
overrides properly, it was not suiting the way how routes should be
defined in networkd configuration.
To workaround the issue we place routes separately under <network>.d
directory, which should be supported by systemd [1]
[1] https://www.freedesktop.org/software/systemd/man/latest/systemd.network.html
Closes-Bug: #2045819
Change-Id: I01aa44dcdc85e32d18dd52bcd4878a9017fb6ead
Changes to external roles cause some variables to be passed in
as empty strings which result in invalid config and InvalidArgument
errors.
This could be addressed here or in the calling role.
Change-Id: Iee71e9839d4c8d318c2c36152d966dd5a1b88111
The current template results in a default route being added to the
routing table rather than a route specific to the destination
requested.
Change-Id: I0ef53631989ea2dc12d2540edeed95d0a466353b
In order to create multiple vlans from the same interface, VLAN
key must be repeated multiple times. At the moment our role limits
that since vlan can not be a list. We adding an option for vlan being a list
at the same time keeping backwards compatability.
Change-Id: I94bf2157e1e95c3fd5af318eac8238cd6c3b6fdc
This patch fixes linter errors, updates tests, and adds the MTUBytes
interface configuration option to the systemd .network file to support
live MTU changes upon restart of systemd-networkd. Without it, MTU
changes will only be effective upon boot (might only affect Focal).
Change-Id: I05da4036b0ddc3fb88ba958f413a32fa6819de61
Add ipforward bool optional setting to systemd_networks to enable
or disable forwarding for a given interface. IPForward is disabled
by default.
Change-Id: Iaea33b1bdde1964f38612ab8c278fed4985d390b
The link options being set within the network files, which functional,
does not expose all of the link capabilities we have within a specific
link file. This change implements link files per network interface
giving the user the ability to customize links as they need.
Change-Id: Ie999c541a6a566141e81c6d9f95b8a30bbbefa8c
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>