oVirt Jenkins CI Server has posted comments on this change.
Change subject: Added unit test libvirtvmTests.py:TestLibvirtvm.testBuildCmdLine
......................................................................
Patch Set 7:
Build Started http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/2224/ (1/2)
--
To view, visit http://gerrit.ovirt.org/14111
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I74b898a6398a72608d7933009644703aa3f8d831
Gerrit-PatchSet: 7
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
oVirt Jenkins CI Server has posted comments on this change.
Change subject: Added unit test libvirtvmTests.py:TestLibvirtvm.testBuildCmdLine
......................................................................
Patch Set 6: Fails
Build Failed
http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/2223/ : FAILURE
http://jenkins.ovirt.org/job/vdsm_pep8_gerrit/2162/ : SUCCESS
--
To view, visit http://gerrit.ovirt.org/14111
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I74b898a6398a72608d7933009644703aa3f8d831
Gerrit-PatchSet: 6
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
oVirt Jenkins CI Server has posted comments on this change.
Change subject: Added unit test libvirtvmTests.py:TestLibvirtvm.testBuildCmdLine
......................................................................
Patch Set 6:
Build Started http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/2223/ (2/2)
--
To view, visit http://gerrit.ovirt.org/14111
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I74b898a6398a72608d7933009644703aa3f8d831
Gerrit-PatchSet: 6
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
oVirt Jenkins CI Server has posted comments on this change.
Change subject: Added unit test libvirtvmTests.py:TestLibvirtvm.testBuildCmdLine
......................................................................
Patch Set 6:
Build Started http://jenkins.ovirt.org/job/vdsm_pep8_gerrit/2162/ (1/2)
--
To view, visit http://gerrit.ovirt.org/14111
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I74b898a6398a72608d7933009644703aa3f8d831
Gerrit-PatchSet: 6
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Maciej Lichon <maciej.lichon.wroclaw(a)gmail.com>
Gerrit-Reviewer: Michal Skrivanek <michal.skrivanek(a)redhat.com>
Gerrit-Reviewer: Vinzenz Feenstra <vfeenstr(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Assaf Muller has uploaded a new change for review.
Change subject: vdsm now prints when a SIGTERM or SIGUSR1 is handled.
......................................................................
vdsm now prints when a SIGTERM or SIGUSR1 is handled.
In response to:
https://bugzilla.redhat.com/show_bug.cgi?id=958740
Change-Id: I2285a1e4af10bfa40b7e8f1d6a1dba4fd1f7a48c
Signed-off-by: Assaf Muller <amuller(a)redhat.com>
---
M vdsm/vdsm
1 file changed, 4 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/34/14434/1
diff --git a/vdsm/vdsm b/vdsm/vdsm
index 3372596..588452c 100755
--- a/vdsm/vdsm
+++ b/vdsm/vdsm
@@ -40,12 +40,16 @@
def serve_clients(log):
cif = None
+ log = logging.getLogger('vds')
+
def sigtermHandler(signum, frame):
if cif:
+ log.debug("SIGTERM received with signal %s" % signum)
cif.prepareForShutdown()
def sigusr1Handler(signum, frame):
if cif and cif.irs:
+ log.debug("SIGUSR1 received with signal %s" % signum)
cif.irs.spmStop(
cif.irs.getConnectedStoragePoolsList()['poollist'][0])
--
To view, visit http://gerrit.ovirt.org/14434
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2285a1e4af10bfa40b7e8f1d6a1dba4fd1f7a48c
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Assaf Muller <amuller(a)redhat.com>
Federico Simoncelli has uploaded a new change for review.
Change subject: libvirtvm: avoid concurrent saveState during diskReplica
......................................................................
libvirtvm: avoid concurrent saveState during diskReplica
When multiple diskReplica requests come in for the same VM there a
chance that the VM configuration is modified during a deepcopy in
the saveState method resulting in an exception (e.g. RuntimeError:
dictionary changed size during iteration). To avoid this problem the
saveState requests are now serialized.
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=923194
Change-Id: Ic08b4073f5e3f5184baa5f1c7dd3ec5a148ff60b
Signed-off-by: Federico Simoncelli <fsimonce(a)redhat.com>
---
M vdsm/libvirtvm.py
1 file changed, 34 insertions(+), 24 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/24/13624/1
diff --git a/vdsm/libvirtvm.py b/vdsm/libvirtvm.py
index 607dedb..9c9fd9c 100644
--- a/vdsm/libvirtvm.py
+++ b/vdsm/libvirtvm.py
@@ -1030,6 +1030,9 @@
self._customize()
+ def isDiskReplicationInProgress(self):
+ return hasattr(self, "diskReplicate"):
+
@property
def volExtensionChunk(self):
"""
@@ -1038,7 +1041,7 @@
can also dynamically change according to the VM needs (e.g. increase
during a live storage migration).
"""
- if hasattr(self, "diskReplicate"):
+ if self.isDiskReplicationInProgress():
return self.VOLWM_CHUNK_MB * self.VOLWM_CHUNK_REPLICATE_MULT
return self.VOLWM_CHUNK_MB
@@ -1276,6 +1279,7 @@
self._devXmlHash = '0'
self._released = False
self._releaseLock = threading.Lock()
+ self._diskReplicaLock = threading.Lock()
self.saveState()
self._watchdogEvent = {}
@@ -2252,35 +2256,38 @@
dictionary that is stored on disk (so that the information is not
lost across restarts).
"""
- for device in self.conf["devices"]:
- if (device['type'] == vm.DISK_DEVICES
- and device.get("name") == srcDrive.name):
- device['diskReplicate'] = dstDisk
- break
- else:
- raise LookupError("No such drive: '%s'" % srcDrive.name)
+ with self._diskReplicaLock:
+ if srcDrive.isDiskReplicationInProgress():
+ raise RuntimeError("Disk '%s' already has an ongoing "
+ "replication" % srcDrive.name)
- srcDrive.diskReplicate = dstDisk
- self.saveState()
+ for device in self.conf["devices"]:
+ if (device['type'] == vm.DISK_DEVICES
+ and device.get("name") == srcDrive.name):
+ device['diskReplicate'] = dstDisk
+ break
+ else:
+ raise LookupError("No such drive: '%s'" % srcDrive.name)
- def isDiskReplicationInProgress(self, srcDrive):
- return hasattr(srcDrive, 'diskReplicate')
+ srcDrive.diskReplicate = dstDisk
+ self.saveState()
def _delDiskReplica(self, srcDrive):
"""
This utility method is the inverse of _setDiskReplica, look at the
_setDiskReplica description for more information.
"""
- for device in self.conf["devices"]:
- if (device['type'] == vm.DISK_DEVICES
- and device.get("name") == srcDrive.name):
- del device['diskReplicate']
- break
- else:
- raise LookupError("No such drive: '%s'" % srcDrive.name)
+ with self._diskReplicaLock:
+ for device in self.conf["devices"]:
+ if (device['type'] == vm.DISK_DEVICES
+ and device.get("name") == srcDrive.name):
+ del device['diskReplicate']
+ break
+ else:
+ raise LookupError("No such drive: '%s'" % srcDrive.name)
- del srcDrive.diskReplicate
- self.saveState()
+ del srcDrive.diskReplicate
+ self.saveState()
def diskReplicateStart(self, srcDisk, dstDisk):
try:
@@ -2288,10 +2295,13 @@
except LookupError:
return errCode['imageErr']
- if self.isDiskReplicationInProgress(srcDrive):
+ try:
+ self._setDiskReplica(srcDrive, dstDisk)
+ except:
+ self.log.error("Unable to set the replication for disk %s" %
+ srcDrive.name, exc_info=True)
return errCode['replicaErr']
- self._setDiskReplica(srcDrive, dstDisk)
dstDiskCopy = dstDisk.copy()
# The device entry is enforced because stricly required by
@@ -2332,7 +2342,7 @@
except LookupError:
return errCode['imageErr']
- if not self.isDiskReplicationInProgress(srcDrive):
+ if not srcDrive.isDiskReplicationInProgress():
return errCode['replicaErr']
# Looking for the replication blockJob info (checking its presence)
--
To view, visit http://gerrit.ovirt.org/13624
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic08b4073f5e3f5184baa5f1c7dd3ec5a148ff60b
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
Zhou Zheng Sheng has posted comments on this change.
Change subject: mom: add mom balloon functional tests for running vms
......................................................................
Patch Set 5:
I just created a WIKI page for VDSM functional tests http://www.ovirt.org/Vdsm_Functional_Tests . Maybe you can add some instructions on how to setup an environment for MOM functional tests to the WIKI page.
--
To view, visit http://gerrit.ovirt.org/13156
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I922568233dc769d83e2fdffe1c24439d13d03d7e
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Mei Liu <liumbj(a)linux.vnet.ibm.com>
Gerrit-Reviewer: Doron Fediuck <dfediuck(a)redhat.com>
Gerrit-Reviewer: Mark Wu <wudxw(a)linux.vnet.ibm.com>
Gerrit-Reviewer: Mei Liu <liumbj(a)linux.vnet.ibm.com>
Gerrit-Reviewer: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
Gerrit-Reviewer: oVirt Jenkins CI Server