Change in vdsm[master]: cleanup: Improve networking imports (PEP328)

asegurap at redhat.com asegurap at redhat.com
Fri Oct 25 12:39:32 UTC 2013


Antoni Segura Puimedon has uploaded a new change for review.

Change subject: cleanup: Improve networking imports (PEP328)
......................................................................

cleanup: Improve networking imports (PEP328)

PEP328 ( http://www.python.org/dev/peps/pep-0328/ ) does away with
the ambiguity of where the modules that are being imported reside
making the codebase much more browsable.

With a codebase of:
    package/
        __init__.py
        subpackage1/
            __init__.py
            moduleX.py
            moduleY.py
        subpackage2/
            __init__.py
            moduleZ.py
        moduleA.py

this (moduleY.py):
    import moduleX
    import moduleZ
becomes
    from . import moduleX
    from ..subpackage2 import moduleZ

Which makes it much more evident where things are and avoids possible
shadowing of packages in site-packages.

Change-Id: I249cfa0ad734ea45ecbbecbade9daeed6c3adc12
Signed-off-by: Antoni S. Puimedon <asegurap at redhat.com>
---
M lib/vdsm/ipwrapper.py
M lib/vdsm/netconfpersistence.py
M lib/vdsm/netinfo.py
M vdsm/configNetwork.py
M vdsm/netconf/__init__.py
M vdsm/netconf/ifcfg.py
M vdsm/netconf/iproute2.py
M vdsm/netconf/libvirtCfg.py
M vdsm/netmodels.py
M vdsm/sourceRoute.py
M vdsm/sourceRouteThread.py
M vdsm/tc.py
M vdsm/vdsm-restore-net-config
13 files changed, 77 insertions(+), 71 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/55/20555/1

diff --git a/lib/vdsm/ipwrapper.py b/lib/vdsm/ipwrapper.py
index cf0c069..a3455de 100644
--- a/lib/vdsm/ipwrapper.py
+++ b/lib/vdsm/ipwrapper.py
@@ -16,6 +16,7 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 from collections import namedtuple
 
@@ -23,8 +24,8 @@
 from netaddr import IPAddress
 from netaddr import IPNetwork
 
-from utils import CommandPath
-from utils import execCmd
+from .utils import CommandPath
+from .utils import execCmd
 
 _IP_BINARY = CommandPath('ip', '/sbin/ip')
 
diff --git a/lib/vdsm/netconfpersistence.py b/lib/vdsm/netconfpersistence.py
index 633cb94..34c9ea8 100644
--- a/lib/vdsm/netconfpersistence.py
+++ b/lib/vdsm/netconfpersistence.py
@@ -17,16 +17,17 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 import errno
 import json
 import logging
 import os
 
-from config import config
-from tool.restore_nets import restore
-import constants
-import utils
+from .config import config
+from .tool.restore_nets import restore
+from . import constants
+from . import utils
 
 
 CONF_RUN_DIR = constants.P_VDSM_RUN + 'netconf/'
diff --git a/lib/vdsm/netinfo.py b/lib/vdsm/netinfo.py
index 60088d4..1c41802 100644
--- a/lib/vdsm/netinfo.py
+++ b/lib/vdsm/netinfo.py
@@ -17,27 +17,26 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 from collections import namedtuple
-import errno
 from fnmatch import fnmatch
 from glob import iglob
 from itertools import chain
+from xml.dom import minidom
+import errno
 import logging
 import os
 import shlex
 import socket
 import struct
-from xml.dom import minidom
 
 import ethtool
 
-from config import config
-import constants
-from ipwrapper import Route
-from ipwrapper import routeShowAllDefaultGateways
-import libvirtconnection
-from ipwrapper import linkShowDev
+from .config import config
+from . import constants
+from . import libvirtconnection
+from .ipwrapper import linkShowDev, Route, routeShowAllDefaultGateways
 
 NET_CONF_DIR = '/etc/sysconfig/network-scripts/'
 # ifcfg persistence directories
diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py
index 3894691..06a7e9e 100755
--- a/vdsm/configNetwork.py
+++ b/vdsm/configNetwork.py
@@ -16,32 +16,24 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 from functools import wraps
 import inspect
-import sys
-import os
-import traceback
-import time
 import logging
+import os
+import sys
+import time
+import traceback
 
+from . import hooks
+from . import neterrors as ne
+from .netconf.ifcfg import ConfigWriter, Ifcfg
+from .neterrors import ConfigNetworkError
+from .netmodels import Bond, Bridge, IPv4, IPv6, IpConfig, Nic, Vlan
 from vdsm.config import config
-from vdsm import constants
-from vdsm import utils
-from storage.misc import execCmd
-import neterrors as ne
-from neterrors import ConfigNetworkError
-from vdsm import netinfo
-from netconf.ifcfg import ConfigWriter
-from netconf.ifcfg import Ifcfg
-from netmodels import Bond
-from netmodels import Bridge
-from netmodels import IPv4
-from netmodels import IPv6
-from netmodels import IpConfig
-from netmodels import Nic
-from netmodels import Vlan
-import hooks
+from vdsm import constants, netinfo, utils
+from vdsm.utils import execCmd
 
 CONNECTIVITY_TIMEOUT_DEFAULT = 4
 
diff --git a/vdsm/netconf/__init__.py b/vdsm/netconf/__init__.py
index 627c84a..42aa061 100644
--- a/vdsm/netconf/__init__.py
+++ b/vdsm/netconf/__init__.py
@@ -16,14 +16,14 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 import logging
 
-from netmodels import Bond, Bridge
-from sourceRoute import DynamicSourceRoute
-from sourceRoute import StaticSourceRoute
-from vdsm import netinfo
+from ..netmodels import Bond, Bridge
+from ..sourceRoute import DynamicSourceRoute, StaticSourceRoute
 from vdsm.config import config
+from vdsm import netinfo
 from vdsm.netconfpersistence import RunningConfig
 
 
diff --git a/vdsm/netconf/ifcfg.py b/vdsm/netconf/ifcfg.py
index b2dcda8..3e4427a 100644
--- a/vdsm/netconf/ifcfg.py
+++ b/vdsm/netconf/ifcfg.py
@@ -16,6 +16,7 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 import glob
 import libvirt
@@ -28,18 +29,15 @@
 import shutil
 import threading
 
-from netconf import Configurator
-from neterrors import ConfigNetworkError
-from netmodels import Nic, Bridge, IpConfig
-from sourceRoute import DynamicSourceRoute
+from . import Configurator, libvirtCfg
+from .. import dsaversion
+from .. import neterrors as ne
+from ..neterrors import ConfigNetworkError
+from ..netmodels import Bridge, IpConfig, Nic
+from ..sourceRoute import DynamicSourceRoute
 from vdsm.config import config
-from vdsm import constants
-from vdsm import netinfo
-from vdsm import utils
+from vdsm import constants, netinfo, utils
 from vdsm.netconfpersistence import RunningConfig
-import dsaversion
-import libvirtCfg
-import neterrors as ne
 
 
 class Ifcfg(Configurator):
diff --git a/vdsm/netconf/iproute2.py b/vdsm/netconf/iproute2.py
index b198ede..67bf85d 100644
--- a/vdsm/netconf/iproute2.py
+++ b/vdsm/netconf/iproute2.py
@@ -18,10 +18,7 @@
 #
 
 
-from vdsm.ipwrapper import routeAdd
-from vdsm.ipwrapper import routeDel
-from vdsm.ipwrapper import ruleAdd
-from vdsm.ipwrapper import ruleDel
+from vdsm.ipwrapper import routeAdd, routeDel, ruleAdd, ruleDel
 
 
 class Iproute2(object):
diff --git a/vdsm/netconf/libvirtCfg.py b/vdsm/netconf/libvirtCfg.py
index b81231d..0dcfeac 100644
--- a/vdsm/netconf/libvirtCfg.py
+++ b/vdsm/netconf/libvirtCfg.py
@@ -20,8 +20,7 @@
 from xml.dom.minidom import Document
 from xml.sax.saxutils import escape
 
-from vdsm import libvirtconnection
-from vdsm import netinfo
+from vdsm import libvirtconnection, netinfo
 
 
 def flush():
diff --git a/vdsm/netmodels.py b/vdsm/netmodels.py
index e6feeb5..f673fb4 100644
--- a/vdsm/netmodels.py
+++ b/vdsm/netmodels.py
@@ -16,6 +16,8 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
+
 from collections import namedtuple
 from contextlib import contextmanager
 import logging
@@ -24,9 +26,9 @@
 import socket
 import struct
 
-from neterrors import ConfigNetworkError
+from . import neterrors as ne
+from .neterrors import ConfigNetworkError
 from vdsm import netinfo
-import neterrors as ne
 
 
 class NetDevice(object):
diff --git a/vdsm/sourceRoute.py b/vdsm/sourceRoute.py
index 72519d9..e43a77c 100644
--- a/vdsm/sourceRoute.py
+++ b/vdsm/sourceRoute.py
@@ -16,20 +16,16 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from glob import iglob
+import logging
 import os
 
-from glob import iglob
 from libvirt import libvirtError
-import logging
 import netaddr
 
-from vdsm import netinfo
 from vdsm.constants import P_VDSM_RUN
-from vdsm.ipwrapper import IPRoute2Error
-from vdsm.ipwrapper import Route
-from vdsm.ipwrapper import routeShowTable
-from vdsm.ipwrapper import Rule
-from vdsm.ipwrapper import ruleList
+from vdsm import netinfo
+from vdsm.ipwrapper import IPRoute2Error, Route, routeShowTable, Rule, ruleList
 from vdsm.utils import rmFile
 
 
diff --git a/vdsm/sourceRouteThread.py b/vdsm/sourceRouteThread.py
index 6106a3f..014ed39 100644
--- a/vdsm/sourceRouteThread.py
+++ b/vdsm/sourceRouteThread.py
@@ -1,10 +1,30 @@
+# Copyright 2013 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# Refer to the README and COPYING files for full details of the license
+#
+from __future__ import absolute_import
+
 import logging
 import os
 
 import pyinotify
 
-from netconf.iproute2 import Iproute2
-from sourceRoute import DynamicSourceRoute
+from .netconf.iproute2 import Iproute2
+from .sourceRoute import DynamicSourceRoute
 from vdsm.constants import P_VDSM_RUN
 
 
diff --git a/vdsm/tc.py b/vdsm/tc.py
index 57c8333..2b2dfa5 100644
--- a/vdsm/tc.py
+++ b/vdsm/tc.py
@@ -26,8 +26,8 @@
 
 import ethtool
 
-import storage.misc
 from vdsm.constants import EXT_TC
+from vdsm.utils import execCmd
 
 ERR_DEV_NOEXIST = 2
 
@@ -99,7 +99,7 @@
 
 
 def _process_request(command):
-    retcode, out, err = storage.misc.execCmd(command, raw=True, sudo=False)
+    retcode, out, err = execCmd(command, raw=True, sudo=False)
     if retcode != 0:
         raise TrafficControlException(retcode, err, command)
     return out
diff --git a/vdsm/vdsm-restore-net-config b/vdsm/vdsm-restore-net-config
index 29b2a8d..6cdf84e 100755
--- a/vdsm/vdsm-restore-net-config
+++ b/vdsm/vdsm-restore-net-config
@@ -1,6 +1,6 @@
 #! /usr/bin/python
 #
-# Copyright 2011-2012 Red Hat, Inc.
+# Copyright 2011-2013 Red Hat, Inc.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,14 +18,15 @@
 #
 # Refer to the README and COPYING files for full details of the license
 #
+from __future__ import absolute_import
 
 import logging
 import logging.config
 
-from netconf import ifcfg
+from .configNetwork import setupNetworks
+from .netconf import ifcfg
 from vdsm.config import config
 from vdsm.netconfpersistence import RunningConfig, PersistentConfig
-from configNetwork import setupNetworks
 
 
 def ifcfg_restoration():


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I249cfa0ad734ea45ecbbecbade9daeed6c3adc12
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Antoni Segura Puimedon <asegurap at redhat.com>


More information about the vdsm-patches mailing list