Sandro Bonazzola has uploaded a new change for review.

Change subject: packaging: setup: handle dummy network devices
......................................................................

packaging: setup: handle dummy network devices

Handle as unsupported devices any dummy device.

Change-Id: I1159762e955c0c0cd9b00c5842077496025cba6d
Bug-Url: https://bugzilla.redhat.com/1058438
Signed-off-by: Sandro Bonazzola <sbona...@redhat.com>
---
M src/plugins/ovirt-hosted-engine-setup/network/bridge.py
1 file changed, 38 insertions(+), 31 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-hosted-engine-setup 
refs/changes/95/25495/1

diff --git a/src/plugins/ovirt-hosted-engine-setup/network/bridge.py 
b/src/plugins/ovirt-hosted-engine-setup/network/bridge.py
index 439d3e0..befd04d 100644
--- a/src/plugins/ovirt-hosted-engine-setup/network/bridge.py
+++ b/src/plugins/ovirt-hosted-engine-setup/network/bridge.py
@@ -1,6 +1,6 @@
 #
 # ovirt-hosted-engine-setup -- ovirt hosted engine setup
-# Copyright (C) 2013 Red Hat, Inc.
+# Copyright (C) 2013-2014 Red Hat, Inc.
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -23,6 +23,7 @@
 """
 
 
+import errno
 import gettext
 import os
 
@@ -99,39 +100,45 @@
         enslaved = set()
         interfaces = set()
         for nic in nics:
-            flags = ethtool.get_flags(nic)
-            if flags & ethtool.IFF_LOOPBACK:
-                self.logger.debug('Detected loopback device %s' % nic)
-            elif ethtool.get_module(nic) == 'bridge':
-                self.logger.debug('Detected bridge device %s' % nic)
-                if os.path.exists('/sys/class/net/%s/brif' % nic):
-                    slaves = os.listdir('/sys/class/net/%s/brif' % nic)
-                    self.logger.debug(
-                        'Detected slaves for device %s: %s' % (
-                            nic,
-                            ','.join(slaves)
+            try:
+                flags = ethtool.get_flags(nic)
+                if flags & ethtool.IFF_LOOPBACK:
+                    self.logger.debug('Detected loopback device %s' % nic)
+                elif ethtool.get_module(nic) == 'bridge':
+                    self.logger.debug('Detected bridge device %s' % nic)
+                    if os.path.exists('/sys/class/net/%s/brif' % nic):
+                        slaves = os.listdir('/sys/class/net/%s/brif' % nic)
+                        self.logger.debug(
+                            'Detected slaves for device %s: %s' % (
+                                nic,
+                                ','.join(slaves)
+                            )
                         )
-                    )
-                    for iface in slaves:
-                        if iface in nics:
-                            enslaved.update([iface])
-            elif netinfo.isbonding(nic):
-                slaves = netinfo.slaves(nic)
-                if not slaves:
-                    self.logger.debug(
-                        'Detected bond device %s without slaves' % nic
-                    )
+                        for iface in slaves:
+                            if iface in nics:
+                                enslaved.update([iface])
+                elif netinfo.isbonding(nic):
+                    slaves = netinfo.slaves(nic)
+                    if not slaves:
+                        self.logger.debug(
+                            'Detected bond device %s without slaves' % nic
+                        )
+                    else:
+                        self.logger.debug(
+                            'Detected slaves for device %s: %s' % (
+                                nic,
+                                ','.join(slaves)
+                            )
+                        )
+                        enslaved.update(slaves)
+                        interfaces.update([nic])
                 else:
-                    self.logger.debug(
-                        'Detected slaves for device %s: %s' % (
-                            nic,
-                            ','.join(slaves)
-                        )
-                    )
-                    enslaved.update(slaves)
                     interfaces.update([nic])
-            else:
-                interfaces.update([nic])
+            except IOError as ioe:
+                if ioe.errno in (None, errno.EOPNOTSUPP):
+                    self.logger.debug('Detected unsupported device %s' % nic)
+                else:
+                    raise ioe
         validValues = list(interfaces - enslaved)
         self.logger.debug('Nics detected: %s' % ','.join(nics))
         self.logger.debug('Nics enslaved: %s' % ','.join(enslaved))


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1159762e955c0c0cd9b00c5842077496025cba6d
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-hosted-engine-setup
Gerrit-Branch: master
Gerrit-Owner: Sandro Bonazzola <sbona...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to