Hello Shu Ming,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/10363
to review the following change.
Change subject: split config file for HSM service standalone
......................................................................
split config file for HSM service standalone
Split config.py of vdsm, irs section was moved to hsm config.py
Create a separate python site-packages for hsm config.py
Split vdsm.conf, irs section was moved to hsm.conf
The hsm.conf was still install in the vdsm config path
The hsm.conf.sample was still install in the vdsm doc patch
In order to run the locole test, hackVdsmModule of testrunner
This is one of step to make HSM service standalone
wiki-page:
http://wiki.ovirt.org/wiki/HSM_service_stand_alone
Change-Id: I731f74fff44ac8e75e336d2e41e696aa586c967b
Signed-off-by: Shu Ming <shuming(a)linux.vnet.ibm.com>
Signed-off-by: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
---
M .gitignore
M configure.ac
M tests/testrunner.py
M vdsm.spec.in
M vdsm/clientIF.py
M vdsm/config.py.in
M vdsm/libvirtvm.py
M vdsm/storage/Makefile.am
M vdsm/storage/blockSD.py
M vdsm/storage/blockVolume.py
A vdsm/storage/config.py.in
M vdsm/storage/dispatcher.py
M vdsm/storage/domainMonitor.py
M vdsm/storage/fileVolume.py
M vdsm/storage/hsm.py
M vdsm/storage/image.py
M vdsm/storage/iscsi.py
M vdsm/storage/lvm.py
M vdsm/storage/outOfProcess.py
M vdsm/storage/resourceFactories.py
M vdsm/storage/safelease.py
M vdsm/storage/sd.py
M vdsm/storage/sdc.py
M vdsm/storage/sp.py
M vdsm/storage/storage_mailbox.py
M vdsm/storage/task.py
M vdsm/storage/taskManager.py
M vdsm/supervdsmServer.py
M vdsm/utils.py
29 files changed, 217 insertions(+), 120 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/63/10363/1
diff --git a/.gitignore b/.gitignore
index d36ed82..618cfdc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,7 @@
vdsm/mk_sysprep_floppy
vdsm/mom.conf
vdsm/sos/vdsm.py
+vdsm/storage/config.py
vdsm/storage/protect/safelease
vdsm/sudoers.vdsm
vdsm/vdsm-gencerts.sh
diff --git a/configure.ac b/configure.ac
index a6265b5..1aee172 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,6 +81,9 @@
AC_SUBST([vdsmtestsdir], ['${datarootdir}/vdsm/tests'])
AC_SUBST([vdsmapidir], ['${datarootdir}/vdsm_api'])
+# HSM default paths
+AC_SUBST([hsmpylibdir], ['${pyexecdir}/hsmd'])
+
# VDSM registration default paths
AC_SUBST([vdsmregdir], ['${datarootdir}/vdsm-reg'])
AC_SUBST([vdsmbootstrapdir], ['${datarootdir}/vdsm-bootstrap'])
diff --git a/tests/testrunner.py b/tests/testrunner.py
index ae562a4..c0bf896 100644
--- a/tests/testrunner.py
+++ b/tests/testrunner.py
@@ -244,6 +244,10 @@
def hackVdsmModule():
+ # this hack should be removed after the hsm service standalone was done
+ sub = __import__('storage', globals(), locals(), [], -1)
+ sys.modules['hsmd'] = sub
+
sys.modules['vdsm'] = mod = vdsm()
for name in ('config', 'constants', 'utils',
'define', 'netinfo',
diff --git a/vdsm.spec.in b/vdsm.spec.in
index b942b7a..2d2c04d 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -1,5 +1,6 @@
# Packages names
%global vdsm_name vdsm
+%global hsm_name hsmd
%global vdsm_bootstrap vdsm-bootstrap
%global vdsm_reg vdsm-reg
@@ -454,6 +455,8 @@
# Install the configuration sample
install -Dm 0644 vdsm/vdsm.conf.sample \
%{buildroot}%{_sysconfdir}/vdsm/vdsm.conf
+install -Dm 0644 vdsm/storage/hsm.conf.sample \
+ %{buildroot}%{_sysconfdir}/vdsm/hsm.conf
# Install the systemd scripts
install -Dm 0755 vdsm/vdsmd.init %{buildroot}/lib/systemd/systemd-vdsmd
@@ -608,6 +611,7 @@
%files
%defattr(-, root, root, -)
%doc COPYING README vdsm/vdsm.conf.sample vdsm_api/vdsm-api.html
+%doc COPYING README vdsm/storage/hsm.conf.sample
%if 0%{?rhel}
%{_initrddir}/vdsmd
%else
@@ -780,6 +784,7 @@
%{_bindir}/vdsm-tool
%if !0%{?rhel}
%config(noreplace) %{_sysconfdir}/%{vdsm_name}/vdsm.conf
+%config(noreplace) %{_sysconfdir}/%{vdsm_name}/hsm.conf
%endif
%{python_sitearch}/%{vdsm_name}/__init__.py*
%{python_sitearch}/%{vdsm_name}/config.py*
@@ -799,6 +804,8 @@
%{python_sitearch}/%{vdsm_name}/tool/passwd.py*
%{python_sitearch}/%{vdsm_name}/tool/seboolsetup.py*
%{python_sitearch}/%{vdsm_name}/tool/validate_ovirt_certs.py*
+%{python_sitearch}/%{hsm_name}/__init__.py*
+%{python_sitearch}/%{hsm_name}/config.py*
%files tests
%doc %{_datadir}/%{vdsm_name}/tests/README
diff --git a/vdsm/clientIF.py b/vdsm/clientIF.py
index 5e034a1..315530b 100644
--- a/vdsm/clientIF.py
+++ b/vdsm/clientIF.py
@@ -28,6 +28,7 @@
from storage.dispatcher import Dispatcher
from storage.hsm import HSM
from vdsm.config import config
+from hsmd.config import config as hsmconfig
import ksm
from momIF import MomThread, isMomAvailable
from vdsm import netinfo
@@ -247,7 +248,7 @@
def _initIRS(self):
self.irs = None
- if config.getboolean('irs', 'irs_enable'):
+ if hsmconfig.getboolean('irs', 'irs_enable'):
try:
self.irs = Dispatcher(HSM())
except:
diff --git a/vdsm/config.py.in b/vdsm/config.py.in
index a4669b0..744625a 100644
--- a/vdsm/config.py.in
+++ b/vdsm/config.py.in
@@ -152,98 +152,6 @@
]),
- # Section: [irs]
- ('irs', [
-
- ('irs_enable', 'true', None),
-
- ('repository', '@VDSMREPO@',
- 'Image repository.'),
-
- ('hsm_tasks', '%(repository)s/hsm-tasks', None),
-
- ('images', '/images', None),
-
- ('irsd', '%(images)s/irsd', None),
-
- ('images_check_times', '0',
- 'Image repository check period (seconds).'),
-
- ('volume_utilization_percent', '50', None),
-
- ('volume_utilization_chunk_mb', '1024', None),
-
- ('vol_size_sample_interval', '60',
- 'How often should the volume size be checked (seconds).'),
-
- ('sd_validate_timeout', '80',
- 'Storage domain validate timeout, the maximum number of seconds '
- 'to wait until all the domains will be validated.'),
-
- ('scsi_rescan_minimal_timeout', '2',
- 'The minimum number of seconds to wait for scsi scan to return.'),
-
- ('scsi_rescan_maximal_timeout', '30',
- 'The maximal number of seconds to wait for scsi scan to return.'),
-
- ('sd_health_check_delay', '10',
- 'Storage domain health check delay, the amount of seconds to '
- 'wait between two successive run of the domain health check.'),
-
- ('nfs_mount_options', 'soft,nosharecache',
- 'NFS mount options, comma-separated list (NB: no white space '
- 'allowed!)'),
-
- ('pools_data_dir', '@POOLSDIR@', None),
-
- ('vol_extend_policy', 'ON', None),
-
- ('lock_util_path', '@LIBEXECDIR@', None),
-
- ('lock_cmd', 'spmprotect.sh', None),
-
- ('free_lock_cmd', 'spmstop.sh', None),
-
- ('thread_pool_size', '10', None),
-
- ('max_tasks', '500', None),
-
- ('lvm_dev_whitelist', '', None),
-
- ('md_backup_versions', '30', None),
-
- ('md_backup_dir', '@BACKUPDIR@', None),
-
- ('maximum_allowed_pvs', '8',
- 'The number of PVs per VG has a hard-coded limit of 10.'),
-
- ('repo_stats_cache_refresh_timeout', '300', None),
-
- ('task_resource_default_timeout', '120000', None),
-
- ('prepare_image_timeout', '600000', None),
-
- ('gc_blocker_force_collect_interval', '60', None),
-
- ('maximum_domains_in_pool', '100',
- 'Process pool configuration.'),
-
- ('process_pool_size', '100', None),
-
- ('process_pool_timeout', '60', None),
-
- ('process_pool_grace_period', '2', None),
-
- ('process_pool_max_slots_per_domain', '10', None),
-
- ('iscsi_default_ifaces', 'default',
- 'Comma seperated ifaces to connect with. '
- 'i.e. iser,default'),
-
- ('use_volume_leases', 'false',
- 'Whether to use the volume leases or not.'),
- ]),
-
# Section: [addresses]
('addresses', [
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index c089745..2d93a56 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -33,6 +33,7 @@
import guestIF
from vdsm import libvirtconnection
from vdsm.config import config
+from hsmd.config import config as hsmconfig
import hooks
import caps
from vdsm import netinfo
@@ -92,7 +93,7 @@
self.updateVolumes = (
utils.AdvancedStatsFunction(
self._updateVolumes,
- config.getint('irs', 'vol_size_sample_interval')))
+ hsmconfig.getint('irs', 'vol_size_sample_interval')))
self.sampleCpu = (
utils.AdvancedStatsFunction(
@@ -1048,8 +1049,9 @@
class Drive(LibvirtVmDevice):
- VOLWM_CHUNK_MB = config.getint('irs', 'volume_utilization_chunk_mb')
- VOLWM_FREE_PCT = 100 - config.getint('irs',
'volume_utilization_percent')
+ VOLWM_CHUNK_MB = hsmconfig.getint('irs',
'volume_utilization_chunk_mb')
+ VOLWM_FREE_PCT = 100 - hsmconfig.getint('irs',
+ 'volume_utilization_percent')
VOLWM_CHUNK_REPLICATE_MULT = 2 # Chunk multiplier during replication
def __init__(self, conf, log, **kwargs):
@@ -2492,7 +2494,7 @@
#D. Berrange
capacity, alloc, physical = self._dom.blockInfo(d.path, 0)
if (physical >
- (alloc + config.getint(
+ (alloc + hsmconfig.getint(
'irs', 'volume_utilization_chunk_mb'))):
self.log.warn('%s = %s/%s error %s phys: %s alloc: %s '
'Ingnoring already managed event.',
diff --git a/vdsm/storage/Makefile.am b/vdsm/storage/Makefile.am
index cff09be..9af470e 100644
--- a/vdsm/storage/Makefile.am
+++ b/vdsm/storage/Makefile.am
@@ -20,6 +20,8 @@
SUBDIRS = protect imageRepository
+include $(top_srcdir)/build-aux/Makefile.subs
+
vdsmstoragedir = $(vdsmdir)/storage
dist_vdsmstorage_PYTHON = \
__init__.py \
@@ -64,8 +66,29 @@
threadPool.py \
volume.py
+dist_hsmpylib_PYTHON = \
+ __init__.py
+
+nodist_hsmpylib_PYTHON = \
+ config.py
+
+nodist_noinst_DATA = \
+ hsm.conf.sample
+
+CLEANFILES = \
+ $(nodist_noinst_DATA) \
+ $(nodist_hsmpylib_PYTHON)
+
EXTRA_DIST = \
- 12-vdsm-lvm.rules
+ 12-vdsm-lvm.rules \
+ config.py.in
+
+hsm.conf.sample: Makefile config.py
+ @echo " CONFIG $@"; $(PYTHON) $(builddir)/config.py > $@
+
+all-local: \
+ $(nodist_noinst_DATA) \
+ $(nodist_hsmpylib_PYTHON)
check-local:
PYTHONDONTWRITEBYTECODE=1 $(PYTHON) $(srcdir)/storage_exception.py
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index 22a434b..7fd35fd 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -31,7 +31,7 @@
from collections import namedtuple
from operator import itemgetter
-from vdsm.config import config
+from hsmd.config import config
from vdsm import constants
import misc
import fileUtils
diff --git a/vdsm/storage/blockVolume.py b/vdsm/storage/blockVolume.py
index 186ca95..d9be382 100644
--- a/vdsm/storage/blockVolume.py
+++ b/vdsm/storage/blockVolume.py
@@ -23,7 +23,7 @@
import logging
import sanlock
-from vdsm.config import config
+from hsmd.config import config
import storage_exception as se
import volume
import image
diff --git a/vdsm/storage/config.py.in b/vdsm/storage/config.py.in
new file mode 100644
index 0000000..160c022
--- /dev/null
+++ b/vdsm/storage/config.py.in
@@ -0,0 +1,148 @@
+#
+# Copyright 2011 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
+#
+
+import os
+import textwrap
+import ConfigParser
+
+parameters = [
+ # Section: [irs]
+ ('irs', [
+
+ ('irs_enable', 'true', None),
+
+ ('repository', '@VDSMREPO@',
+ 'Image repository.'),
+
+ ('hsm_tasks', '%(repository)s/hsm-tasks', None),
+
+ ('images', '/images', None),
+
+ ('irsd', '%(images)s/irsd', None),
+
+ ('images_check_times', '0',
+ 'Image repository check period (seconds).'),
+
+ ('volume_utilization_percent', '50', None),
+
+ ('volume_utilization_chunk_mb', '1024', None),
+
+ ('vol_size_sample_interval', '60',
+ 'How often should the volume size be checked (seconds).'),
+
+ ('sd_validate_timeout', '80',
+ 'Storage domain validate timeout, the maximum number of seconds '
+ 'to wait until all the domains will be validated.'),
+
+ ('scsi_rescan_minimal_timeout', '2',
+ 'The minimum number of seconds to wait for scsi scan to return.'),
+
+ ('scsi_rescan_maximal_timeout', '30',
+ 'The maximal number of seconds to wait for scsi scan to return.'),
+
+ ('sd_health_check_delay', '10',
+ 'Storage domain health check delay, the amount of seconds to '
+ 'wait between two successive run of the domain health check.'),
+
+ ('nfs_mount_options', 'soft,nosharecache',
+ 'NFS mount options, comma-separated list (NB: no white space '
+ 'allowed!)'),
+
+ ('pools_data_dir', '@POOLSDIR@', None),
+
+ ('vol_extend_policy', 'ON', None),
+
+ ('lock_util_path', '@LIBEXECDIR@', None),
+
+ ('lock_cmd', 'spmprotect.sh', None),
+
+ ('free_lock_cmd', 'spmstop.sh', None),
+
+ ('thread_pool_size', '10', None),
+
+ ('max_tasks', '500', None),
+
+ ('lvm_dev_whitelist', '', None),
+
+ ('md_backup_versions', '30', None),
+
+ ('md_backup_dir', '@BACKUPDIR@', None),
+
+ ('maximum_allowed_pvs', '8',
+ 'The number of PVs per VG has a hard-coded limit of 10.'),
+
+ ('repo_stats_cache_refresh_timeout', '300', None),
+
+ ('task_resource_default_timeout', '120000', None),
+
+ ('prepare_image_timeout', '600000', None),
+
+ ('gc_blocker_force_collect_interval', '60', None),
+
+ ('maximum_domains_in_pool', '100',
+ 'Process pool configuration.'),
+
+ ('process_pool_size', '100', None),
+
+ ('process_pool_timeout', '60', None),
+
+ ('process_pool_grace_period', '2', None),
+
+ ('process_pool_max_slots_per_domain', '10', None),
+
+ ('iscsi_default_ifaces', 'default',
+ 'Comma seperated ifaces to connect with. '
+ 'i.e. iser,default'),
+
+ ('use_volume_leases', 'false',
+ 'Whether to use the volume leases or not.'),
+ ]),
+]
+
+
+def __prepare_config():
+ global config
+
+ for section, keylist in parameters:
+ config.add_section(section)
+ for key, value, comment in keylist:
+ config.set(section, key, value)
+
+def print_config():
+ twp = textwrap.TextWrapper(initial_indent='# ', subsequent_indent='#
')
+
+ print twp.fill("HSM Sample Configuration")
+ print
+
+ for section, keylist in parameters:
+ print "[%s]\n" % section
+
+ for key, value, comment in keylist:
+ if comment:
+ print twp.fill(comment)
+ print twp.fill("%s = %s" % (key, value))
+ print
+
+config = ConfigParser.ConfigParser()
+__prepare_config()
+config.read([os.path.join('@CONFDIR@', 'hsm.conf')])
+
+if __name__ == '__main__':
+ print_config()
diff --git a/vdsm/storage/dispatcher.py b/vdsm/storage/dispatcher.py
index 7c765a2..9eb7b03 100644
--- a/vdsm/storage/dispatcher.py
+++ b/vdsm/storage/dispatcher.py
@@ -19,7 +19,7 @@
#
import logging
-from vdsm.config import config
+from hsmd.config import config
import task
import storage_exception as se
diff --git a/vdsm/storage/domainMonitor.py b/vdsm/storage/domainMonitor.py
index 6f333ee..858a450 100644
--- a/vdsm/storage/domainMonitor.py
+++ b/vdsm/storage/domainMonitor.py
@@ -24,7 +24,7 @@
import logging
import misc
-from vdsm.config import config
+from hsmd.config import config
from sdc import sdCache
diff --git a/vdsm/storage/fileVolume.py b/vdsm/storage/fileVolume.py
index 2aab4d4..19405b3 100644
--- a/vdsm/storage/fileVolume.py
+++ b/vdsm/storage/fileVolume.py
@@ -23,7 +23,7 @@
import sanlock
import storage_exception as se
-from vdsm.config import config
+from hsmd.config import config
from sdc import sdCache
import outOfProcess as oop
import volume
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index efb2749..968cdd9 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -37,7 +37,7 @@
import math
import stat
-from vdsm.config import config
+from hsmd.config import config
import sp
import sd
import blockSD
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 4364c38..cf8a385 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -29,7 +29,7 @@
import sd
import misc
import fileUtils
-from vdsm.config import config
+from hsmd.config import config
import storage_exception as se
import task
from threadLocal import vars
diff --git a/vdsm/storage/iscsi.py b/vdsm/storage/iscsi.py
index dc3e30e..9a11bfd 100644
--- a/vdsm/storage/iscsi.py
+++ b/vdsm/storage/iscsi.py
@@ -32,7 +32,7 @@
from vdsm import constants
import misc
-from vdsm.config import config
+from hsmd.config import config
import devicemapper
from threading import RLock
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index e94f2f3..04730df 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -41,7 +41,7 @@
import misc
import multipath
import storage_exception as se
-from vdsm.config import config
+from hsmd.config import config
import devicemapper
log = logging.getLogger("Storage.LVM")
diff --git a/vdsm/storage/outOfProcess.py b/vdsm/storage/outOfProcess.py
index c0d85d4..71ec11a 100644
--- a/vdsm/storage/outOfProcess.py
+++ b/vdsm/storage/outOfProcess.py
@@ -19,7 +19,7 @@
#
import types
-from vdsm.config import config
+from hsmd.config import config
import threading
from functools import partial
diff --git a/vdsm/storage/resourceFactories.py b/vdsm/storage/resourceFactories.py
index f53fa35..9ef2f1c 100644
--- a/vdsm/storage/resourceFactories.py
+++ b/vdsm/storage/resourceFactories.py
@@ -19,7 +19,7 @@
#
import os
-from vdsm.config import config
+from hsmd.config import config
import logging
import lvm
import resourceManager as rm
diff --git a/vdsm/storage/safelease.py b/vdsm/storage/safelease.py
index bff69fc..6662d08 100644
--- a/vdsm/storage/safelease.py
+++ b/vdsm/storage/safelease.py
@@ -19,7 +19,7 @@
#
import os
-from vdsm.config import config
+from hsmd.config import config
import misc
import subprocess
import sanlock
diff --git a/vdsm/storage/sd.py b/vdsm/storage/sd.py
index cfb46a0..9ccca86 100644
--- a/vdsm/storage/sd.py
+++ b/vdsm/storage/sd.py
@@ -35,7 +35,7 @@
import outOfProcess as oop
from persistentDict import unicodeEncoder, unicodeDecoder
-from vdsm.config import config
+from hsmd.config import config
DOMAIN_MNT_POINT = 'mnt'
DOMAIN_META_DATA = 'dom_md'
diff --git a/vdsm/storage/sdc.py b/vdsm/storage/sdc.py
index f2f4534..816f95b 100644
--- a/vdsm/storage/sdc.py
+++ b/vdsm/storage/sdc.py
@@ -24,7 +24,7 @@
"""
import logging
import threading
-from vdsm.config import config
+from hsmd.config import config
import multipath
import lvm
diff --git a/vdsm/storage/sp.py b/vdsm/storage/sp.py
index 40d15b3..73718b5 100644
--- a/vdsm/storage/sp.py
+++ b/vdsm/storage/sp.py
@@ -39,7 +39,7 @@
import sd
import misc
import fileUtils
-from vdsm.config import config
+from hsmd.config import config
from sdc import sdCache
import storage_exception as se
from persistentDict import DictValidator, unicodeEncoder, unicodeDecoder
diff --git a/vdsm/storage/storage_mailbox.py b/vdsm/storage/storage_mailbox.py
index 3a3a213..56e6ced 100644
--- a/vdsm/storage/storage_mailbox.py
+++ b/vdsm/storage/storage_mailbox.py
@@ -27,7 +27,7 @@
import logging
import uuid
-from vdsm.config import config
+from hsmd.config import config
import sd
import misc
import task
diff --git a/vdsm/storage/task.py b/vdsm/storage/task.py
index 716c1c0..8c61618 100644
--- a/vdsm/storage/task.py
+++ b/vdsm/storage/task.py
@@ -56,7 +56,7 @@
import resourceManager
from threadLocal import vars
from weakref import proxy
-from vdsm.config import config
+from hsmd.config import config
import outOfProcess as oop
from logUtils import SimpleLogAdapter
diff --git a/vdsm/storage/taskManager.py b/vdsm/storage/taskManager.py
index 3bc12f3..6ce82f2 100644
--- a/vdsm/storage/taskManager.py
+++ b/vdsm/storage/taskManager.py
@@ -21,7 +21,7 @@
import os
import logging
-from vdsm.config import config
+from hsmd.config import config
import storage_exception as se
from task import Task, Job, TaskCleanType
from threadPool import ThreadPool
diff --git a/vdsm/supervdsmServer.py b/vdsm/supervdsmServer.py
index 5effd41..33e827a 100755
--- a/vdsm/supervdsmServer.py
+++ b/vdsm/supervdsmServer.py
@@ -50,7 +50,7 @@
DISKIMAGE_USER, DISKIMAGE_GROUP, P_LIBVIRT_VMCHANNELS
from storage.devicemapper import _removeMapping, _getPathsStatus
import configNetwork
-from vdsm.config import config
+from hsmd.config import config as hsmconfig
import tc
import ksm
import mkimage
@@ -63,7 +63,7 @@
_UDEV_RULE_FILE_NAME = _UDEV_RULE_FILE_DIR + _UDEV_RULE_FILE_PREFIX + \
"%s-%s" + _UDEV_RULE_FILE_EXT
-RUN_AS_TIMEOUT = config.getint("irs", "process_pool_timeout")
+RUN_AS_TIMEOUT = hsmconfig.getint("irs", "process_pool_timeout")
class Timeout(RuntimeError):
diff --git a/vdsm/utils.py b/vdsm/utils.py
index 4b6101d..b9d9bf6 100644
--- a/vdsm/utils.py
+++ b/vdsm/utils.py
@@ -43,7 +43,7 @@
import ethtool
import constants
-from config import config
+from hsmd.config import config as hsmconfig
_THP_STATE_PATH = '/sys/kernel/mm/transparent_hugepage/enabled'
if not os.path.exists(_THP_STATE_PATH):
@@ -648,7 +648,7 @@
class ImagePathStatus(threading.Thread):
def __init__(self, cif, interval=None):
if interval is None:
- interval = config.getint('irs', 'images_check_times')
+ interval = hsmconfig.getint('irs', 'images_check_times')
self._interval = interval
self._cif = cif
self.storageDomains = {}
--
To view, visit
http://gerrit.ovirt.org/10363
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I731f74fff44ac8e75e336d2e41e696aa586c967b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: ShaoHe Feng <shaohef(a)linux.vnet.ibm.com>
Gerrit-Reviewer: Shu Ming <shuming(a)linux.vnet.ibm.com>