Shu Ming has uploaded a new change for review.
Change subject: [WIP]Make HSM service self containted ......................................................................
[WIP]Make HSM service self containted
After moving the share files between common VDSM service and HSM service to site package directory, HSM service now can start up locally only depending on site package files. Also make sure the original VDSM service can startup only depending on the site package files.
Change-Id: I7b842f6e97e7506d66226bca088e1b5296be26c4 Signed-off-by: Shu Ming shuming@linux.vnet.ibm.com --- M vdsm/API.py M vdsm/Makefile.am M vdsm/alignmentScan.py M vdsm/caps.py M vdsm/clientIF.py M vdsm/configNetwork.py M vdsm/gluster/Makefile.am M vdsm/hooking.py M vdsm/mkimage.py M vdsm/storage/Makefile.am M vdsm/storage/devicemapper.py M vdsm/storage/fileSD.py M vdsm/storage/hsm.py M vdsm/storage/imageRepository/formatConverter.py M vdsm/storage/iscsi.py M vdsm/storage/misc.py M vdsm/storage/multipath.py M vdsm/storage/remoteFileHandler.py M vdsm/storage/resourceManager.py M vdsm/storage/task.py M vdsm/supervdsm.py M vdsm/supervdsmServer.py M vdsm/tc.py 23 files changed, 75 insertions(+), 70 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/02/11502/1
diff --git a/vdsm/API.py b/vdsm/API.py index 0046b57..99952b0 100644 --- a/vdsm/API.py +++ b/vdsm/API.py @@ -32,8 +32,8 @@ import configNetwork from vdsm import netinfo from vdsm import constants -import storage.misc -import storage.clusterlock +import vdsm.misc as misc +import vdsm.clusterlock as clusterlock import storage.volume import storage.sd import storage.image @@ -185,7 +185,7 @@ 'message': 'Missing required ' 'parameter %s' % (param)}} try: - storage.misc.validateUUID(vmParams['vmId']) + misc.validateUUID(vmParams['vmId']) except: return {'status': {'code': errCode['MissParam'] ['status']['code'], @@ -1000,7 +1000,7 @@ def spmStart(self, prevID, prevLver, enableScsiFencing, maxHostID=None, domVersion=None): if maxHostID is None: - maxHostID = storage.clusterlock.MAX_HOST_ID + maxHostID = clusterlock.MAX_HOST_ID recoveryMode = None # unused return self._irs.spmStart(self._UUID, prevID, prevLver, recoveryMode, enableScsiFencing, maxHostID, domVersion) diff --git a/vdsm/Makefile.am b/vdsm/Makefile.am index 88b3287..8fb5969 100644 --- a/vdsm/Makefile.am +++ b/vdsm/Makefile.am @@ -29,7 +29,6 @@ blkid.py \ caps.py \ clientIF.py \ - configNetwork.py \ debugPluginClient.py \ dummybr.py \ dmidecodeUtil.py \ @@ -37,34 +36,36 @@ hooking.py \ hooks.py \ kaxmlrpclib.py \ - ksm.py \ libvirtvm.py \ - logUtils.py \ - lsblk.py \ - md_utils.py \ - mkimage.py \ momIF.py \ - neterrors.py \ nwfilter.py \ - parted_utils.py \ - supervdsm.py \ - supervdsmServer.py \ - tc.py \ vdsmDebugPlugin.py \ vmChannels.py \ vm.py \ - zombieReaper.py \ $(NULL)
dist_vdsmpylib_PYTHON = \ __init__.py \ + configNetwork.py \ define.py \ exception.py \ + ksm.py \ libvirtconnection.py \ + logUtils.py \ + lsblk.py \ + md_utils.py \ + mkimage.py \ + neterrors.py \ netinfo.py \ + parted_utils.py \ qemuImg.py \ SecureXMLRPCServer.py \ + supervdsm.py \ + supervdsmServer.py \ + tc.py \ utils.py + zombieReaper.py \ + $(NULL)
nodist_vdsmpylib_PYTHON = \ config.py \ diff --git a/vdsm/alignmentScan.py b/vdsm/alignmentScan.py index 53d4ee3..9de3285 100644 --- a/vdsm/alignmentScan.py +++ b/vdsm/alignmentScan.py @@ -20,7 +20,7 @@
from collections import namedtuple -from storage.misc import execCmd +from vdsm.misc import execCmd
ScanOutput = namedtuple( 'ScanOutput', diff --git a/vdsm/caps.py b/vdsm/caps.py index a307200..7b6c296 100644 --- a/vdsm/caps.py +++ b/vdsm/caps.py @@ -39,7 +39,7 @@ from vdsm import netinfo import hooks from vdsm import utils -import storage.hba +import vdsm.hba as hba
# For debian systems we can use python-apt if available try: @@ -286,7 +286,7 @@ caps['packages2'] = _getKeyPackages() caps['emulatedMachines'] = _getEmulatedMachines() caps['ISCSIInitiatorName'] = _getIscsiIniName() - caps['HBAInventory'] = storage.hba.HBAInventory() + caps['HBAInventory'] = hba.HBAInventory() caps['vmTypes'] = ['kvm']
caps['memSize'] = str(utils.readMemInfo()['MemTotal'] / 1024) diff --git a/vdsm/clientIF.py b/vdsm/clientIF.py index 841e962..b6a112c 100644 --- a/vdsm/clientIF.py +++ b/vdsm/clientIF.py @@ -25,7 +25,7 @@ from xml.dom import minidom import uuid
-from storage.dispatcher import Dispatcher +from vdsm.dispatcher import Dispatcher from storage.hsm import HSM from vdsm.config import config import ksm diff --git a/vdsm/configNetwork.py b/vdsm/configNetwork.py index 5380f31..612fc18 100755 --- a/vdsm/configNetwork.py +++ b/vdsm/configNetwork.py @@ -36,7 +36,7 @@
from vdsm import constants from vdsm import utils -from storage.misc import execCmd +from vdsm.misc import execCmd import neterrors as ne from vdsm import define from vdsm import netinfo diff --git a/vdsm/gluster/Makefile.am b/vdsm/gluster/Makefile.am index abecfff..1c4abd1 100644 --- a/vdsm/gluster/Makefile.am +++ b/vdsm/gluster/Makefile.am @@ -21,7 +21,7 @@ include $(top_srcdir)/build-aux/Makefile.subs
vdsmglusterdir = $(vdsmdir)/gluster -dist_vdsmgluster_PYTHON = \ +dist_vdsmpylib_PYTHON = \ __init__.py \ api.py \ cli.py \ diff --git a/vdsm/hooking.py b/vdsm/hooking.py index 02acd2e..9351a8c 100644 --- a/vdsm/hooking.py +++ b/vdsm/hooking.py @@ -39,7 +39,7 @@ import os from xml.dom import minidom
-from storage.misc import execCmd +from vdsm.misc import execCmd from vdsm.utils import tobool
# make pyflakes happy diff --git a/vdsm/mkimage.py b/vdsm/mkimage.py index 0eabae2..6c1a14a 100644 --- a/vdsm/mkimage.py +++ b/vdsm/mkimage.py @@ -28,9 +28,9 @@ from vdsm.constants import EXT_MKFS_MSDOS, EXT_MKISOFS, \ DISKIMAGE_USER, DISKIMAGE_GROUP from vdsm.constants import P_VDSM_RUN -from storage.fileUtils import resolveUid, resolveGid -import storage.misc -import storage.mount +from vdsm.fileUtils import resolveUid, resolveGid +import vdsm.misc as misc +import vdsm.mount as mount
_P_PAYLOAD_IMAGES = os.path.join(P_VDSM_RUN, 'payload')
@@ -79,13 +79,13 @@ try: floppy = _getFileName(vmId, files) command = [EXT_MKFS_MSDOS, '-C', floppy, '1440'] - rc, out, err = storage.misc.execCmd(command, raw=True) + rc, out, err = misc.execCmd(command, raw=True) if rc: raise OSError(errno.EIO, "could not create floppy file: " "code %s, out %s\nerr %s" % (rc, out, err))
dirname = tempfile.mkdtemp() - m = storage.mount.Mount(floppy, dirname) + m = mount.Mount(floppy, dirname) m.mount(mntOpts='loop') try: _decodeFilesIntoDir(files, dirname) @@ -105,7 +105,7 @@ isopath = _getFileName(vmId, files)
command = [EXT_MKISOFS, '-r', '-o', isopath, dirname] - rc, out, err = storage.misc.execCmd(command, raw=True) + rc, out, err = misc.execCmd(command, raw=True) if rc: raise OSError(errno.EIO, "could not create iso file: " "code %s, out %s\nerr %s" % (rc, out, err)) diff --git a/vdsm/storage/Makefile.am b/vdsm/storage/Makefile.am index 8c5d8e2..aee3f56 100644 --- a/vdsm/storage/Makefile.am +++ b/vdsm/storage/Makefile.am @@ -25,26 +25,15 @@ __init__.py \ blockSD.py \ blockVolume.py \ - clusterlock.py \ - devicemapper.py \ - dispatcher.py \ domainMonitor.py \ fileSD.py \ - fileUtils.py \ fileVolume.py \ fuser.py \ - glusterSD.py \ - glusterVolume.py \ hba.py \ hsm.py \ image.py \ - iscsiadm.py \ - iscsi.py \ localFsSD.py \ lvm.py \ - misc.py \ - mount.py \ - multipath.py \ nfsSD.py \ outOfProcess.py \ persistentDict.py \ @@ -53,10 +42,8 @@ resourceManager.py \ sdc.py \ sd.py \ - securable.py \ sp.py \ storageConstants.py \ - storage_exception.py \ storage_mailbox.py \ storageServer.py \ sync.py \ @@ -66,6 +53,23 @@ threadPool.py \ volume.py
+dist_vdsmpylib_PYTHON = \ + clusterlock.py \ + devicemapper.py \ + dispatcher.py \ + fileUtils.py \ + glusterSD.py \ + glusterVolume.py + iscsiadm.py \ + iscsi.py \ + misc.py \ + mount.py \ + multipath.py \ + securable.py \ + storage_exception.py + + + EXTRA_DIST = \ 12-vdsm-lvm.rules
diff --git a/vdsm/storage/devicemapper.py b/vdsm/storage/devicemapper.py index 9ec261f..455215c 100644 --- a/vdsm/storage/devicemapper.py +++ b/vdsm/storage/devicemapper.py @@ -24,7 +24,7 @@ import errno import re
-from supervdsm import getProxy +from vdsm.supervdsm import getProxy from vdsm.constants import EXT_DMSETUP
DMPATH_FORMAT = "/dev/mapper/%s" diff --git a/vdsm/storage/fileSD.py b/vdsm/storage/fileSD.py index 1730a0d..1388ad2 100644 --- a/vdsm/storage/fileSD.py +++ b/vdsm/storage/fileSD.py @@ -34,7 +34,7 @@ from persistentDict import PersistentDict, DictValidator from vdsm import constants import time -import supervdsm +import vdsm.supervdsm as supervdsm import mount
REMOTE_PATH = "REMOTE_PATH" diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py index 832f930..cb0479e 100644 --- a/vdsm/storage/hsm.py +++ b/vdsm/storage/hsm.py @@ -63,10 +63,10 @@ from resourceFactories import IMAGE_NAMESPACE import resourceManager as rm import devicemapper -import logUtils +import vdsm.logUtils as logUtils import mount import dispatcher -import supervdsm +import vdsm.supervdsm as supervdsm import storageServer from vdsm import utils
diff --git a/vdsm/storage/imageRepository/formatConverter.py b/vdsm/storage/imageRepository/formatConverter.py index e7bf297..9abfa34 100644 --- a/vdsm/storage/imageRepository/formatConverter.py +++ b/vdsm/storage/imageRepository/formatConverter.py @@ -23,12 +23,12 @@ from vdsm import constants from vdsm import qemuImg
-from storage import sd -from storage import blockSD -from storage import image -from storage import volume -from storage import blockVolume -from storage import storage_exception as se +import sd +import blockSD +import image +import volume +import blockVolume +import storage_exception as se
def __convertDomainMetadataToTags(domain, targetVersion): diff --git a/vdsm/storage/iscsi.py b/vdsm/storage/iscsi.py index bc93f5c..8e24384 100644 --- a/vdsm/storage/iscsi.py +++ b/vdsm/storage/iscsi.py @@ -37,7 +37,7 @@ from threading import RLock
import iscsiadm -import supervdsm +import vdsm.supervdsm as supervdsm
IscsiPortal = namedtuple("IscsiPortal", "hostname, port") IscsiTarget = namedtuple("IscsiTarget", "portal, tpgt, iqn") diff --git a/vdsm/storage/misc.py b/vdsm/storage/misc.py index 533a3ac..1c4c0ca 100644 --- a/vdsm/storage/misc.py +++ b/vdsm/storage/misc.py @@ -60,7 +60,7 @@ import storage_exception as se from vdsm.betterPopen import BetterPopen import fileUtils -import logUtils +from vdsm import logUtils
IOUSER = "vdsm" diff --git a/vdsm/storage/multipath.py b/vdsm/storage/multipath.py index 89adee3..cabf5ae 100644 --- a/vdsm/storage/multipath.py +++ b/vdsm/storage/multipath.py @@ -33,7 +33,7 @@ from vdsm import utils import misc import iscsi -import supervdsm +import vdsm.supervdsm as supervdsm import devicemapper
import storage_exception as se diff --git a/vdsm/storage/remoteFileHandler.py b/vdsm/storage/remoteFileHandler.py index c12d22b..7527503 100644 --- a/vdsm/storage/remoteFileHandler.py +++ b/vdsm/storage/remoteFileHandler.py @@ -33,7 +33,7 @@
import misc import fileUtils -import zombieReaper +import vdsm.zombieReaper as zombieReaper
# Crabs are known for their remote process calls LENGTH_STRUCT_FMT = "Q" diff --git a/vdsm/storage/resourceManager.py b/vdsm/storage/resourceManager.py index 14049dc..06ce2af 100644 --- a/vdsm/storage/resourceManager.py +++ b/vdsm/storage/resourceManager.py @@ -28,7 +28,7 @@
import storage_exception as se import misc -from logUtils import SimpleLogAdapter +from vdsm.logUtils import SimpleLogAdapter
# Errors diff --git a/vdsm/storage/task.py b/vdsm/storage/task.py index 9a71b37..e3b0c53 100644 --- a/vdsm/storage/task.py +++ b/vdsm/storage/task.py @@ -58,7 +58,7 @@ from weakref import proxy from vdsm.config import config import outOfProcess as oop -from logUtils import SimpleLogAdapter +from vdsm.logUtils import SimpleLogAdapter
getProcPool = oop.getGlobalProcPool diff --git a/vdsm/supervdsm.py b/vdsm/supervdsm.py index 10abae0..2158a9b 100644 --- a/vdsm/supervdsm.py +++ b/vdsm/supervdsm.py @@ -28,7 +28,7 @@ from time import sleep from errno import ENOENT, ESRCH
-import storage.misc as misc +import misc as misc from vdsm import constants, utils
_g_singletonSupervdsmInstance = None diff --git a/vdsm/supervdsmServer.py b/vdsm/supervdsmServer.py index 83a5803..c48e337 100755 --- a/vdsm/supervdsmServer.py +++ b/vdsm/supervdsmServer.py @@ -30,28 +30,28 @@ import signal from multiprocessing import Pipe, Process from gluster import cli as gcli -import storage.misc as misc +import vdsm.misc as misc from vdsm import utils from parted_utils import getDevicePartedInfo as _getDevicePartedInfo from md_utils import getMdDeviceUuidMap as _getMdDeviceUuidMap
from lsblk import getLsBlk as _getLsBlk -from storage.multipath import getScsiSerial as _getScsiSerial -from storage.iscsi import forceIScsiScan as _forceIScsiScan -from storage.iscsi import getDevIscsiInfo as _getdeviSCSIinfo -from storage.iscsi import readSessionInfo as _readSessionInfo +from vdsm.multipath import getScsiSerial as _getScsiSerial +from vdsm.iscsi import forceIScsiScan as _forceIScsiScan +from vdsm.iscsi import getDevIscsiInfo as _getdeviSCSIinfo +from vdsm.iscsi import readSessionInfo as _readSessionInfo from supervdsm import _SuperVdsmManager -from storage.fileUtils import chown, resolveGid, resolveUid -from storage.fileUtils import validateAccess as _validateAccess +from vdsm.fileUtils import chown, resolveGid, resolveUid +from vdsm.fileUtils import validateAccess as _validateAccess from vdsm.constants import METADATA_GROUP, EXT_UDEVADM, \ DISKIMAGE_USER, DISKIMAGE_GROUP, P_LIBVIRT_VMCHANNELS -from storage.devicemapper import _removeMapping, _getPathsStatus +from vdsm.devicemapper import _removeMapping, _getPathsStatus import configNetwork from vdsm.config import config import tc import ksm import mkimage -from storage.multipath import MPATH_CONF +from vdsm.multipath import MPATH_CONF import zombieReaper
_UDEV_RULE_FILE_DIR = "/etc/udev/rules.d/" diff --git a/vdsm/tc.py b/vdsm/tc.py index e3c2770..99403c4 100644 --- a/vdsm/tc.py +++ b/vdsm/tc.py @@ -26,7 +26,7 @@
import ethtool
-import storage.misc +import vdsm.misc as misc from vdsm.constants import EXT_TC
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 = misc.execCmd(command, raw=True, sudo=False) if retcode != 0: raise TrafficControlException(retcode, err, command) return out
-- To view, visit http://gerrit.ovirt.org/11502 To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange Gerrit-Change-Id: I7b842f6e97e7506d66226bca088e1b5296be26c4 Gerrit-PatchSet: 1 Gerrit-Project: vdsm Gerrit-Branch: master Gerrit-Owner: Shu Ming shuming@linux.vnet.ibm.com