oVirt Jenkins CI Server has posted comments on this change.
Change subject: vdsm: add support for multiple iSCSI interfaces
......................................................................
Patch Set 1:
No Builds Executed
http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit_el/4454/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
http://jenkins.ovirt.org/job/vdsm_pep8_gerrit/5256/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/5334/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
--
To view, visit http://gerrit.ovirt.org/20981
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I0ea11855623a9fa8398a1027b55ba7ac335998b6
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Martin Goldstone <m.j.goldstone(a)keele.ac.uk>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: No
Dan Kenigsberg has posted comments on this change.
Change subject: xmlrpc: Parsing error logging enhancement - vdsClient
......................................................................
Patch Set 5: Code-Review-1
(2 comments)
....................................................
File lib/vdsm/vdscli.py.in
Line 34:
Line 35:
Line 36: class TransportWrapper:
Line 37: def __init__(self, transport):
Line 38: self._parse = transport.parse_response
_orig_parse_response would be a better name.
Line 39: transport.parse_response = lambda *args, **kwargs: {
Line 40: self.wrapping_func(args, kwargs)
Line 41: }
Line 42:
Line 39: transport.parse_response = lambda *args, **kwargs: {
Line 40: self.wrapping_func(args, kwargs)
Line 41: }
Line 42:
Line 43: def _wrap(self, func, args, kwargs):
Please have a specific "wrapped_parse_response" function. No need for this general wrapper. It would save us the lambda and "wrapping_func".
Line 44: try:
Line 45: return func(*args, **kwargs)
Line 46: except ExpatError as e:
Line 47: sys.stderr.write('Parsing error was thrown during parsing '
--
To view, visit http://gerrit.ovirt.org/20627
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ife29c4f7749b9cd8a4ad892f486d91509e505ae4
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi(a)redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei(a)redhat.com>
Gerrit-Reviewer: mooli tayer <mtayer(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
Yaniv Bronhaim has posted comments on this change.
Change subject: xmlrpc: Parsing error logging enhancement - vdsClient
......................................................................
Patch Set 4:
(1 comment)
....................................................
File lib/vdsm/vdscli.py.in
Line 57: except ExpatError as e:
Line 58: sys.stderr.write('Parsing error was thrown during parsing '
Line 59: 'response. Following arguments were passed: ')
Line 60: for arg in enumerate(args):
Line 61: sys.stdout.write(arg[1])
but not better to see an attribute name next to its value as you proposed in patchset 3?
Line 62: raise e
Line 63: return result
Line 64:
Line 65:
--
To view, visit http://gerrit.ovirt.org/20627
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ife29c4f7749b9cd8a4ad892f486d91509e505ae4
Gerrit-PatchSet: 4
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi(a)redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei(a)redhat.com>
Gerrit-Reviewer: mooli tayer <mtayer(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
Federico Simoncelli has uploaded a new change for review.
Change subject: vm: [wip] fix drive extension in _onAbnormalStop
......................................................................
vm: [wip] fix drive extension in _onAbnormalStop
Change-Id: I0bf9b69c4e62c800bd9208cf7e9e0ead05a656ba
Signed-off-by: Federico Simoncelli <fsimonce(a)redhat.com>
---
M vdsm/vm.py
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/80/20280/1
diff --git a/vdsm/vm.py b/vdsm/vm.py
index 0f9a859..7a6d344 100644
--- a/vdsm/vm.py
+++ b/vdsm/vm.py
@@ -4267,7 +4267,8 @@
self._guestCpuRunning = False
if err.upper() == 'ENOSPC':
for d in self._devices[DISK_DEVICES]:
- if d.alias == blockDevAlias:
+ if (d.alias == blockDevAlias
+ and d.blockDev and d.format == 'cow'):
#in the case of a qcow2-like file stored inside a block
#device 'physical' will give the block device size, while
#'allocation' will give the qcow2 image size
--
To view, visit http://gerrit.ovirt.org/20280
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0bf9b69c4e62c800bd9208cf7e9e0ead05a656ba
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
oVirt Jenkins CI Server has posted comments on this change.
Change subject: xmlrpc: Parsing error logging enhancement - vdsClient
......................................................................
Patch Set 5:
No Builds Executed
http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit_el/4440/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
http://jenkins.ovirt.org/job/vdsm_pep8_gerrit/5244/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
http://jenkins.ovirt.org/job/vdsm_unit_tests_gerrit/5321/ : To avoid overloading the infrastructure, a whitelist for running gerrit triggered jobs has been set in place, if you feel like you should be in it, please contact infra at ovirt dot org.
--
To view, visit http://gerrit.ovirt.org/20627
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: Ife29c4f7749b9cd8a4ad892f486d91509e505ae4
Gerrit-PatchSet: 5
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski(a)gmail.com>
Gerrit-Reviewer: Saggi Mizrahi <smizrahi(a)redhat.com>
Gerrit-Reviewer: Yaniv Bronhaim <ybronhei(a)redhat.com>
Gerrit-Reviewer: mooli tayer <mtayer(a)redhat.com>
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: No
Hello Ayal Baron, Allon Mureinik, Dan Kenigsberg,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/20939
to review the following change.
Change subject: lvm: Do not use udev cache for obtaining device list
......................................................................
lvm: Do not use udev cache for obtaining device list
lvm is obtaining the device list from udev. When using concurrently,
udev sometimes returns incomplete list, which cause lvm to think that a
vg is missing, and the command may fail with "Volume group not found"
error, or "Cannot change VG test while PVs are missing".
lvm fixed this issue in version 2.02.100-7.el6 by disabling udev cache,
setting obtain_device_list_from_udev to 0. Unfortunatlly, lvm fix is not
enough for vdsm, as the fix is applied only if no lvm.conf file exists.
When upgrading existing lvm installation, lvm creates a lvm.conf.rpmnew
file, and the system administrator is responsible for updating lvm
configuration.
This patch disable udev cache using the --config option, used to
override many other lvm options, ensuring proper configuration on both
new and upgraded systems.
Disabling udev cache may have minimal performance effect according to
lvm developers.
Change-Id: Ib55c8d444f3be9f63bfd23d8def60607b5b3dff0
Bug-Url: https://bugzilla.redhat.com/1014942
Signed-off-by: Nir Soffer <nsoffer(a)redhat.com>
Reviewed-on: http://gerrit.ovirt.org/20890
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
Reviewed-by: Ayal Baron <abaron(a)redhat.com>
Reviewed-by: Allon Mureinik <amureini(a)redhat.com>
---
M vdsm/storage/lvm.py
1 file changed, 1 insertion(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/39/20939/1
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index 0c2964e..065e1ea 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -105,6 +105,7 @@
ignore_suspended_devices=1
write_cache_state=0
disable_after_error_count=3
+obtain_device_list_from_udev=0
%s
}
--
To view, visit http://gerrit.ovirt.org/20939
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib55c8d444f3be9f63bfd23d8def60607b5b3dff0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.3
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>
Gerrit-Reviewer: Allon Mureinik <amureini(a)redhat.com>
Gerrit-Reviewer: Ayal Baron <abaron(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Hello Dan Kenigsberg,
I'd like you to do a code review. Please visit
http://gerrit.ovirt.org/20891
to review the following change.
Change subject: upgrade: fix v3ResetMetaVolSize argument
......................................................................
upgrade: fix v3ResetMetaVolSize argument
In commit c072945 (one shot prepare) the v3ResetMetaVolSize argument
was changed from volume object to volume uuid (string) triggering
attribute errors during the execution (e.g. getMetaParam, etc.).
This patch fixes the issue reintroducing the volume objects and the
relevant exception handling.
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1022975
Change-Id: Iddffa996652300e5a5daa19bef5bd7873f39bb15
Signed-off-by: Federico Simoncelli <fsimonce(a)redhat.com>
Reviewed-on: http://gerrit.ovirt.org/20721
Reviewed-by: Dan Kenigsberg <danken(a)redhat.com>
---
M vdsm/storage/imageRepository/formatConverter.py
1 file changed, 15 insertions(+), 3 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/91/20891/1
diff --git a/vdsm/storage/imageRepository/formatConverter.py b/vdsm/storage/imageRepository/formatConverter.py
index a95bfe6..441f484 100644
--- a/vdsm/storage/imageRepository/formatConverter.py
+++ b/vdsm/storage/imageRepository/formatConverter.py
@@ -274,13 +274,25 @@
log.error("Image %s can't be activated.",
imgUUID, exc_info=True)
- for vol in imgVolumes:
+ for volUUID in imgVolumes:
try:
- v3ResetMetaVolSize(vol) # BZ#811880
+ v3ResetMetaVolSize( # BZ#811880
+ domain.produceVolume(imgUUID, volUUID))
except qemuImg.QImgError:
log.error("It is not possible to read the volume %s "
"using qemu-img, the content looks damaged",
- vol.volUUID, exc_info=True)
+ volUUID, exc_info=True)
+
+ except se.VolumeDoesNotExist:
+ log.error("It is not possible to prepare the image %s, the "
+ "volume chain looks damaged", imgUUID,
+ exc_info=True)
+
+ except se.MetaDataKeyNotFoundError:
+ log.error("It is not possible to prepare the image %s, the "
+ "volume metadata looks damaged", imgUUID,
+ exc_info=True)
+
finally:
try:
domain.deactivateImage(imgUUID)
--
To view, visit http://gerrit.ovirt.org/20891
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iddffa996652300e5a5daa19bef5bd7873f39bb15
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: ovirt-3.3
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
Gerrit-Reviewer: Dan Kenigsberg <danken(a)redhat.com>
Dan Kenigsberg has uploaded a new change for review.
Change subject: Avoid M2Crypto races
......................................................................
Avoid M2Crypto races
As documented in
http://www.heikkitoivonen.net/m2crypto/api/M2Crypto.threading-module.html
and painfully recognized long ago in https://bugzilla.redhat.com/482420,
using M2Crypto in a multi-threaded server such as Vdsm requires explicit
initialization.
Change-Id: I83a3ab41a7001758bd37b0124904fbcd0387ffbf
Signed-off-by: Dan Kenigsberg <danken(a)redhat.com>
---
M lib/vdsm/SecureXMLRPCServer.py
1 file changed, 3 insertions(+), 0 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/13/20813/1
diff --git a/lib/vdsm/SecureXMLRPCServer.py b/lib/vdsm/SecureXMLRPCServer.py
index f60baef..7e3563a 100644
--- a/lib/vdsm/SecureXMLRPCServer.py
+++ b/lib/vdsm/SecureXMLRPCServer.py
@@ -35,10 +35,13 @@
import SocketServer
import logging
+import M2Crypto
from M2Crypto import SSL, X509
from vdsm.utils import IPXMLRPCRequestHandler, IPXMLRPCServer
+M2Crypto.threading.init()
+
SecureXMLRPCRequestHandler = IPXMLRPCRequestHandler
--
To view, visit http://gerrit.ovirt.org/20813
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I83a3ab41a7001758bd37b0124904fbcd0387ffbf
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dan Kenigsberg <danken(a)redhat.com>
Nir Soffer has uploaded a new change for review.
Change subject: lvm: Prevent auto-actviation of logical volumes
......................................................................
lvm: Prevent auto-actviation of logical volumes
When using FC storage, physical volumes are connected during boot, and
vdsm logical volumes are auto-activated by /etc/rc.sysinit and/or
/etc/init.d/netfs. This is abnormal situation that vdsm cannot handle,
and leads to data corruption.
This patch prevents auto-activation of vdsm volumes using new
--setactivationskip and --ignoreactivationskip options, introcuded in
lvm 2.02.100.
To make this change easy, lvm.changelv() was modified to accept variable
argument tuples, instead of multiple non-related types. This also
simplify the only caller that use multiple arguments.
Note: upgrade of existing volumes is not implemented yet.
Change-Id: Ie001c5a4c888bb1ca44bedaeeae6fb75e7cbacc0
Bug-Url: https://bugzilla.redhat.com/1009812
Signed-off-by: Nir Soffer <nsoffer(a)redhat.com>
---
M vdsm/storage/blockSD.py
M vdsm/storage/lvm.py
2 files changed, 15 insertions(+), 15 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/32/20832/1
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index b95be21..70998c7 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -989,11 +989,11 @@
Tagging is preferable to rename since it can be done in a single lvm
operation and is resilient to open LVs, etc.
"""
+ prefix = blockVolume.TAG_PREFIX_IMAGE
try:
- lvm.changelv(sdUUID, volUUIDs, (("-a", "y"),
- ("--deltag", blockVolume.TAG_PREFIX_IMAGE + imgUUID),
- ("--addtag", blockVolume.TAG_PREFIX_IMAGE +
- opTag + imgUUID)))
+ lvm.changelv(sdUUID, volUUIDs, ("--available", "y"),
+ ("--deltag", prefix + imgUUID),
+ ("--addtag", prefix + opTag + imgUUID))
except se.StorageException as e:
log.error("Can't activate or change LV tags in SD %s. "
"failing Image %s %s operation for vols: %s. %s",
diff --git a/vdsm/storage/lvm.py b/vdsm/storage/lvm.py
index 0c2964e..f3baeb2 100644
--- a/vdsm/storage/lvm.py
+++ b/vdsm/storage/lvm.py
@@ -749,14 +749,14 @@
"vgchange on vg(s) %s failed. %d %s %s" % (vgs, rc, out, err))
-def changelv(vg, lvs, attrs):
+def changelv(vg, lvs, *attrs):
"""
Change multiple attributes on multiple LVs.
vg: VG name
lvs: a single LV name or iterable of LV names.
- attrs: an iterable of (attr, value) pairs),
- e.g. (('--available', 'y'), ('--permission', 'rw')
+ attrs: lvchange argument tupples. Use None value for unary options.
+ e.g. ('--attr', 'value'), ('--unary', None)
Note:
You may activate an activated LV without error
@@ -769,13 +769,12 @@
lvnames = tuple("%s/%s" % (vg, lv) for lv in lvs)
cmd = ["lvchange"]
cmd.extend(LVM_NOBACKUP)
- if isinstance(attrs[0], str):
- # ("--attribute", "value")
- cmd.extend(attrs)
- else:
- # (("--aa", "v1"), ("--ab", "v2"))
- for attr in attrs:
- cmd.extend(attr)
+ for attr, value in attrs:
+ cmd.append(attr)
+ if value is not None:
+ cmd.append(value)
+ if attr in ("-a", "--available", "--activate") and value == "y":
+ cmd.append('--ignoreactivationskip')
cmd.extend(lvnames)
rc, out, err = _lvminfo.cmd(tuple(cmd), _lvminfo._getVGDevs((vg, )))
_lvminfo._invalidatelvs(vg, lvs)
@@ -1023,7 +1022,8 @@
cont = {True: "y", False: "n"}[contiguous]
cmd = ["lvcreate"]
cmd.extend(LVM_NOBACKUP)
- cmd.extend(("--contiguous", cont, "--size", "%sm" % size))
+ cmd.extend(("--contiguous", cont, "--size", "%sm" % size,
+ "--setactivationskip", "y"))
if initialTag is not None:
cmd.extend(("--addtag", initialTag))
cmd.extend(("--name", lvName, vgName))
--
To view, visit http://gerrit.ovirt.org/20832
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie001c5a4c888bb1ca44bedaeeae6fb75e7cbacc0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Nir Soffer <nsoffer(a)redhat.com>