From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has uploaded a new change for review.
Change subject: introduce network.constants ......................................................................
introduce network.constants
This patch places a copy of autoconf-generated P_VDSM_RUN and P_VDSM_LIB inside the network subpackage. This removes the dependency of the network package on the global vdsm.constants module.
Change-Id: I8571a806f09195007622d15eff59e72b55042559 Signed-off-by: Dan Kenigsberg danken@redhat.com --- M .gitignore M lib/vdsm/network/Makefile.am M lib/vdsm/network/configurators/ifcfg.py M lib/vdsm/network/connectivity.py M lib/vdsm/network/dhclient_monitor.py M lib/vdsm/network/ifacetracking.py M lib/vdsm/network/link/bond/sysfs_options.py M lib/vdsm/network/link/bond/sysfs_options_mapper.py M lib/vdsm/network/netconfpersistence.py M lib/vdsm/network/netrestore.py M lib/vdsm/network/sourceroute.py M vdsm.spec.in 12 files changed, 19 insertions(+), 9 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/37/79437/1
diff --git a/.gitignore b/.gitignore index 9937872..9300c20 100644 --- a/.gitignore +++ b/.gitignore @@ -30,6 +30,7 @@ lib/vdsm/config.py lib/vdsm/constants.py lib/vdsm/dsaversion.py +lib/vdsm/network/constants.py lib/sos/vdsm.py lib/vdsm/storage/lvm.env lib/vdsm/storage/protect/spmprotect.sh diff --git a/lib/vdsm/network/Makefile.am b/lib/vdsm/network/Makefile.am index abf1db6..290af4e 100644 --- a/lib/vdsm/network/Makefile.am +++ b/lib/vdsm/network/Makefile.am @@ -46,3 +46,11 @@ sourceroute.py \ sysctl.py \ $(NULL) + +nodist_vdsmnetwork_PYTHON = \ + constants.py \ + $(NULL) + +EXTRA_DIST = \ + constants.py.in \ + $(NULL) diff --git a/lib/vdsm/network/configurators/ifcfg.py b/lib/vdsm/network/configurators/ifcfg.py index 78fcb26..5b0ef02 100644 --- a/lib/vdsm/network/configurators/ifcfg.py +++ b/lib/vdsm/network/configurators/ifcfg.py @@ -33,7 +33,6 @@ import six
from vdsm.config import config -from vdsm import constants from vdsm import dsaversion from vdsm import hooks from vdsm.common import concurrent @@ -41,6 +40,7 @@ from vdsm.common.conv import tobool
from vdsm.network import cmd +from vdsm.network import constants from vdsm.network import ifacetracking from vdsm.network import ipwrapper from vdsm.network import sysctl diff --git a/lib/vdsm/network/connectivity.py b/lib/vdsm/network/connectivity.py index 11e5601..ccd8234 100644 --- a/lib/vdsm/network/connectivity.py +++ b/lib/vdsm/network/connectivity.py @@ -23,9 +23,9 @@ import time import logging
-from vdsm import constants from vdsm.common.conv import tobool
+from . import constants from . import errors as ne from .errors import ConfigNetworkError
diff --git a/lib/vdsm/network/dhclient_monitor.py b/lib/vdsm/network/dhclient_monitor.py index fb6471d..aca0d8f 100644 --- a/lib/vdsm/network/dhclient_monitor.py +++ b/lib/vdsm/network/dhclient_monitor.py @@ -26,8 +26,8 @@
import pyinotify
-from vdsm.constants import P_VDSM_RUN from vdsm.common import logutils +from vdsm.network.constants import P_VDSM_RUN from vdsm.network import ifacetracking from vdsm.network.kernelconfig import networks_northbound_ifaces
diff --git a/lib/vdsm/network/ifacetracking.py b/lib/vdsm/network/ifacetracking.py index 5b328f4..baf1f2a 100644 --- a/lib/vdsm/network/ifacetracking.py +++ b/lib/vdsm/network/ifacetracking.py @@ -23,7 +23,7 @@
from vdsm.common.fileutils import rm_file from vdsm.common.fileutils import touch_file -from vdsm.constants import P_VDSM_RUN +from vdsm.network.constants import P_VDSM_RUN
TRACKED_INTERFACES_FOLDER = os.path.join(P_VDSM_RUN, 'trackedInterfaces')
diff --git a/lib/vdsm/network/link/bond/sysfs_options.py b/lib/vdsm/network/link/bond/sysfs_options.py index bf5e93c..eadfbc2 100644 --- a/lib/vdsm/network/link/bond/sysfs_options.py +++ b/lib/vdsm/network/link/bond/sysfs_options.py @@ -24,7 +24,7 @@
import six
-from vdsm import constants +from vdsm.network import constants from vdsm.common.cache import memoized
BONDING_DEFAULTS = constants.P_VDSM_LIB + 'bonding-defaults.json' diff --git a/lib/vdsm/network/link/bond/sysfs_options_mapper.py b/lib/vdsm/network/link/bond/sysfs_options_mapper.py index 2219ab3..cc2b469 100644 --- a/lib/vdsm/network/link/bond/sysfs_options_mapper.py +++ b/lib/vdsm/network/link/bond/sysfs_options_mapper.py @@ -28,9 +28,9 @@
import six
-from vdsm import constants from vdsm.common.cache import memoized
+from vdsm.network import constants from vdsm.network.link.bond import sysfs_options from vdsm.network.link.bond.sysfs_driver import BONDING_MASTERS from vdsm.network.link.iface import random_iface_name diff --git a/lib/vdsm/network/netconfpersistence.py b/lib/vdsm/network/netconfpersistence.py index 79095d8..864126d 100644 --- a/lib/vdsm/network/netconfpersistence.py +++ b/lib/vdsm/network/netconfpersistence.py @@ -28,9 +28,9 @@
import six
-from vdsm import constants from vdsm.common import fileutils
+from vdsm.network import constants from vdsm.network.link.iface import random_iface_name from . import errors as ne
diff --git a/lib/vdsm/network/netrestore.py b/lib/vdsm/network/netrestore.py index d2739cf..715401f 100644 --- a/lib/vdsm/network/netrestore.py +++ b/lib/vdsm/network/netrestore.py @@ -25,7 +25,7 @@ import six
from vdsm.config import config -from vdsm.constants import P_VDSM_RUN +from vdsm.network.constants import P_VDSM_RUN from vdsm.network import netswitch from vdsm.network.link import setup from vdsm.network.link.bond import Bond diff --git a/lib/vdsm/network/sourceroute.py b/lib/vdsm/network/sourceroute.py index 0d5e47a..a3e4e2d 100644 --- a/lib/vdsm/network/sourceroute.py +++ b/lib/vdsm/network/sourceroute.py @@ -22,7 +22,7 @@ import netaddr
from vdsm.common.contextlib import suppress -from vdsm.constants import P_VDSM_RUN +from vdsm.network.constants import P_VDSM_RUN from vdsm.network.ip import route as ip_route from vdsm.network.ip import rule as ip_rule from vdsm.network.ip.route import IPRouteData diff --git a/vdsm.spec.in b/vdsm.spec.in index 8ba16d8..f4fa0e9 100644 --- a/vdsm.spec.in +++ b/vdsm.spec.in @@ -1084,6 +1084,7 @@ %{python_sitelib}/%{vdsm_name}/network/canonicalize.py* %{python_sitelib}/%{vdsm_name}/network/cmd.py* %{python_sitelib}/%{vdsm_name}/network/connectivity.py* +%{python_sitelib}/%{vdsm_name}/network/constants.py* %{python_sitelib}/%{vdsm_name}/network/dhclient_monitor.py* %{python_sitelib}/%{vdsm_name}/network/driverloader.py* %{python_sitelib}/%{vdsm_name}/network/ip/*.py*
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: net: use vdsm.common.constants ......................................................................
Patch Set 11:
no idea how the failure is related to the patch
ERROR: test_multiple_vlans (network.tc_test.TestConfigureOutbound) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mock/mock.py", line 1305, in patched return func(*args, **keywargs) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/tests/network/tc_test.py", line 456, in test_multiple_vlans self.device_name, v.tag) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/configurators/qos.py", line 48, in configure_outbound qosOutbound) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/configurators/qos.py", line 163, in _qdisc_conf_out if not _is_explicit_defined_default_class(dev): File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/configurators/qos.py", line 208, in _is_explicit_defined_default_class netinfo = NetInfo(cache_get()) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/netinfo/cache.py", line 140, in get return _get(vdsmnets) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/netinfo/cache.py", line 66, in _get devices_info = _devices_report(ipaddrs, routes) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/netinfo/cache.py", line 111, in _devices_report devinfo = devs_report['bondings'][dev.name] = bonding.info(dev) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/netinfo/bonding.py", line 77, in info bond = Bond(link.name) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_driver.py", line 40, in __init__ super(BondSysFS, self).__init__(name, slaves, options) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/__init__.py", line 41, in __init__ self._import_existing() File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_driver.py", line 129, in _import_existing self._options = sysfs_options.get_options(self._properties) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_options.py", line 142, in get_options opts_keys = _filter_out_default_opts(bond_properties, opts_keys) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_options.py", line 149, in _filter_out_default_opts defaults = getDefaultBondingOptions(mode) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/common/cache.py", line 41, in __call__ value = self.func(*args) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_options.py", line 212, in getDefaultBondingOptions defaults = getAllDefaultBondingOptions() File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/common/cache.py", line 41, in __call__ value = self.func(*args) File "/home/jenkins/workspace/vdsm_master_check-patch-fc25-x86_64/vdsm/lib/vdsm/network/link/bond/sysfs_options.py", line 226, in getAllDefaultBondingOptions with open(BONDING_DEFAULTS) as defaults: IOError: [Errno 2] No such file or directory: '/usr/share/vdsm/bonding-defaults.json'
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: net: use vdsm.common.constants ......................................................................
Patch Set 13: Verified+1
OST passed: http://jenkins.ovirt.org/view/oVirt%20system%20tests/job/ovirt-system-tests_...
func tests passed: Ran 72 tests in 432.153s
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has submitted this change and it was merged. ( https://gerrit.ovirt.org/79437 )
Change subject: net: use vdsm.common.constants ......................................................................
net: use vdsm.common.constants
Take P_VDSM_RUN and P_VDSM_LIB directrly from vdsm.common.constants. This removes the dependency of the network package on the global vdsm.constants module.
Change-Id: I8571a806f09195007622d15eff59e72b55042559 Signed-off-by: Dan Kenigsberg danken@redhat.com --- M lib/vdsm/network/configurators/ifcfg.py M lib/vdsm/network/connectivity.py M lib/vdsm/network/dhclient_monitor.py M lib/vdsm/network/ifacetracking.py M lib/vdsm/network/link/bond/sysfs_options.py M lib/vdsm/network/link/bond/sysfs_options_mapper.py M lib/vdsm/network/netconfpersistence.py M lib/vdsm/network/netrestore.py M lib/vdsm/network/sourceroute.py 9 files changed, 9 insertions(+), 9 deletions(-)
Approvals: Jenkins CI: Passed CI tests Dan Kenigsberg: Verified Edward Haas: Looks good to me, approved
vdsm-patches@lists.fedorahosted.org