This workaround is required until salt with the patch [1] is not
used.
- use 'ifenslave' tool to enslave necessary interfaces only if bond
interface has been changed
- install package that provides 'ifenslave' tool
[1] https://github.com/saltstack/salt/pull/39912
Change-Id: I65b607f26cf7319efb60f154951855d1334e1640
Non-destructive patch, won't affect anything because this
option is not used in any model yet.
Official guide for network.managed state provides an example:
bond0:
network.managed:
- type: bond
- slaves: eth2 eth3
- require:
- network: eth2
- network: eth3
...
without parameter: '- use:'
* add a new option 'require_interfaces' that allows to set
'- require:' not only for 'bridge' interfaces
* using 'require_interfaces' allows to fix the order for states
that create bonds (do not try to create bond0 before slave
interfaces are configured!)
* using 'require_interfaces' allows to fix the order for states
that create VLANs (do not try to create tagged interfaces before
parent interface is created, it locks the parent interface
creation!), example: bond0.2516 created before bond0
* using 'require_interfaces' allows to fix the order for states
that depend on OVS interfaces
Change-Id: Id4539a7e24f2c55fb62afe5d47e485effc9a882b
Interface name was hardcoded when checking if peer is set for
ovs interface.
This patch unhardcode interface name.
Change-Id: Id465d5f84751b5516aebc9d80716d21d14e56abc
This patch adds dependency for ovs_port_up_{{ interface_name }} on
linux_interfaces_final_include. This is needed to avoid errors like
"Unknown interface XXX"
Change-Id: I763ff8ae32a170df3802a65a547c6e76959a0137
Change of mtu is not handled by reclass. Example interface:
```
br_ctl:
enabled: true
type: bridge
proto: static
mtu: 1450
address: ${_param:single_address}
gateway: ${_param:ctl_gateway}
netmask: ${_param:control_network_netmask}
use_interfaces:
- ${_param:primary_first_nic}
```
We need to save our manualy managed interfaces to different directory to
workaround salt bug that causes interface deconfiguration in
/etc/network/interfaces for interfaces manualy configured in
/etc/network/interfaces.d
Upstream-Bug: https://github.com/saltstack/salt/issues/40262
Config:
linux:
network:
tap_custom_txqueuelen: 10000
in case of configuration parameter defined will create file:
/etc/udev/rules.d/60-net-txqueue.rules
with content:
KERNEL==”tap[0-9a-z\-]*", RUN+="/sbin/ip link set %k txqueuelen 10000"
Introduce dpdk support for linux OVS configuration.
It configures dpdk interface bind, ovs dpdk ports, bonding,
parameters for dpdk cpu pmd and set multique queues for specific
ovs dpdk interfaces.
Change-Id: I3f38660bab8db0c2b38f03ed8c94eb10b6b3beb9
Epic: PROD-8957
Epic: PROD-8958
"names" makes a separate call to the package management frontend to
install each package, whereas "pkgs" makes just a single call so that it
improves performance.