Change in vdsm[master]: caps: allow root-requiring changes in network capabilties

phoracek at redhat.com phoracek at redhat.com
Tue Mar 22 14:21:40 UTC 2016


Petr Horáček has uploaded a new change for review.

Change subject: caps: allow root-requiring changes in network capabilties
......................................................................

caps: allow root-requiring changes in network capabilties

Since some OVS parameters are available only to root, we have to
introduce a mechanism to complement already gathered network
capabilties with root-only ones.

This will be done by introduced network/api.py:caps_network().

Change-Id: I84c6e8aa5a3820638a26aab6d112f0285b1fbd8c
Signed-off-by: Petr Horáček <phoracek at redhat.com>
---
M lib/vdsm/network/api.py
M vdsm/caps.py
M vdsm/supervdsm_api/network.py
3 files changed, 10 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/73/55073/1

diff --git a/lib/vdsm/network/api.py b/lib/vdsm/network/api.py
index 74557fa..f43e77b 100644
--- a/lib/vdsm/network/api.py
+++ b/lib/vdsm/network/api.py
@@ -50,6 +50,11 @@
 _SYSFS_SRIOV_NUMVFS = '/sys/bus/pci/devices/{}/sriov_numvfs'
 
 
+def caps_network(caps):
+    """Complement existing non-root capabilties"""
+    return {}
+
+
 def _wait_for_udev_events():
     # FIXME: This is an ugly hack that is meant to prevent VDSM to report VFs
     # that are not yet named by udev or not report all of. This is a blocking
diff --git a/vdsm/caps.py b/vdsm/caps.py
index 539deb3..8393609 100644
--- a/vdsm/caps.py
+++ b/vdsm/caps.py
@@ -39,6 +39,7 @@
 from vdsm import numa
 from vdsm import osinfo
 from vdsm import host
+from vdsm import supervdsm
 from vdsm import utils
 import storage.hba
 from virt import vmdevices
@@ -166,6 +167,7 @@
     # TODO: Version requests by engine to ease handling of compatibility.
     netinfo_data = netinfo_cache.get(compatibility=30600)
     caps.update(netinfo_data)
+    caps.update(supervdsm.getProxy().caps_network(caps))
 
     try:
         caps['hooks'] = hooks.installed()
diff --git a/vdsm/supervdsm_api/network.py b/vdsm/supervdsm_api/network.py
index 1718b75..e08535b 100644
--- a/vdsm/supervdsm_api/network.py
+++ b/vdsm/supervdsm_api/network.py
@@ -21,7 +21,8 @@
 from . import expose
 
 from vdsm.tool.restore_nets import restore
-from vdsm.network.api import setSafeNetworkConfig, setupNetworks, change_numvfs
+from vdsm.network.api import (setSafeNetworkConfig, setupNetworks,
+                              change_numvfs, caps_network)
 from vdsm.tc import setPortMirroring, unsetPortMirroring
 
 
@@ -32,6 +33,7 @@
 
 expose(setSafeNetworkConfig)
 expose(setupNetworks)
+expose(caps_network)
 expose(change_numvfs)
 expose(setPortMirroring)
 expose(unsetPortMirroring)


-- 
To view, visit https://gerrit.ovirt.org/55073
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I84c6e8aa5a3820638a26aab6d112f0285b1fbd8c
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Petr Horáček <phoracek at redhat.com>


More information about the vdsm-patches mailing list