From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has uploaded a new change for review.
Change subject: move hooks to common ......................................................................
move hooks to common
hooks.py is used by host, network and virt subsystems. This means that it should sit under the common package.
Change-Id: I4be8e8b2418ea758047234c5ae061dc5134bc0da Signed-off-by: Dan Kenigsberg danken@redhat.com --- M init/vdsmd_init_common.sh.in M lib/vdsm/API.py M lib/vdsm/Makefile.am M lib/vdsm/common/cmdutils.py R lib/vdsm/common/hooks.py M lib/vdsm/host/api.py M lib/vdsm/host/caps.py M lib/vdsm/hostdev.py M lib/vdsm/network/api.py M lib/vdsm/network/cmd.py M lib/vdsm/network/configurators/ifcfg.py M lib/vdsm/virt/vm.py M tests/hooks_test.py M tests/hostdev_test.py M tests/vmoperations_test.py M vdsm.spec.in M vdsm/hooking.py 17 files changed, 19 insertions(+), 23 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/95/79695/1
diff --git a/init/vdsmd_init_common.sh.in b/init/vdsmd_init_common.sh.in index 2a6f5c3..445e766 100755 --- a/init/vdsmd_init_common.sh.in +++ b/init/vdsmd_init_common.sh.in @@ -55,7 +55,7 @@ }
task_run_init_hooks(){ - "@PYTHON@" -m "vdsm.hooks" before_vdsm_start + "@PYTHON@" -m "vdsm.common.hooks" before_vdsm_start }
@@ -200,7 +200,7 @@
#### post-stop tasks #### task_run_final_hooks(){ - "@PYTHON@" -m "vdsm.hooks" after_vdsm_stop + "@PYTHON@" -m "vdsm.common.hooks" after_vdsm_stop } #### post-stop tasks end ####
diff --git a/lib/vdsm/API.py b/lib/vdsm/API.py index 552b9d1..1672537 100644 --- a/lib/vdsm/API.py +++ b/lib/vdsm/API.py @@ -29,7 +29,6 @@ from vdsm import commands from vdsm import utils from vdsm import constants -from vdsm import hooks from vdsm import hostdev from vdsm import supervdsm from vdsm import throttledlog @@ -39,6 +38,7 @@ from vdsm.common import api from vdsm.common import exception from vdsm.common import fileutils +from vdsm.common import hooks from vdsm.common import logutils from vdsm.common import response from vdsm.common import validate diff --git a/lib/vdsm/Makefile.am b/lib/vdsm/Makefile.am index 2865653..4ee67dc 100644 --- a/lib/vdsm/Makefile.am +++ b/lib/vdsm/Makefile.am @@ -36,7 +36,6 @@ dmidecodeUtil.py \ executor.py \ health.py \ - hooks.py \ hostdev.py \ hugepages.py \ jobs.py \ diff --git a/lib/vdsm/common/cmdutils.py b/lib/vdsm/common/cmdutils.py index c4b1d31..d200981 100644 --- a/lib/vdsm/common/cmdutils.py +++ b/lib/vdsm/common/cmdutils.py @@ -19,9 +19,12 @@ from __future__ import absolute_import
import distutils.spawn +import logging import os import re +import subprocess
+from vdsm.common import cmdutils from vdsm.common.compat import CPopen as Popen
diff --git a/lib/vdsm/hooks.py b/lib/vdsm/common/hooks.py similarity index 98% rename from lib/vdsm/hooks.py rename to lib/vdsm/common/hooks.py index 2baa2df..e60bd42 100644 --- a/lib/vdsm/hooks.py +++ b/lib/vdsm/common/hooks.py @@ -32,9 +32,9 @@ import sys import tempfile
-from vdsm.common import exception -from . import commands +from .cmdutils import exec_sync_bytes from .constants import P_VDSM_HOOKS, P_VDSM, P_VDSM_RUN +from . import exception
_LAUNCH_FLAGS_FILE = 'launchflags' _LAUNCH_FLAGS_PATH = os.path.join( @@ -103,8 +103,7 @@
errorSeen = False for s in scripts: - rc, out, err = commands.execCmd([s], raw=True, - env=scriptenv) + rc, out, err = exec_sync_bytes([s], env=scriptenv) logging.info(err) if rc != 0: errorSeen = True diff --git a/lib/vdsm/host/api.py b/lib/vdsm/host/api.py index b77b57b..b9a1587 100644 --- a/lib/vdsm/host/api.py +++ b/lib/vdsm/host/api.py @@ -23,10 +23,10 @@ import logging import time from . import stats -from vdsm import hooks from vdsm import utils from vdsm import metrics from vdsm.common.define import Kbytes, Mbytes +from vdsm.common import hooks from vdsm.config import config from vdsm.virt import vmstatus
diff --git a/lib/vdsm/host/caps.py b/lib/vdsm/host/caps.py index 21c02a8..eadcb48 100644 --- a/lib/vdsm/host/caps.py +++ b/lib/vdsm/host/caps.py @@ -27,6 +27,7 @@ import libvirt
from vdsm.common import cache +from vdsm.common import hooks from vdsm.config import config from vdsm.host import rngsources from vdsm.storage import hba @@ -34,7 +35,6 @@ from vdsm import cpuarch from vdsm import cpuinfo from vdsm import dsaversion -from vdsm import hooks from vdsm import host from vdsm import hostdev from vdsm import hugepages diff --git a/lib/vdsm/hostdev.py b/lib/vdsm/hostdev.py index 22626dc..55856eb 100644 --- a/lib/vdsm/hostdev.py +++ b/lib/vdsm/hostdev.py @@ -29,11 +29,11 @@ import libvirt
from vdsm.common import conv +from vdsm.common import hooks from vdsm.common import validate from vdsm.common.cache import memoized
from . import cpuarch -from . import hooks from . import libvirtconnection from . import supervdsm
diff --git a/lib/vdsm/network/api.py b/lib/vdsm/network/api.py index cb7210f..6bf7c3f 100644 --- a/lib/vdsm/network/api.py +++ b/lib/vdsm/network/api.py @@ -25,8 +25,7 @@ import logging import six
-from vdsm import hooks - +from vdsm.common import hooks from vdsm.network import netswitch from vdsm.network import sourceroute from vdsm.network.configurators.ifcfg import ConfigWriter diff --git a/lib/vdsm/network/cmd.py b/lib/vdsm/network/cmd.py index bf5d537..343f967 100644 --- a/lib/vdsm/network/cmd.py +++ b/lib/vdsm/network/cmd.py @@ -18,11 +18,8 @@ # from __future__ import absolute_import
-import logging -import subprocess import uuid
-from vdsm.common import cmdutils from vdsm.common.cmdutils import systemd_run, exec_sync_bytes from vdsm.network import py2to3
diff --git a/lib/vdsm/network/configurators/ifcfg.py b/lib/vdsm/network/configurators/ifcfg.py index ab5dfc2..dd3824b 100644 --- a/lib/vdsm/network/configurators/ifcfg.py +++ b/lib/vdsm/network/configurators/ifcfg.py @@ -34,11 +34,11 @@
from vdsm.config import config from vdsm import dsaversion -from vdsm import hooks from vdsm.common import concurrent from vdsm.common import constants from vdsm.common import fileutils from vdsm.common.conv import tobool +from vdsm.common import hooks
from vdsm.network import cmd from vdsm.network import ifacetracking diff --git a/lib/vdsm/virt/vm.py b/lib/vdsm/virt/vm.py index 85e3707..99fb010 100644 --- a/lib/vdsm/virt/vm.py +++ b/lib/vdsm/virt/vm.py @@ -37,13 +37,13 @@ # vdsm imports from vdsm.common import api from vdsm.common import exception +from vdsm.common import hooks from vdsm.common import logutils from vdsm.common import response import vdsm.common.time from vdsm import constants from vdsm import containersconnection from vdsm import cpuarch -from vdsm import hooks from vdsm import host from vdsm import hugepages from vdsm import libvirtconnection diff --git a/tests/hooks_test.py b/tests/hooks_test.py index 11a87c0..2103710 100644 --- a/tests/hooks_test.py +++ b/tests/hooks_test.py @@ -31,7 +31,7 @@ from testlib import VdsmTestCase as TestCaseBase from testlib import namedTemporaryDir
-from vdsm import hooks +from vdsm.common import hooks
class TestHooks(TestCaseBase): diff --git a/tests/hostdev_test.py b/tests/hostdev_test.py index 9b2ad21..7de6f53 100644 --- a/tests/hostdev_test.py +++ b/tests/hostdev_test.py @@ -27,8 +27,8 @@ from testlib import find_xml_element from monkeypatch import MonkeyClass
+from vdsm.common import hooks from vdsm import cpuarch -from vdsm import hooks from vdsm import hostdev from vdsm import libvirtconnection
diff --git a/tests/vmoperations_test.py b/tests/vmoperations_test.py index cb509b3..bf40d4b 100644 --- a/tests/vmoperations_test.py +++ b/tests/vmoperations_test.py @@ -32,9 +32,9 @@ from vdsm.virt.vmdevices import hwclass
from vdsm.common import define +from vdsm.common import hooks from vdsm.common import response from vdsm.config import config -from vdsm import hooks from vdsm import libvirtconnection from vdsm import password
diff --git a/vdsm.spec.in b/vdsm.spec.in index 9e28859..9e1a314 100644 --- a/vdsm.spec.in +++ b/vdsm.spec.in @@ -1057,7 +1057,6 @@ %{python_sitelib}/%{vdsm_name}/gluster/cli.py* %{python_sitelib}/%{vdsm_name}/gluster/exception.py* %{python_sitelib}/%{vdsm_name}/health.py* -%{python_sitelib}/%{vdsm_name}/hooks.py* %{python_sitelib}/%{vdsm_name}/hostdev.py* %{python_sitelib}/%{vdsm_name}/hugepages.py* %{python_sitelib}/%{vdsm_name}/jobs.py* diff --git a/vdsm/hooking.py b/vdsm/hooking.py index 803231a..4a2cddd 100644 --- a/vdsm/hooking.py +++ b/vdsm/hooking.py @@ -36,7 +36,6 @@
2 - reserved
"""
-from vdsm import hooks import json import os import sys @@ -44,6 +43,7 @@
from vdsm.commands import execCmd from vdsm.common.conv import tobool +from vdsm.common import hooks
# make pyflakes happy execCmd
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 6:
ci please build
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 6:
OST http://jenkins.ovirt.org/view/oVirt%20system%20tests/job/ovirt-system-tests_...
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 6: Verified+1
OST http://jenkins.ovirt.org/view/oVirt%20system%20tests/job/ovirt-system-tests_... is happy
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 6: -Verified
Thanks, I agree that my verification was a bit lazy. I'll do something more serious next round.
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 12:
ci please build
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 12:
http://jenkins.ovirt.org/view/oVirt%20system%20tests/job/ovirt-system-tests_...
From Dan Kenigsberg danken@redhat.com:
Dan Kenigsberg has posted comments on this change.
Change subject: move hooks to common ......................................................................
Patch Set 12:
(1 comment)
https://gerrit.ovirt.org/#/c/79695/12/lib/vdsm/common/hook/hooking.py File lib/vdsm/common/hook/hooking.py:
Line 41: import os Line 42: import sys Line 43: from xml.dom import minidom Line 44: Line 45: from vdsm.commands import execCmd
common package should not depend on the vdsm package.
Ouch. I wonder how I failed to notice this. execCmd is exposed to hooks (one hook is even using sync=False!), so we cannot easily avoid having it in common. Line 46: from vdsm.common.conv import tobool Line 47: from vdsm.common import hooks Line 48: Line 49: # make pyflakes happy
vdsm-patches@lists.fedorahosted.org