Bug 1785147 - RFE: add NM_CAPABILITY_OVS to report OVS plugin status
Summary: RFE: add NM_CAPABILITY_OVS to report OVS plugin status
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: NetworkManager
Version: ---
Hardware: Unspecified
OS: Unspecified
Target Milestone: rc
: 8.0
Assignee: Thomas Haller
QA Contact: Desktop QE
Depends On:
TreeView+ depends on / blocked
Reported: 2019-12-19 09:31 UTC by Fernando F. Mancera
Modified: 2020-04-28 16:54 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-04-28 16:54:11 UTC
Type: Bug
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:1847 0 None None None 2020-04-28 16:54:38 UTC
freedesktop.org Gitlab NetworkManager NetworkManager-ci merge_requests 518 0 None None None 2020-02-17 14:27:07 UTC

Description Fernando F. Mancera 2019-12-19 09:31:01 UTC
Description of problem:

It is not possible to check if the NetworManager-ovs plugin is enabled using NM_CAPABILITY. There should be an element similar to NM_CAPABILITY_TEAM for OVS.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:

Actual results:

The element in NM_CAPABILITY for OVS does not exist.

Expected results:

The element in NM_CAPABILITY for OVS exists and it is possible to use it for checking if the NetworkManager-ovs plugin is enabled or not.

Additional info:

Comment 2 Thomas Haller 2019-12-24 13:58:16 UTC
also backported to nm-1-22 branch [1] and will be part of 1.24.0 and 1.22.2 upstream releases.

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/0766d7bb0cce8c85ec49b165ca607dc49008b44a

Comment 3 Thomas Haller 2020-01-07 10:55:50 UTC
How to test:

The change brings two things:

1) on D-Bus, if the OVS plugin is loaded, then this is exposed as part of the capabilities:

# busctl --json pretty call org.freedesktop.NetworkManager /org/freedesktop org.freedesktop.DBus.ObjectManager GetManagedObjects | jq '.data[0]["/org/freedesktop/NetworkManager"]["org.freedesktop.NetworkManager"]["Capabilities"]' | less
  "type": "au",
  "data": [

(the "1" means that the TEAM plugin is loaded, the "2" that the OVS plugin is loaded). The capability "2" is new, 1 was there before.

2) in libnm there is new API to read the capabilities "nm_client_get_capabilities()" and Capabilities property:


import gi
gi.require_version('NM', '1.0')
from gi.repository import NM

nmc = NM.Client.new()

print("nm_client_get_capabilities() => %s" % (nmc.get_capabilities()))
print("NMClient::capabilities = %s" % (nmc.props.capabilities))
print("Capability.TEAM = %d" % (NM.Capability.TEAM))
print("Capability.OVS  = %d" % (NM.Capability.OVS))


nm_client_get_capabilities() => [1, 2]
NMClient::capabilities = [1, 2]
Capability.TEAM = 1
Capability.OVS  = 2

Comment 7 errata-xmlrpc 2020-04-28 16:54:11 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.