* Update os-net-config from branch 'master'
to 6ed93f844874622ca1487281b42a9e799e4e8795
- Retire Tripleo: remove repo content
TripleO project is retiring
- https://review.opendev.org/c/openstack/governance/+/905145
this commit remove the content of this project repo
Change-Id: I9da248ee774c038c99bf452898ac8658aa337aad
* Update os-net-config from branch 'master'
to 27915c67c8a4be838b01170c3918ad7ea72f317c
- Merge "Skip failure on setting inactive interface as bond's primary"
- Skip failure on setting inactive interface as bond's primary
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
* Update os-net-config from branch 'master'
to 3d4faddb5b1f6e901af0fc1943e870f26e85b77d
- SR-IOV is not configured when the provider is not set
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
* Update os-net-config from branch 'master'
to fb4138fcae503db1d67f9e6d6d86c1efb70780d0
- Merge "Apply the nmstate config all at once"
- Apply the nmstate config all at once
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
* Update os-net-config from branch 'master'
to fd91e41154cee6aa3baaaca5bfc638eb3843f774
- Add infiniband support with nmstate provider
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
* Update os-net-config from branch 'master'
to d2f1423008433ffb8860ae7301f847637e49d688
- set the primary interface for ovs bond (nmstate provider)
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
* Update os-net-config from branch 'master'
to 803840f65fe585b986b1935e88442e21c791e8d4
- Add SR-IOV, NIC Part support using nmstate provider
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
* Update os-net-config from branch 'master'
to 16e0dc74a4cd8520627992627930baf85e364094
- Merge "Renamed variable/method names to suit the usages."
- Renamed variable/method names to suit the usages.
Change-Id: I435d0e0ac93943bd57621d993f85a31536a3dbdc
* Update os-net-config from branch 'master'
to c70bb48e57c4e8b1bc5e714fbfa4a9d064d43e94
- Add VLAN support for nmstate provider
It includes support for VLANs over type interface, ovs bridge,
linux bonds
Change-Id: I2c0cec5918f680a3fff7e22126b06441185f7975
* Update os-net-config from branch 'master'
to 24c8cd32662b8836f9c54779bdfa24622bdd6c57
- Add ovs bridge/bond support with nmstate
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
* Update os-net-config from branch 'master'
to 9dfc7df3164387cc164f90776fda0053a605f164
- Merge "Add linux bond support for nmstate provider"
- Add linux bond support for nmstate provider
Extend the support for linux bonds in nmstate provider.
Change-Id: I7602b121f3ad0f86e6925208d7691b4faff24686
* Update os-net-config from branch 'master'
to 7cca2b6df26cbaf70cbd3aca201afe481e9637cc
- Merge "Allow configuration of inactive DPDK devices as well"
- Allow configuration of inactive DPDK devices as well
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
* Update os-net-config from branch 'master'
to ed17dcc2cb157e2fe83ea9d00272bb98e48f2a54
- Remove jobs which blocks CI.
Remove the job tripleo-multinode-container-minimal-pipeline, since
it blocks the CI and is no longer maintained in master/Zed.
Change-Id: I528337801f0c31d8e72ebb11a602bacbb565cd3b
* Update os-net-config from branch 'master'
to 7996a2e79e607aed3036bf3a851bde318ff0fef7
- Refactor check_configure_sriov to prevent dublicate adding sriov_pfs
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
* Update os-net-config from branch 'master'
to b1a7c9c5f0c2832ff504ea4557305ca1b94a196e
- Fix breaking vf-lag functionality in os-net-config
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
* Update os-net-config from branch 'master'
to 0350a82f19fe4eff89a0bb1dff24fa9f43e4d09e
- Add route table, routes, ip rules support for nmstate provider
Adding route table, routes, route rules for nmstate provider.
The supported ip rules options are from, to, iif, fwmark/mask
priority.
Supported RPDB rules type: blackhole, unreachable, prohibit
Change-Id: I12a705b132e54a15d0184cbe683d10419dbac8f6
* Update os-net-config from branch 'master'
to 29028c14d71a5dc8f8b296ba1596757ade1255b6
- Add ethtool_opts support for nmstate provider
Handle the ethtool_opts for nmstate provider.
The supported options are -G, -C, -K, -A, -s, --set-ring,
--coalesce, --features, --offload, --change.
Change-Id: Iddc336507dfcb03b4228fc36bf9eca6c4a6cf7de
* Update os-net-config from branch 'master'
to 3e73bd8c83325d11fbc4f2f13c7829ce07c2414f
- Fix PKEY_ID value in ifcfg file of infiniband child interface
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
* Update os-net-config from branch 'master'
to 928eacc31c98ba808c71da164f8e27f8a5802c0f
- Run openstack-tox jobs on centos-stream-9
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
* Update os-net-config from branch 'master'
to 9f92b485e02191d23b061539250ec2874af68288
- Merge "os-net-config runs ethtool command without restarting interfaces"
- os-net-config runs ethtool command without restarting interfaces
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
* Update os-net-config from branch 'master'
to 2f11831db00b0ebf2814a71e1f397ce00d8f0601
- Merge "Add ethtool_opts config for sriov VF"
- Add ethtool_opts config for sriov VF
SR-IOV VFs used for NIC partitioning shall include ethtool_opts
configuration as well.
Change-Id: Ia5e95daac6d8766a222d8bdde3e233475e203fa9
* Update os-net-config from branch 'master'
to 9345afd23d8c4d5e661b5d0212f85f53a418fe18
- Merge "Update master for stable/zed"
- Update master for stable/zed
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
* Update os-net-config from branch 'master'
to 23105926e85cdea429aaadee567fdc821a51a37c
- Merge "Avoid reconfiguring SR-IOV devices during stack update"
- Avoid reconfiguring SR-IOV devices during stack update
The reconfiguration of an already configured SR-IOV device
in HW Offload mode trigger an unbind/bind operation leading to failures
Change-Id: I004ef317133e77bdfd971f1ac66e15d4e695cea7
* Update os-net-config from branch 'master'
to 4ed6d471c487a2ac972cf073170d8204e15ec408
- Updates to tox and setup.cfg files
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
* Update os-net-config from branch 'master'
to 5decfaebf3cdd147afb49b1adf33e31b7f0ef534
- Merge "Mellanox NICs' ifcfg-scripts should not be removed when no CONFIG change exists"
- Mellanox NICs' ifcfg-scripts should not be removed when no CONFIG change exists
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
* Update os-net-config from branch 'master'
to 4630bd0d598808b249c0f4e1f8ef95038c1c7f4f
- Updating Zuul CI jobs for os-net-config repo
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
* Update os-net-config from branch 'master'
to 84f11c7468db316c2ce93beedb81059bdf14e483
- zuul: Declare queue at top level
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
* Update os-net-config from branch 'master'
to 6505f24f1bead6be9bb8fd3326379a6977719b09
- Merge "Drop support for Python 3.6 and 3.7"
- Drop support for Python 3.6 and 3.7
... 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
* Update os-net-config from branch 'master'
to c6c06a082ac197fd89b2a6b7e3b030a09baa9e8f
- Merge "Fix formatting of release list"
- Fix formatting of release list
Change-Id: Ia0bcb14588eaba8d9f979454f4563a9fd0b4231c
* Update os-net-config from branch 'master'
to 12a27f35c7ec2d49f88027f9328eb757a410adb6
- Merge "Add mac-size-table to all OVS bridges"
- Add mac-size-table to all OVS bridges
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>
* Update os-net-config from branch 'master'
to 5332fa249b5a65122edccaccecc4ada5e2d8b224
- Merge "Format json output properly"
- Format json output properly
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
* Update os-net-config from branch 'master'
to 49bdd97a73cb580ac8371cca955d20137e397657
- Use python job template for Zed
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
* Update os-net-config from branch 'master'
to 9ef27075ebebd27288cb8dd1859ff9e6aacca4f9
- Fix failure in dpdk driver binding with VF during reboot
On a start/reboot, os-net sriov_config.service is run to
create VFs for nic-partitioned devices. If vfio-pci driver
is bound to any of the VFs, the VF initialisation doesn't occur properly.
The VF creation has to be completed before driverctl vfio-pci
binding AND all network interface configs. Since the order of
sriov_config service or driverctl could not be set due to cyclic
dependencies, the driverctl --nosave is used for every reboots
for VFs that needs driver override. This is required in case of
DPDK - NIC Partitioning.
Change-Id: I3b3712eedf6d909f5d65ecbb1763f9dc11b04c31
* Update os-net-config from branch 'master'
to 9c3f1f5804fceabc475d2c2c25cdf6ce8201c3f6
- Merge "Revert "Updating sriov_config.service to run before driverctl.slice and network-pre""
- Revert "Updating sriov_config.service to run before driverctl.slice and network-pre"
This reverts commit 70ed00293beca15f506b2b20fc8dcab0121416ff.
Reason for revert: The change in dependencies is creating a regression for regular DPDK (non nic partitioning) + SR-IOV use cases.
The DPDK interfaces are not bound with vfio-pci driver during reboots, resulting in complete disruption in networks attached to the port.
Change-Id: If501de94d88d8536d8532f2b5ffbad59f4780c57
* Update os-net-config from branch 'master'
to f97f3f11022779051015643462871a1a809b2a06
- Merge "For linux bond over VFs, disable spoofcheck by default"
- For linux bond over VFs, disable spoofcheck by default
In case of linux bonds using NIC Partitioning, the spoofcheck shall
be disabled for it to work well with mellanox cards as well as
intel cards.
Change-Id: Ib3cc7e3287e6332b0ab11e3a227396f9dd62ee51
* Update os-net-config from branch 'master'
to 617d954eeabafef3df48c7c1b49c6bfd5cbfa347
- Merge "ovs-dpdk: Add support for n_rxq_desc and n_txq_desc"
- ovs-dpdk: Add support for n_rxq_desc and n_txq_desc
This change introduces support for n_rxq_desc and n_txq_desc for
ovs dpdk interface and ovs dpdk bond, so that users can customize
these queue size parameters.
Change-Id: I35ae1aa25566f7820e30d3d527affcd80c052aa9
* Update os-net-config from branch 'master'
to 7c7b3267a84102a460bba3bfb75eb2d8008496aa
- Adding steering_mode config to sriov_pf object
The Current behavioure is to enable smfs software steering
by default when moving to switchdev, in some cases we need
it to be in dmfs mode (FW steering), so adding steering_mode
config to sriov_pf object to make it configrable
Change-Id: If607c83c4309c636ccbe03789410f2a2301258d2
* Update os-net-config from branch 'master'
to 2eaf566867834d9e2f2ea1f9715798bb75842ba9
- Merge "vDPA support for CentOS9"
- vDPA support for CentOS9
Multiple things changed between latest release of CentOS8 and CentOS9
that affects the vDPA stack:
- The vhost devices are no longer created automatically by the kernel
module, we need to use the newly introduced vdpa command.
- The naming of the interfaces has changed drastically and they are no
more triggering the udev rules.
- The udev devices are lacking some easily matchable attributes so we
need to match by MAC address.
We're also moving a few functions from utils/sriov_config to the new
common library for easier maintenance.
Change-Id: I1d718c8d949ac04c560a726f54b64aea0b162081
* Update os-net-config from branch 'master'
to c9a3764c7c27b957b2d8fb1eee3867ef0d1dfa90
- Merge "Use Python3 yoga unit tests"
- Use Python3 yoga unit tests
Because the Xena release is not being created for TripleO repos, test
runtime is not updated by automation tools. This change updates
the job template to use the tested runtime for Yoga.
Change-Id: Ia0e65d80302ba55a138c7621e7c6b73de6647060
* Update os-net-config from branch 'master'
to 99a9aa0da8700754c847061748ccb1020555c96c
- Fix log message related to pkey_id
pkey only supports base 10 or base 16 int numbers
Change-Id: Ia2214f24e20eaba3a24da1d13b88113512f009d9
* Update os-net-config from branch 'master'
to d0c65d0e2fc93ed31cd66c606845fcf415657e05
- Merge "The default max/min tx rates shall not halt deployment"
- The default max/min tx rates shall not halt deployment
The default configuration of max_tx_rate and min_tx_rate is 0.
Some of the SR-IOV driver implementation throws up the error for
the default values and the errors shall be safely handled instead
of raising an exception.
Change-Id: I0e6ee35e327d36ddc1b792de1ee48bad609bc3ad
* Update os-net-config from branch 'master'
to 3ee0c463ca9c9a65eb6029ed9ac25d2a8b26a87c
- Notify the need for overriding the default driver for Mellanox NIC
In case of mellanox cards, the interfaces used for DPDK ports
shall not be bound with vfio-pci (default) driver. An explicit error
message shall be thrown when the required drivers are not specified
in the user templates.
Change-Id: I69b362079905c3957504e4958abfeeb9923cf07f
* Update os-net-config from branch 'master'
to ca522c25edf0644ba0245b873768515e501d457a
- Moving is_mellanox_interface to common
This will allow us to use it inside sriov_config as well.
Change-Id: I910eac9b0c5d20a5875b7e6c3469a6feeb1d62fd
* Update os-net-config from branch 'master'
to aa4ba26cf19f57b90b11fa755fb7b445e34bbaf9
- Adding logging to file
It's important to support logging to a file for troubleshooting purpose.
It's also important to rotate this file as it might grow quite large
over time.
Also, creating a common module where we can move gradually functions
that are common to any other modules. We currently can't import utils
from sriov_config for example because utils is already importing
sriov_config. This leads to duplicate code which is harder to maintain.
Change-Id: Ieafc2adc0247efc47130cd5ea29c59a140feaf0c
* Update os-net-config from branch 'master'
to 5ed22d9da497b670cbe6cc3e6945d23c775f8a5e
- Merge "Add ifcfg-* scripts on boot for Mellanox NIC interface"
- Add ifcfg-* scripts on boot for Mellanox NIC interface
When OvsDpdkPort is configured on compute node using Mellanox NIC interface,
the NetworkManager-wait-online service fails after compute boot.
This fix creates a seperate ifcfg-* interface with nm_controll and dhcp
disabled for these Mellanox ports (used as OvsDpdkPort/DpdkBond)
Change-Id: I03d709f59e9550409f42747c4593cd85dd1380c9
* Update os-net-config from branch 'master'
to 78089ca531a31be5de422abf4cb0172b47f15c16
- Change the pkey_id type from string to int
Change-Id: I29e899b50d8a51432de8dc35382940293ce4d037
* Update os-net-config from branch 'master'
to 62ee9216da3ab8092d6cf769cd3c636451683397
- Merge "Drop six"
- Drop six
With os-net-config being python3 only now, we no longer need to leverage
six.
Change-Id: I955f0b8426641c81fe3471e57e94b07fef7a965a
* Update os-net-config from branch 'master'
to 0692a49e0c3f40031e84dfc8c896e42ce047ea04
- Merge "Drop unused requirements"
- Drop unused requirements
We don't actually use anyjson, eventlet or iso8601. Let's drop these
explicit requirements. anyjson hasn't been updated since 2012 and is
starting to fail with newer setuptools.
Change-Id: Iaa7c43e78c881fe3931a6bcf7ebe2a5487c3cd6d