Change in vdsm[master]: Don't rotate core dump logs on Fedora
by Federico Simoncelli
Federico Simoncelli has uploaded a new change for review.
Change subject: Don't rotate core dump logs on Fedora
......................................................................
Don't rotate core dump logs on Fedora
Core dumps are a system-level configuration and VDSM shouldn't try to
override what the sysadmin decides.
Change-Id: I0a2e86614475fd13de3888b956b5512a24016281
---
M configure.ac
M vdsm.spec.in
M vdsm/Makefile.am
A vdsm/cdumps-logrotate.conf
A vdsm/vdsm-logrotate.conf
D vdsm/vdsm-logrotate.conf.in
6 files changed, 27 insertions(+), 22 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/91/991/1
--
To view, visit http://gerrit.ovirt.org/991
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0a2e86614475fd13de3888b956b5512a24016281
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
10 years, 3 months
Change in vdsm[master]: [WIP] Use sanlock offset when present
by Federico Simoncelli
Federico Simoncelli has uploaded a new change for review.
Change subject: [WIP] Use sanlock offset when present
......................................................................
[WIP] Use sanlock offset when present
Change-Id: I27195f29efa691aadda0cac5afef55b04cc01658
---
M vdsm/storage/blockSD.py
1 file changed, 2 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/29/2129/1
--
To view, visit http://gerrit.ovirt.org/2129
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I27195f29efa691aadda0cac5afef55b04cc01658
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
10 years, 9 months
Change in vdsm[master]: Support the quiesce flag during a live snapshot
by Federico Simoncelli
Federico Simoncelli has uploaded a new change for review.
Change subject: Support the quiesce flag during a live snapshot
......................................................................
Support the quiesce flag during a live snapshot
Change-Id: I61c7c89fb42afa627b3e45cd74af03e032452a7d
---
M vdsm.spec.in
M vdsm/libvirtvm.py
2 files changed, 38 insertions(+), 13 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/23/2223/1
--
To view, visit http://gerrit.ovirt.org/2223
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I61c7c89fb42afa627b3e45cd74af03e032452a7d
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
10 years, 10 months
Change in vdsm[master]: [WIP] MOM Integration
by wudxw@linux.vnet.ibm.com
Mark Wu has uploaded a new change for review.
Change subject: [WIP] MOM Integration
......................................................................
[WIP] MOM Integration
This patch tries to integrate MOM with vdsm. For the descprition of
how this patch works, please see Adam's mail:
https://fedorahosted.org/pipermail/vdsm-devel/2012-February/000628.html
Change-Id: I61e68f72e9115a913d5bc0f4903b906b0d0cce2f
---
M vdsm.spec.in
M vdsm/API.py
M vdsm/Makefile.am
M vdsm/clientIF.py
M vdsm/config.py.in
M vdsm/ksm.py
M vdsm/libvirtvm.py
A vdsm/mom.conf
A vdsm/mom.policy
M vdsm/supervdsmServer.py
A vdsm/vdsMOM.py
M vdsm/vm.py
12 files changed, 271 insertions(+), 9 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/67/2367/1
--
To view, visit http://gerrit.ovirt.org/2367
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I61e68f72e9115a913d5bc0f4903b906b0d0cce2f
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Mark Wu <wudxw(a)linux.vnet.ibm.com>
10 years, 10 months
Change in vdsm[master]: enable attaching non-vlan network to vlanable network.
by shavivi@redhat.com
Shahar Havivi has uploaded a new change for review.
Change subject: enable attaching non-vlan network to vlanable network.
......................................................................
enable attaching non-vlan network to vlanable network.
this patch have a security breach:
when adding a network without a vlan to already attach vlan network this
network can monitor all the traffic of the other vlans.
we may be able to restrict it using ebtables.
Change-Id: Icb96ead734cb1394ff00a99bf7f62b77ad15f1d6
---
M vdsm/configNetwork.py
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/61/2161/1
--
To view, visit http://gerrit.ovirt.org/2161
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Icb96ead734cb1394ff00a99bf7f62b77ad15f1d6
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Shahar Havivi <shavivi(a)redhat.com>
10 years, 11 months
Change in vdsm[master]: Revert "BZ#708779 - Avoid pools with mixed domain versions"
by Dan Kenigsberg
Dan Kenigsberg has uploaded a new change for review.
Change subject: Revert "BZ#708779 - Avoid pools with mixed domain versions"
......................................................................
Revert "BZ#708779 - Avoid pools with mixed domain versions"
This reverts commit 017db3b2740a8c7d22c5366c70600eb47643e8ab.
We would like to allow upgrading a storage pool to new 3.0 format, and
to allow upgrading 2.2 domains automatically when they are attached to a
3.0-formatted pool.
Conflicts:
vdsm/storage/hsm.py
vdsm/storage/sp.py
Change-Id: I70023fe661bc6ab7bed54961c1a25ac0845e2018
---
M vdsm/storage/hsm.py
M vdsm/storage/sp.py
M vdsm/storage/storage_exception.py
3 files changed, 12 insertions(+), 19 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/53/753/1
--
To view, visit http://gerrit.ovirt.org/753
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I70023fe661bc6ab7bed54961c1a25ac0845e2018
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Dan Kenigsberg <danken(a)redhat.com>
10 years, 11 months
[NEW PATCH] Change getChain() to return dictionary with chain itself and its template. (via gerrit-bot)
by Igor Lvovsky
New patch submitted by Igor Lvovsky (ilvovsky(a)redhat.com)
You can review this change at: http://gerrit.usersys.redhat.com/692
commit 3a09f874889cb372ee84b04a234f7b653458e26f
Author: Igor Lvovsky <ilvovsky(a)redhat.com>
Date: Tue Jul 12 15:18:45 2011 +0300
Change getChain() to return dictionary with chain itself and its template.
This change will avoid unneeded produceVolume and improve
behaviour of different flows.
Change-Id: Ife46d592171aedea087e0d6462b735cd7e0d75e0
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 1c70a34..102ea6c 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -104,7 +104,7 @@ class Image:
# 1. Remove template's image: Create 'fake' template instead of deleted one
# 2. Remove regular image: Remove parent-'fake' template if nobody need it already
try:
- pvol = self.getTemplate(sdUUID=sdUUID, imgUUID=imgUUID)
+ pvol = self.getChain(sdUUID, imgUUID)['template']
# 1. If we required to delete template's image that have VMs
# based on it, we should create similar 'fake' template instead
if pvol:
@@ -269,17 +269,16 @@ class Image:
return newImgUUID
- def __chainSizeCalc(self, sdUUID, imgUUID, volUUID, size):
+ def __chainSizeCalc(self, sdUUID, imgUUID, size):
"""
Compute an estimate of the whole chain size
using the sum of the actual size of the chain's volumes
"""
- chain = self.getChain(sdUUID, imgUUID, volUUID)
+ chainDict = self.getChain(sdUUID, imgUUID)
newsize = 0
- template = chain[0].getParentVolume()
- if template:
- newsize = template.getVolumeSize()
- for vol in chain:
+ if chainDict['template']:
+ newsize = chainDict['template'].getVolumeSize()
+ for vol in chainDict['chain']:
newsize += vol.getVolumeSize()
if newsize > size:
newsize = size
@@ -301,12 +300,14 @@ class Image:
newsize = int(newsize * 1.1) # allocate %10 more for cow metadata
return newsize
- def getChain(self, sdUUID, imgUUID, volUUID=None):
+ def getChain(self, sdUUID, imgUUID):
"""
- Return the chain of volumes of image as a sorted list
- (not including a shared base (template) if any)
+ Return the dictionary with chain of volumes of image as a sorted list
+ (not including a shared base (template)) and the template if any
"""
- chain = []
+ # 'chain' - chain of volumes of image as a sorted list
+ # 'template' - shared base (template) if any
+ chainDict = {'chain':[], 'template':None}
# Find all volumes of image
volclass = SDF.produce(sdUUID).getVolumeClass()
uuidlist = volclass.getImageVolumes(self.repoPath, sdUUID, imgUUID)
@@ -316,14 +317,13 @@ class Image:
srcVol = volclass(self.repoPath, sdUUID, imgUUID, uuidlist[0])
# For template image include only one volume (template itself)
if len(uuidlist) == 1 and srcVol.isShared():
- return [srcVol]
+ return {'chain':[srcVol], 'template':srcVol}
# find the leaf
for vol in uuidlist:
srcVol = volclass(self.repoPath, sdUUID, imgUUID, vol)
if srcVol.isLeaf():
- if not volUUID or volUUID == srcVol.volUUID:
- break
+ break
srcVol = None
if not srcVol:
@@ -332,38 +332,25 @@ class Image:
# Build up the sorted (parent->child) chain
while not srcVol.isShared():
- chain.insert(0, srcVol)
+ chainDict['chain'].insert(0, srcVol)
if srcVol.getParent() == volume.BLANK_UUID:
break
srcVol = srcVol.getParentVolume()
- self.log.info("sdUUID=%s imgUUID=%s chain=%s ", sdUUID, imgUUID, str(chain))
- return chain
+ if srcVol.isShared():
+ chainDict['template'] = srcVol
- def getTemplate(self, sdUUID, imgUUID):
- """
- Return template of the image
- """
- tmpl = None
- # Find all volumes of image (excluding template)
- chain = self.getChain(sdUUID, imgUUID)
- # check if the chain is build above a template, or it is a standalone
- pvol = chain[0].getParentVolume()
- if pvol:
- tmpl = pvol
- elif chain[0].isShared():
- tmpl = chain[0]
-
- return tmpl
+ self.log.info("sdUUID=%s imgUUID=%s chainDict=%s ", sdUUID, imgUUID, str(chainDict))
+ return chainDict
def validate(self, srcSdUUID, dstSdUUID, imgUUID, op=MOVE_OP):
"""
Validate template on destination domain
"""
- # Find all volumes of source image
- chain = self.getChain(srcSdUUID, imgUUID)
- leafVol = chain[-1]
srcDom = SDF.produce(srcSdUUID)
+ # Find all volumes of source image
+ chainDict = self.getChain(srcSdUUID, imgUUID)
+ leafVol = chainDict['chain'][-1]
# Avoid move template's image if there is a VM based on it (except 'Backup' domain)
if op == MOVE_OP and leafVol.isShared() and not srcDom.isBackup():
chList = leafVol.getAllChildrenList(self.repoPath, srcSdUUID, imgUUID, leafVol.volUUID)
@@ -371,18 +358,16 @@ class Image:
raise se.MoveTemplateImageError(imgUUID)
# check if the chain is build above a template, or it is a standalone
- pvol = chain[0].getParentVolume()
+ pvol = chainDict['template']
if pvol: # this is a shared template based chain
- if not pvol.isShared():
- raise se.ImageIsNotLegalChain("Base image parent vol %s is not shared" % pvol.volUUID)
pimg = pvol.getImage() # pimg == template image
try:
volclass = SDF.produce(dstSdUUID).getVolumeClass()
# Validate that the destination template exists and accessible
volclass(self.repoPath, dstSdUUID, pimg, pvol.volUUID)
- except se.StorageException, e:
- self.log.error("Unexpected error", exc_info=True)
- raise se.CouldNotValideTemplateOnTargetDomain("Template %s Destination domain %s: %s" % (pimg, dstSdUUID, str(e)))
+ except se.StorageException:
+ self.log.error("Cannot validate template %s on target domain %s", pimg, dstSdUUID, exc_info=True)
+ raise se.CouldNotValideTemplateOnTargetDomain()
def __templateRelink(self, destDom, imgUUID, volUUID):
"""
@@ -473,20 +458,15 @@ class Image:
def _createTargetImage(self, destDom, srcSdUUID, imgUUID):
# Before actual data copying we need perform several operation
# such as: create all volumes, create fake template if needed, ...
- try:
- # Find all volumes of source image
- srcChain = self.getChain(srcSdUUID, imgUUID)
- except se.StorageException:
- self.log.error("Unexpected error", exc_info=True)
- raise
- except Exception, e:
- self.log.error("Unexpected error", exc_info=True)
- raise se.SourceImageActionError(imgUUID, srcSdUUID, str(e))
+
+ # Find all volumes of source image
+ srcChainDict = self.getChain(srcSdUUID, imgUUID)
+ srcChain = srcChainDict['chain']
fakeTemplate = False
pimg = volume.BLANK_UUID # standalone chain
# check if the chain is build above a template, or it is a standalone
- pvol = srcChain[0].getParentVolume()
+ pvol = srcChainDict['template']
if pvol:
# find out parent volume parameters
volParams = pvol.getVolumeParams()
@@ -686,11 +666,9 @@ class Image:
"""
if not self.isLegal(sdUUID, imgUUID):
raise se.ImageIsNotLegalChain(imgUUID)
- chain = self.getChain(sdUUID, imgUUID)
- # check if the chain is build above a template, or it is a standalone
- pvol = chain[0].getParentVolume()
- if pvol:
- if not pvol.isLegal() or pvol.isFake():
+ chainDict = self.getChain(sdUUID, imgUUID)
+ if chainDict['template']:
+ if not chainDict['template'].isLegal() or chainDict['template'].isFake():
raise se.ImageIsNotLegalChain(imgUUID)
def copy(self, sdUUID, vmUUID, srcImgUUID, srcVolUUID, dstImgUUID, dstVolUUID,
@@ -735,8 +713,7 @@ class Image:
# using the sum of the actual size of the chain's volumes
if volParams['volFormat'] != volume.COW_FORMAT or volParams['prealloc'] != volume.SPARSE_VOL:
raise se.IncorrectFormat(self)
- volParams['apparentsize'] = self.__chainSizeCalc(sdUUID, srcImgUUID,
- srcVolUUID, volParams['size'])
+ volParams['apparentsize'] = self.__chainSizeCalc(sdUUID, srcImgUUID, volParams['size'])
# Find out dest volume parameters
if preallocate in [volume.PREALLOCATED_VOL, volume.SPARSE_VOL]:
diff --git a/vdsm/storage/resourceFactories.py b/vdsm/storage/resourceFactories.py
index ce3ec70..07df0f0 100644
--- a/vdsm/storage/resourceFactories.py
+++ b/vdsm/storage/resourceFactories.py
@@ -106,20 +106,18 @@ class ImageResourceFactory(rm.SimpleResourceFactory):
# Get the list of the volumes
repoPath = os.path.join(self.storage_repository, dom.getPools()[0])
try:
- chain = image.Image(repoPath).getChain(sdUUID=self.sdUUID, imgUUID=resourceName)
+ chainDict = image.Image(repoPath).getChain(sdUUID=self.sdUUID, imgUUID=resourceName)
+ chain = chainDict['chain']
except se.ImageDoesNotExistInSD:
log.debug("Image %s does not exist in domain %s", resourceName, self.sdUUID)
return []
- # check if the chain is build above a template, or it is a standalone
- pvol = chain[0].getParentVolume()
- if pvol:
- template = pvol.volUUID
- elif chain[0].isShared():
- # Image of template itself,
- # with no other volumes in chain
- template = chain[0].volUUID
- del chain[:]
+ # Image of template itself,
+ # with no other volumes in chain
+ if chainDict['template']:
+ template = chainDict['template'].volUUID
+ if chainDict['template'] in chain:
+ del chain[:]
volUUIDChain = [vol.volUUID for vol in chain]
volUUIDChain.sort()
11 years
Change in vdsm[master]: bootstrapping: avoid usage of tmp folder
by dfediuck@redhat.com
Doron Fediuck has uploaded a new change for review.
Change subject: bootstrapping: avoid usage of tmp folder
......................................................................
bootstrapping: avoid usage of tmp folder
This patch changes hard-coded tmp path elements, so the scripts
may be used from a different location. Once invoked by the engine-core
from an ad-hoc folder, the bootstrapping scripts should support
working on that folder. This is mainly referring to imports,
certificate files and log files.
Change-Id: I1b5df6dd0b5ff0bdf648cd74d160384b86e5bbf7
---
M vds_bootstrap/vds_bootstrap.py
M vds_bootstrap/vds_bootstrap_complete.py
M vdsm_reg/deployUtil.py.in
3 files changed, 35 insertions(+), 32 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/77/2277/1
--
To view, visit http://gerrit.ovirt.org/2277
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b5df6dd0b5ff0bdf648cd74d160384b86e5bbf7
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Doron Fediuck <dfediuck(a)redhat.com>
11 years
Change in vdsm[master]: Add the REST API bindings
by agl@us.ibm.com
Adam Litke has uploaded a new change for review.
Change subject: Add the REST API bindings
......................................................................
Add the REST API bindings
Conflicts:
vdsm/clientIF.py
Change-Id: I8b914f7ad82fee8d9e7e3ce6847ffe4cda374a56
---
M configure.ac
M vdsm.spec.in
M vdsm/BindingXMLRPC.py
M vdsm/Makefile.am
M vdsm/clientIF.py
M vdsm/config.py.in
A vdsm/rest/BindingREST.py
A vdsm/rest/Controller.py
A vdsm/rest/Dispatcher.py
A vdsm/rest/Makefile.am
A vdsm/rest/Store/LocalDB.py
A vdsm/rest/Store/Makefile.am
A vdsm/rest/Store/StorageDriver.py
A vdsm/rest/Store/__init__.py
A vdsm/rest/__init__.py
A vdsm/rest/templates/Makefile.am
A vdsm/rest/templates/image.json.x
A vdsm/rest/templates/images.json.x
A vdsm/rest/templates/root.json.x
A vdsm/rest/templates/storageconnection.json.x
A vdsm/rest/templates/storageconnections.json.x
A vdsm/rest/templates/storagedomain.json.x
A vdsm/rest/templates/storagedomains.json.x
A vdsm/rest/templates/storagepool.json.x
A vdsm/rest/templates/storagepools.json.x
A vdsm/rest/templates/task.json.x
A vdsm/rest/templates/tasks.json.x
A vdsm/rest/templates/vm.json.x
A vdsm/rest/templates/vmdrive.json.x
A vdsm/rest/templates/vmdrives.json.x
A vdsm/rest/templates/vms.json.x
A vdsm/rest/templates/volume.json.x
A vdsm/rest/templates/volumes.json.x
33 files changed, 1,740 insertions(+), 16 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/21/2021/1
--
To view, visit http://gerrit.ovirt.org/2021
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8b914f7ad82fee8d9e7e3ce6847ffe4cda374a56
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <agl(a)us.ibm.com>
11 years
Change in vdsm[master]: BZ#752470 Related: Out of process getReadDelay
by Federico Simoncelli
Federico Simoncelli has uploaded a new change for review.
Change subject: BZ#752470 Related: Out of process getReadDelay
......................................................................
BZ#752470 Related: Out of process getReadDelay
To avoid being blocked by a thread in a D state we should determine the
read delay using oop also for block devices.
Change-Id: I3d2a16bfec60f6197bbea8e31be722c86cce278e
---
M vdsm/storage/blockSD.py
M vdsm/storage/misc.py
2 files changed, 6 insertions(+), 5 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/64/264/1
--
To view, visit http://gerrit.ovirt.org/264
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3d2a16bfec60f6197bbea8e31be722c86cce278e
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Federico Simoncelli <fsimonce(a)redhat.com>
11 years, 1 month