import ifupdown.policymanager as policymanager
try:
+ import os
from ipaddr import IPNetwork
from sets import Set
from ifupdown.iface import *
+ from ifupdown.exceptions import moduleNotSupported
from ifupdown.utils import utils
from ifupdownaddons.utilsbase import *
- from ifupdownaddons.modulebase import moduleBase
+ from ifupdownaddons.modulebase import moduleBase, NotSupported
from ifupdownaddons.iproute2 import iproute2
import ifupdown.ifupdownflags as ifupdownflags
except ImportError, e:
def __init__(self, *args, **kargs):
moduleBase.__init__(self, *args, **kargs)
+ if not os.path.exists('/sbin/ethtool'):
+ raise moduleNotSupported('module init failed: no /sbin/ethtool found')
self.ipcmd = None
# keep a list of iface objects who have modified link attributes
self.ifaceobjs_modified_configs = []
from collections import deque
from collections import OrderedDict
from graph import *
+from exceptions import *
from sets import Set
"""
mclass = getattr(m, mname)
except:
raise
- minstance = mclass()
+ try:
+ minstance = mclass()
+ except moduleNotSupported, e:
+ self.logger.info('module %s not loaded (%s)\n'
+ %(mname, str(e)))
+ pass
+ continue
+ except:
+ raise
self.modules[mname] = minstance
try:
self.module_attrs[mname] = minstance.get_modinfo()
import ifupdown.policymanager as policymanager
import ifupdown.ifupdownflags as ifupdownflags
+class NotSupported(Exception):
+ pass
+
class moduleBase(object):
""" Base class for ifupdown addon modules