The ovs command to set the primary interface of the bond fails
when the interface is not active. This patch ignores the error
and proceeds with the remaining configuration.
Change-Id: I3592af4f357dca483fc7914133e1fc248d12f11a
The default provider still remains as 'ifcfg' and when
its not specified, the SR-IOV PF configuration is skipped.
Adding the changes to support the same.
Change-Id: I17a5e68c6876db720d4b1096d75920aceb749750
Adding support for infiniband using nmstate provider.
It also includes the unit testing for the same. However
its not tested end to end due to the non availability of hardware.
Change-Id: Ia597bc8d4c7c5766be86b39242216d709fd581fe
Group the configuration yamls of all the interfaces and apply
it once, so that any failures will automatically revert all the
configuration applied.
Change-Id: Ibbb8ba4b6ab0e4736b434f161f183ed6a101ed13
Set the OvsDB entry "other_config:bond-primary=<iface>"
for the bond. The patch also addresses the incorrect
hierarchy for OvsDB used while parsing the ovs_options.
It also includes an option to support ovs_options having
other-config as well as other_config.
Change-Id: I5f7feb9d41d877c965f31b8d9023b196fe5a3635
Added support for SR-IOV and NIC Partitioning use cases
using nmstate provider. The implementation still uses the
dual parse of templates similar to the one in ifcfg provider.
Now the udev rules, sriov_config and sriov_config service will
not be used.
Change-Id: Iec98f3cacc061b37c6ecf6d53f453fd078791b16
Added support for ovs-bridge with nmstate. Nmstate requires an
OvS interafce to be attached to the bridge where the settings like
MTU, IP address could be applied. This interface is created internaly
to accomodate the same. Also ovs_extra / ovs_options support is also
added along with.
Change-Id: Ibe54b25486b1e68c56da03a5356c758b1ccf74b3
Remove the job tripleo-multinode-container-minimal-pipeline, since
it blocks the CI and is no longer maintained in master/Zed.
Change-Id: I528337801f0c31d8e72ebb11a602bacbb565cd3b
Cuurent implementation of adding objects is dublicating adding
objects that have sriov_pf members.
The patch refactors check_configure_sriov to check if the object
itself or any of its tree members are sriov_pf so adding that object
will happen once
Closes-Bug: #2020100
Change-Id: I3895a5200bc97a294a8b5774c24972f1f58b40bf
Because of racing issue to activate vf-lag after moving the second
sriov_pf interface to switchdev mode in Nvidia\Mellanox nics, we may
bind sriov_vfs while the LAG is not active yet.
Another reason for breaking vf-lag functionality is that we are doing
ifdown/ifup for sriov_pfs after binding the vfs(in case of linux_bond
is member of ovs_bridge).
As a solution for this issue, we are doing the binding after assuring
the LAG is active, and also moving the ifdown/ifup before start binding
Closes-Bug: #2020085
Change-Id: If0cad8c856ee62064205b9a88f0148980653fcb2
When DPDK ports (Mellanox) from a bond, are setup the link state
is expected to be active. The patch allows the configuration of
such ports even when the link state is inactive.
Change-Id: I516daad62989a9edb0db2a0255b94f04fddf12d2
Adding support for Ethernet interface with nmstate provider
Co-authored-by: Dan Sneddon <dsneddon@redhat.com>
Co-authored-by: Viji Candappa <vcandapp@redhat.com>
Change-Id: Ia6f6c6e73bf52a741ccf8b354a203a2befb7cf3e
In the current implementation of ifcfg file in os-net-config,
the high bit of the PKEY_ID setting is not being set, while
the high bit of the pkey in the DEVICE setting is being set.
However, due to a change in NetworkManager [1],
it is no longer necessary to set the high bit of the pkey in
the DEVICE setting, but applying this change in os-net-config
is causing compatibility issues with older versions of NetworkManager.
To address this issue, this patch proposes setting the high bit
for both the PKEY_ID and pkey in DEVICE settings in the ifcfg file.
This approach would work for all versions of NetworkManager
and maintain compatibility with older versions.
[1] 33f2f82a09
Closes-Bug: #2007372
Change-Id: I7b4f063508c4d9518ca706e62cf1368fba2d069e
nmstate is not available on ubuntu. In order to test the
changes, it needs to run on CS9.
Signed-off-by: Chandan Kumar <chkumar@redhat.com>
Change-Id: Ie6dcb966a7df154ce3225488649ca9c8064ea2d6
Previously, adding or modifying ETHTOOL_OPTS causes restarting
interfaces. It causes a downtime though ETHTOOL_OPTS can be applied
without restarting interfaces.
This change will apply ETHTOOL_OPTS via ethtool command when the option
is added or modified without restarting interfaces.
Closes-Bug: #1800237
Change-Id: I6445685b00ec98788426d0786e78c6d3750c9910
The reconfiguration of an already configured SR-IOV device
in HW Offload mode trigger an unbind/bind operation leading to failures
Change-Id: I004ef317133e77bdfd971f1ac66e15d4e695cea7
Using upper-constraints when creating tox environments is
currently having an issue. Updated old version for packages
like pbr, oslo.concurrency, oslo.utils.
Change-Id: Icd019e62a045cab05df82421298100a79c2a669f
os-net-config is triggering reconfiguration/flapping of
mellanox nics even when there are no changes in the NIC configs.
Added check to NOT remove ifcfg-* scripts for Mellonox NICs when
DPDK/Bond is enabled
Resolves: rhbz#2131248
Change-Id: Ida0c78ba7784d452165999af4dd955b0129cfdaf
Add file to the reno documentation build to show release notes for
stable/zed.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/zed.
Sem-Ver: feature
Change-Id: I5308e80d926050e3acb89ae3e94c7b43559891c2
Updated the Zuul CI layout.yaml to replace the gate job
‘openstack-tox-pep8’ with the check job
‘tripleo-ci-centos-9-content-provider’ (which has a
dependency on ‘openstack-tox-pep8’ in the os-net-config repo CI)
Change-Id: I64f3ba6d086bb8814b8ea6e6b3b403c532c42e99
Zuul deprecated declaring shared queues at a pipeline level with
release 4.1.0. This updates the job definition to use the top level
declaration instead.
Change-Id: Ifd674efb349e0c3156606c8fce72a176f8d05b0f
... because these are no longer part of tested runtimes in Zed. Also
Python 3.9 is added to the supported runtimes because it has been
tested since Yoga.
Change-Id: I6227a52ea6075e1c451fd62c7fae6cdee61a565c
The current master should be compatible with the Zed
release of the other projects.
Related-Bug: #1974244
Signed-off-by: Chandan Kumar (raukadah) <chkumar@redhat.com>
Change-Id: I184843bc56aaa1feae97c5cb3d9b8ca28d69899d
The default mac table size may not be sufficient for the
provider bridges. If the mac table overflows, it has been
observed that ovs-vswitchd clocks 100% CPU. So this patch
configures the mac table size of the provider bridges.
The patch does similar to what
88aa5c9184
implements in puppet. However, the puppet changes are not
persistent across reboots, therefore it's better to save it
in the OVS database.
Change-Id: Ic0334aaad83bd94b604fbd84fcc21d3520e9d400
Related-bug: #1779706
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
str(dict) or print(dict) format a dict value into an invalid json
string because it uses single quotes(') instead of double quotes(").
This also fixes the log messages which mentions 'JSON' but doesn't
convert a dict value to a valid json string.
Closes-Bug: #1973566
Change-Id: I2398e3881310746f349e2c9a89c64956efbc13b2