Douglas Schilling Landgraf has uploaded a new change for review.

Change subject: engine_page: replace netinfo to xmlrpc
......................................................................

engine_page: replace netinfo to xmlrpc

Currently ovirt-node-plugin-vdsm uses vdsm netinfo
module to consult data. However, if for some reason
the connection between vdsm and libvirt is not
available vdsm kills the caller. This patch will
replace the uses of netinfo to use xmlrpc via
vdscli module.

Change-Id: I2a1243342a5f46861940dda353798e3413587969
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1097645
Signed-off-by: Douglas Schilling Landgraf <dougsl...@redhat.com>
---
M src/engine_page.py
1 file changed, 19 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-node-plugin-vdsm 
refs/changes/88/27788/1

diff --git a/src/engine_page.py b/src/engine_page.py
index 2922267..79d8a90 100644
--- a/src/engine_page.py
+++ b/src/engine_page.py
@@ -18,18 +18,20 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 # MA  02110-1301, USA.  A copy of the GNU General Public License is
 # also available at http://www.gnu.org/copyleft/gpl.html.
+import errno
 import httplib
 import os
 import sys
 import traceback
 
 from . import config
+from socket import error as socket_error
 
 from ovirt.node import plugins, valid, ui, utils, log
 from ovirt.node.config.defaults import NodeConfigFileSection, SSH, Management
 from ovirt.node.plugins import Changeset
 
-from vdsm import netinfo
+from vdsm import vdscli
 
 """
 Configure Engine
@@ -45,15 +47,24 @@
     """
     engine_data = None
     cfg = VDSM().retrieve()
-    networks = netinfo.networks()
 
     mgmtIface = []
-    for net in networks:
-        if net in ('ovirtmgmt', 'rhevm'):
-            if 'bridge' in networks[net]:
-                mgmtIface = [networks[net]['bridge']]
-            else:
-                mgmtIface = [networks[net]['iface']]
+
+    try:
+        cli = vdscli.connect()
+        networks = cli.getVdsCapabilities()['info']['networks']
+
+        for net in networks:
+            if net in ('ovirtmgmt', 'rhevm'):
+                if 'bridge' in networks[net]:
+                    mgmtIface = [networks[net]['bridge']]
+                else:
+                    mgmtIface = [networks[net]['iface']]
+    except socket_error as err:
+        if err.errno == errno.ECONNREFUSED:
+            LOGGER.debug("Connection refused with VDSM", exc_info=True)
+        else:
+            raise
 
     if cfg["server"] is not None:
         server_url = [unicode(info) for info in [cfg["server"], cfg["port"]] 
if info]


-- 
To view, visit http://gerrit.ovirt.org/27788
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a1243342a5f46861940dda353798e3413587969
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-node-plugin-vdsm
Gerrit-Branch: node-3.0
Gerrit-Owner: Douglas Schilling Landgraf <dougsl...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to