Change in vdsm[master]: persist state in _changeBlockDev
by lvroyce@linux.vnet.ibm.com
Royce Lv has uploaded a new change for review.
Change subject: persist state in _changeBlockDev
......................................................................
persist state in _changeBlockDev
persist state to make vm.conf survive recovery
Change-Id: I220b72ebb360356092a2dccc25dfb9f63f638607
Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
---
M vdsm/libvirtvm.py
1 file changed, 2 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/17/8617/1
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index bd43b56..abd8440 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -2028,6 +2028,8 @@
['message']}}
self.cif.teardownVolumePath(self.conf.get(vmDev))
self.conf[vmDev] = path
+ # persist state to keep vm conf consistency in recovery
+ self.saveState()
return {'status': doneCode, 'vmList': self.status()}
def setTicket(self, otp, seconds, connAct, params):
--
To view, visit http://gerrit.ovirt.org/8617
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I220b72ebb360356092a2dccc25dfb9f63f638607
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
10 years, 7 months
Change in vdsm[master]: Move start_needed_srv and shutdown_conflicting_srv to vdsm-t...
by wenyi@linux.vnet.ibm.com
Wenyi Gao has uploaded a new change for review.
Change subject: Move start_needed_srv and shutdown_conflicting_srv to vdsm-tool
......................................................................
Move start_needed_srv and shutdown_conflicting_srv to vdsm-tool
Change-Id: I54eca4b2cc3a17e9819a0188e5dc4c8bd28161da
Signed-off-by: Wenyi Gao <wenyi(a)linux.vnet.ibm.com>
---
M .gitignore
M vdsm-tool/Makefile.am
A vdsm-tool/base.py
A vdsm-tool/needed_service.py.in
M vdsm.spec.in
M vdsm/vdsmd.init.in
6 files changed, 145 insertions(+), 42 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/59/8759/1
diff --git a/.gitignore b/.gitignore
index 49a78ef..f9c26d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,6 +41,7 @@
vdsm/vdsmd.8
vdsm/vdsmd.init
vdsm-tool/load_needed_modules.py
+vdsm-tool/needed_service.py
vdsm-tool/validate_ovirt_certs.py
vdsm_cli/vdsClient
vdsm_cli/vdscli.py
diff --git a/vdsm-tool/Makefile.am b/vdsm-tool/Makefile.am
index 997e339..0ed3226 100644
--- a/vdsm-tool/Makefile.am
+++ b/vdsm-tool/Makefile.am
@@ -27,7 +27,9 @@
dist_vdsmtool_DATA = \
__init__.py \
+ base.py \
load_needed_modules.py \
+ needed_service.py \
passwd.py \
validate_ovirt_certs.py \
$(NULL)
diff --git a/vdsm-tool/base.py b/vdsm-tool/base.py
new file mode 100644
index 0000000..9ded9a1
--- /dev/null
+++ b/vdsm-tool/base.py
@@ -0,0 +1,77 @@
+# Copyright IBM, Corp. 2012
+#
+# 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 subprocess
+
+
+def exec_command(argv):
+ """
+ This function executes a given shell command.
+ """
+ try:
+ p = subprocess.Popen(argv, stdout=subprocess.PIPE,
+ stderr=subprocess.PIPE)
+ out, err = p.communicate()
+ rc = p.returncode
+ except:
+ raise Exception('Failed to execute "%s"', ' '.join(argv),
+ exc_info=True)
+
+ return (rc, out, err)
+
+
+def call_init_function(function, *args, **kwargs):
+ """
+ Call a function from /etc/init.d/functions.
+ """
+ allowed_init_function = ['success', 'failure', 'pidofproc',
+ 'killproc', 'daemon']
+ rc = -1
+ srccmd = 'SYSTEMCTL_SKIP_REDIRECT=true source /etc/init.d/functions;'
+
+ if function not in allowed_init_function:
+ print('Illegal function "%s"', function)
+ return rc
+
+ tmpcmd = function + ' '.join('%s=%s' % item for item in kwargs.iteritems())
+ tmpcmd += ' ' + ' '.join(args)
+ # Only allow to execute one shell command.
+ if any(c in tmpcmd for c in (';', '&&', '||')):
+ print('Illegal function parameters "%s"', tmpcmd)
+ return rc
+
+ cmd = srccmd + tmpcmd
+ try:
+ rc = subprocess.call([cmd], shell=True)
+ except:
+ raise Exception('Failed to execute "%s"', cmd, exc_info=True)
+
+ return rc
+
+
+def print_msg(msg, success=True):
+ """
+ Print message followed by a color string "[ OK ]" or "[Failed]".
+ """
+ print msg,
+ if success:
+ call_init_function('success')
+ else:
+ call_init_function('failure')
+ print
diff --git a/vdsm-tool/needed_service.py.in b/vdsm-tool/needed_service.py.in
new file mode 100644
index 0000000..5266408
--- /dev/null
+++ b/vdsm-tool/needed_service.py.in
@@ -0,0 +1,61 @@
+# Copyright IBM, Corp. 2012
+#
+# 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
+
+from vdsm import constants
+from vdsm.tool.base import exec_command, print_msg
+from vdsm.tool import expose
+
+EX_CHKCONFIG = '@CHKCONFIG_PATH@'
+EX_SERVICE = constants.EXT_SERVICE
+
+
+@expose('shutdown-conflicting-srv')
+def shutdown_conflicting_srv():
+ """
+ Shutdown conflicting service
+ """
+ srv = 'libvirt-guests'
+ exec_command([EX_CHKCONFIG, srv, 'off'])
+ rc = exec_command([EX_SERVICE, srv, 'status'])[0]
+ if rc == 0:
+ if os.path.exists('/var/lock/subsys/libvirt-guests'):
+ os.unlink('/var/lock/subsys/libvirt-guests')
+ else:
+ exec_command([EX_SERVICE, srv, 'stop'])
+ return 0
+
+
+@expose('start-needed-srv')
+def start_needed_srv():
+ """
+ Start needed service
+ """
+ services = ['iscsid', 'multipathd', 'ntpd', 'wdmd', 'sanlock']
+ for srv in services:
+ rc = exec_command([EX_SERVICE, srv, 'status'])[0]
+ if rc != 0:
+ print 'Starting %s...' % srv
+ rc = exec_command([EX_SERVICE, srv, 'start'])[0]
+ if rc != 0:
+ print_msg('vdsm: Dependent %s failed to start' % srv, False)
+ return rc
+ exec_command([EX_SERVICE, 'iscsid', 'force-start'])
+ return 0
diff --git a/vdsm.spec.in b/vdsm.spec.in
index f61a36a..dc7ee24 100644
--- a/vdsm.spec.in
+++ b/vdsm.spec.in
@@ -771,6 +771,8 @@
%{python_sitearch}/%{vdsm_name}/tool/passwd.py*
%{python_sitearch}/%{vdsm_name}/tool/validate_ovirt_certs.py*
%{python_sitearch}/%{vdsm_name}/tool/load_needed_modules.py*
+%{python_sitearch}/%{vdsm_name}/tool/needed_service.py*
+%{python_sitearch}/%{vdsm_name}/tool/base.py*
%files tests
%doc %{_datadir}/%{vdsm_name}/tests/README
diff --git a/vdsm/vdsmd.init.in b/vdsm/vdsmd.init.in
index 2b9ad11..35fb05e 100755
--- a/vdsm/vdsmd.init.in
+++ b/vdsm/vdsmd.init.in
@@ -32,8 +32,6 @@
CORE_DUMP_PATH=/var/log/core/core.%p.%t.dump
DOM_METADATA_BACKUP_DIR=/var/log/vdsm/backup
CORE_PATTERN=/proc/sys/kernel/core_pattern
-NEEDED_SERVICES="iscsid multipathd ntpd wdmd sanlock"
-CONFLICTING_SERVICES="libvirt-guests"
LCONF=/etc/libvirt/libvirtd.conf
QCONF=/etc/libvirt/qemu.conf
@@ -130,49 +128,11 @@
fi
}
-shutdown_conflicting_srv() {
- local srv
-
- for srv in $CONFLICTING_SERVICES
- do
- /sbin/chkconfig $srv off
- if /sbin/service $srv status > /dev/null 2>&1;
- then
- if [ "$srv" == "libvirt-guests" ]; then
- /bin/rm -f /var/lock/subsys/libvirt-guests
- else
- /sbin/service $srv stop
- fi
- fi
- done
- return 0
-}
libvirt_should_use_upstart() {
[[ -x /sbin/initctl ]]
}
-start_needed_srv() {
- local srv
- local ret_val
-
- for srv in $NEEDED_SERVICES
- do
- if ! /sbin/service $srv status > /dev/null 2>&1;
- then
- echo "Starting $srv..."
- /sbin/service $srv start
- ret_val=$?
- if [ $ret_val -ne 0 ]
- then
- log_failure_msg "$prog: Dependent $srv failed to start"
- return $ret_val
- fi
- fi
- done
-
- /sbin/service iscsid force-start
-}
test_lo() {
if ! LC_ALL=C /sbin/ifconfig lo | /bin/grep -q UP;
@@ -428,7 +388,7 @@
local ret_val
python @VDSMDIR(a)/hooks.pyc before_vdsm_start
- shutdown_conflicting_srv && stop_libvirtd_sysv
+ /usr/bin/vdsm-tool shutdown-conflicting-srv && stop_libvirtd_sysv
if ! @LIBEXECDIR(a)/vdsm-gencerts.sh --check; then
echo -n $"Configuring a self-signed VDSM host certificate: "
@@ -443,7 +403,7 @@
return $ret_val
fi
- start_needed_srv && start_libvirtd
+ /usr/bin/vdsm-tool start-needed-srv && start_libvirtd
ret_val=$?
if [ $ret_val -ne 0 ]
then
--
To view, visit http://gerrit.ovirt.org/8759
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I54eca4b2cc3a17e9819a0188e5dc4c8bd28161da
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Wenyi Gao <wenyi(a)linux.vnet.ibm.com>
10 years, 7 months
Change in vdsm[master]: minimalistic (incomplete) test for mkimage.py with fail for ...
by josef.pacula@gmail.com
Josef Pacula has uploaded a new change for review.
Change subject: minimalistic (incomplete) test for mkimage.py with fail for non-64base data
......................................................................
minimalistic (incomplete) test for mkimage.py with fail for non-64base data
Change-Id: I1a7656359beb5d116ad1919e237fe084a1208d71
Signed-off-by: Josef Pacula <josef.pacula(a)gmail.com>
---
M tests/Makefile.am
A tests/mkimageTests.py
M vdsm/mkimage.py
3 files changed, 20 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/75/6275/1
--
To view, visit http://gerrit.ovirt.org/6275
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1a7656359beb5d116ad1919e237fe084a1208d71
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Josef Pacula <josef.pacula(a)gmail.com>
10 years, 7 months
Change in vdsm[master]: Logging: config logging in new process of remoteFileHandler
by zhshzhou@linux.vnet.ibm.com
Zhou Zheng Sheng has uploaded a new change for review.
Change subject: Logging: config logging in new process of remoteFileHandler
......................................................................
Logging: config logging in new process of remoteFileHandler
When new process of Python is started by PoolHandler.__init__() to run
remoteFileHandler.py, the logging configurations are lost. This patch
sets the configuration for new process of remoteFileHandler.py correctly.
This patch deals with the logging problem described in the following bug
report in the last paragraph of the "Additional info" section.
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=875678
Change-Id: I1b3b9e2837d632c7532fcd8f7306ed50b0865b5c
Signed-off-by: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
---
M vdsm/storage/remoteFileHandler.py
1 file changed, 7 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/82/9182/1
diff --git a/vdsm/storage/remoteFileHandler.py b/vdsm/storage/remoteFileHandler.py
index edf8e68..34de3ef 100644
--- a/vdsm/storage/remoteFileHandler.py
+++ b/vdsm/storage/remoteFileHandler.py
@@ -32,6 +32,13 @@
from contextlib import contextmanager
from threading import Thread
+from vdsm import constants
+
+if __name__ == "__main__":
+ from logging import config as lconfig
+ loggerConfFile = constants.P_VDSM_CONF + 'logger.conf'
+ lconfig.fileConfig(loggerConfFile)
+
import misc
import fileUtils
--
To view, visit http://gerrit.ovirt.org/9182
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b3b9e2837d632c7532fcd8f7306ed50b0865b5c
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
10 years, 7 months
Change in vdsm[master]: Fix problems with current implementation of forceIscsiRescan
by smizrahi@redhat.com
Saggi Mizrahi has uploaded a new change for review.
Change subject: Fix problems with current implementation of forceIscsiRescan
......................................................................
Fix problems with current implementation of forceIscsiRescan
- Move configuration access out to HSM.
- Fix error in logging when reading a bad configuration file.
- Clean up slow child processes so we don't have a zombie leak.
- Fix performance degradation (minTimeout) for fast HBAs.
Change-Id: Ic4e7173086ba15c7706206c5ee1473ed6d334f9e
Signed-off-by: Saggi Mizrahi <smizrahi(a)redhat.com>
---
M tests/Makefile.am
A tests/iscsiTests.py
M vdsm/config.py.in
M vdsm/storage/hsm.py
M vdsm/storage/iscsi.py
M vdsm/storage/sdc.py
6 files changed, 67 insertions(+), 37 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/72/8172/1
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 52dfda0..98e9112 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -32,6 +32,7 @@
guestIFTests.py \
hooksTests.py \
lsblkTests.py \
+ iscsiTests.py \
main.py \
md_utils_tests.py \
miscTests.py \
diff --git a/tests/iscsiTests.py b/tests/iscsiTests.py
new file mode 100644
index 0000000..63138fe
--- /dev/null
+++ b/tests/iscsiTests.py
@@ -0,0 +1,14 @@
+from storage import iscsi
+from testrunner import VdsmTestCase as TestCaseBase
+
+
+class IscsiForceRescanTests(TestCaseBase):
+ def testThatRuns(self):
+ #TODO: It's quite complex actually checking that it did the right
+ # thing. For now just make sure that it runs.
+ iscsi.forceIScsiScan(30)
+
+ def testTimeoutFlow(self):
+ #TODO: It's quite complex actually checking that it did the right
+ # thing. For now just make sure that it runs.
+ iscsi.forceIScsiScan(0)
diff --git a/vdsm/config.py.in b/vdsm/config.py.in
index df85e7e..5dbede3 100644
--- a/vdsm/config.py.in
+++ b/vdsm/config.py.in
@@ -176,11 +176,8 @@
'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.'),
+ ('scsi_rescan_timeout', '30',
+ 'The 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 '
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index a89274a..b54ee18 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -293,6 +293,13 @@
def storageRefresh():
lvm._lvminfo.bootstrap()
+ iscsiRescanTimeout = config.getint('irs', 'scsi_rescan_timeout')
+ if (iscsiRescanTimeout < 0):
+ self.log.warning("scsi_rescan_timeout as an invalid value, "
+ "using the default: %d",
+ sdCache.iscsiRescanTimeout)
+
+ sdCache.iscsiRescanTimeout = iscsiRescanTimeout
sdCache.refreshStorage()
self.tasksDir = config.get('irs', 'hsm_tasks')
diff --git a/vdsm/storage/iscsi.py b/vdsm/storage/iscsi.py
index 578b700..4e8f25a 100644
--- a/vdsm/storage/iscsi.py
+++ b/vdsm/storage/iscsi.py
@@ -29,10 +29,11 @@
import errno
import time
from collections import namedtuple
+import select
+import threading
from vdsm import constants
import misc
-from vdsm.config import config
import devicemapper
from threading import RLock
@@ -349,43 +350,52 @@
except iscsiadm.IscsiError:
pass
+# FIXME: Because of sampling method semantics, the first caller in each round
+# will select the timeout. This doesn't matter as currently the timeout never
+# changes. This shows a fundamental problem with this interface. Changing this
+# to something more generic will take to much work and is not necessary at the
+# moment.
@misc.samplingmethod
-def forceIScsiScan():
- processes = []
- minTimeout = config.getint('irs', 'scsi_rescan_minimal_timeout')
- maxTimeout = config.getint('irs', 'scsi_rescan_maximal_timeout')
+def forceIScsiScan(timeout):
+ poller = select.poll()
+ procs = {}
+
for hba in glob.glob(SCAN_PATTERN):
cmd = [constants.EXT_DD, 'of=' + hba]
p = misc.execCmd(cmd, sudo=False, sync=False)
p.stdin.write("- - -")
p.stdin.flush()
p.stdin.close()
- processes.append((hba, p))
- if (minTimeout > maxTimeout or minTimeout < 0):
- minTimeout = 2
- maxTimeout = 30
- log.warning("One of the following configuration arguments has an ",
- "illegal value: scsi_rescan_minimal_timeout or ",
- "scsi_rescan_maximal_timeout. Set to %s and %s seconds ",
- "respectively.", minTimeout, maxTimeout)
- log.debug("Performing SCSI scan, this will take up to %s seconds",
- maxTimeout)
- time.sleep(minTimeout)
- for i in xrange(maxTimeout - minTimeout):
- for p in processes[:]:
- (hba, proc) = p
- if proc.wait(0):
- if proc.returncode != 0:
- log.warning('returncode for: %s is: %s', hba,
- proc.returncode)
- processes.remove(p)
- if not processes:
- break
- else:
- time.sleep(1)
- else:
- log.warning("Still waiting for scsi scan of hbas: %s",
- tuple(hba for p in processes))
+ fd = p.stdout.fileno()
+ poller.register(fd, 0) # Only HUP and ERR
+ procs[fd] = p
+
+ startTime = time.time()
+ timeLeft = timeout
+ while (len(procs) > 0) and (timeLeft > 0):
+ for fd, event in misc.NoIntrPoll(poller.poll, timeout):
+ poller.unregister(fd)
+ p = procs.pop(fd)
+ p.wait()
+
+ timeLeft = timeout - (time.time() - startTime)
+
+ if len(procs) == 0:
+ return
+
+ log.warn("Not all rescan completed in alotted time")
+
+ # We have to put on a thread that waits for the remaining processes,
+ # otherwise we will end up with zombie children
+
+ def collectSlowProcs(procs):
+ for p in procs.itervalues():
+ p.wait()
+
+ t = threading.Thread(target=collectSlowProcs, args=(procs,))
+ t.setDaemon(True)
+ t.start()
+
def devIsiSCSI(dev):
hostdir = os.path.realpath(os.path.join("/sys/block", dev, "device/../../.."))
diff --git a/vdsm/storage/sdc.py b/vdsm/storage/sdc.py
index 90ccc35..bc73291 100644
--- a/vdsm/storage/sdc.py
+++ b/vdsm/storage/sdc.py
@@ -64,6 +64,7 @@
self.__domainCache = {}
self.storage_repo = storage_repo
self.storageStale = True
+ self.iscsiRescanTimeout = 30
def invalidateStorage(self):
self.storageStale = True
@@ -71,7 +72,7 @@
@misc.samplingmethod
def refreshStorage(self):
- multipath.rescan()
+ multipath.rescan(self.iscsiRescanTimeout)
lvm.invalidateCache()
self.storageStale = False
--
To view, visit http://gerrit.ovirt.org/8172
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic4e7173086ba15c7706206c5ee1473ed6d334f9e
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Saggi Mizrahi <smizrahi(a)redhat.com>
10 years, 8 months
Change in vdsm[master]: pep8 clean vdsm/storage/securable.py
by xiawenc@linux.vnet.ibm.com
Wenchao Xia has uploaded a new change for review.
Change subject: pep8 clean vdsm/storage/securable.py
......................................................................
pep8 clean vdsm/storage/securable.py
Change-Id: Ie1c5b97b22ffc921e17e4cef2e79244d5ad190c7
Signed-off-by: wenchao xia <xiawenc(a)linux.vnet.ibm.com>
---
M Makefile.am
M vdsm/storage/securable.py
2 files changed, 10 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/82/4682/1
--
To view, visit http://gerrit.ovirt.org/4682
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie1c5b97b22ffc921e17e4cef2e79244d5ad190c7
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Wenchao Xia <xiawenc(a)linux.vnet.ibm.com>
10 years, 8 months
Change in vdsm[master]: Qunatum POC changes
by gkotton@redhat.com
Gary Kotton has uploaded a new change for review.
Change subject: Qunatum POC changes
......................................................................
Qunatum POC changes
Change-Id: I992a0dd278daefa27e87b696c584bd7cd590c78e
Signed-off-by: Gary Kotton <gkotton(a)redhat.com>
---
M .gitignore
M vdsm/libvirtvm.py
A vdsm/quantum.py
3 files changed, 144 insertions(+), 29 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/43/4043/1
--
To view, visit http://gerrit.ovirt.org/4043
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I992a0dd278daefa27e87b696c584bd7cd590c78e
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Gary Kotton <gkotton(a)redhat.com>
Gerrit-Reviewer: Federico Simoncelli <fsimonce(a)redhat.com>
10 years, 8 months
Change in vdsm[master]: Title: fix some code style consist with pep8
by baichm@linux.vnet.ibm.com
Bruce Bai has uploaded a new change for review.
Change subject: Title: fix some code style consist with pep8
......................................................................
Title: fix some code style consist with pep8
content: fix some storage code files pep8 style.
Change-Id: I50cf61d9b7815cbdd5571930e3f9be59183a83f4
Signed-off-by: Changming Bai <baichm(a)linux.vnet.ibm.com>
---
M Makefile.am
M vdsm/storage/__init__.py
M vdsm/storage/safelease.py
M vdsm/storage/storageConstants.py
M vdsm/storage/storage_exception.py
M vdsm/storage/sync.py
6 files changed, 373 insertions(+), 33 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/00/4500/1
--
To view, visit http://gerrit.ovirt.org/4500
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I50cf61d9b7815cbdd5571930e3f9be59183a83f4
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Bruce Bai <baichm(a)linux.vnet.ibm.com>
10 years, 8 months
Change in vdsm[master]: Modify before_vm_migrate_source.py for PEP8 compliance
by qiaoliyong@gmail.com
Eli Qiao has uploaded a new change for review.
Change subject: Modify before_vm_migrate_source.py for PEP8 compliance
......................................................................
Modify before_vm_migrate_source.py for PEP8 compliance
Change-Id: I33b157093350f0c96639836175d2b313fd684984
Signed-off-by: Eli Qiao <qiaoliyong(a)gmail.com>
---
M vdsm_hooks/hostusb/before_vm_migrate_source.py
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/31/4331/1
--
To view, visit http://gerrit.ovirt.org/4331
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I33b157093350f0c96639836175d2b313fd684984
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eli Qiao <qiaoliyong(a)gmail.com>
10 years, 8 months
Change in vdsm[master]: Modify before_vm_migrate_source.py for PEP8 compliance
by qiaoliyong@gmail.com
Eli Qiao has uploaded a new change for review.
Change subject: Modify before_vm_migrate_source.py for PEP8 compliance
......................................................................
Modify before_vm_migrate_source.py for PEP8 compliance
Change-Id: I0b02d00083eb0390be4708f122c94f6682c03359
Signed-off-by: Eli Qiao <qiaoliyong(a)gmail.com>
---
M vdsm_hooks/sriov/before_vm_migrate_source.py
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/32/4332/1
--
To view, visit http://gerrit.ovirt.org/4332
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b02d00083eb0390be4708f122c94f6682c03359
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eli Qiao <qiaoliyong(a)gmail.com>
10 years, 8 months