Eduardo has uploaded a new change for review.
Change subject: Enable VM migration to old vdsm's.
......................................................................
Enable VM migration to old vdsm's.
Old vdsm's can't run VM from /var/run/vdsm/storage and rely on
/rhev/data-center hierarchy.
Change-Id: Ia778ad743a11b4c1d212857d8f25c81eb4c0defe
Bug-Url:
https://bugzilla.redhat.com/show_bug.cgi?id=1011608
Signed-off-by: Eduardo <ewarszaw(a)redhat.com>
---
M vdsm/storage/blockSD.py
M vdsm/storage/fileSD.py
M vdsm/storage/hsm.py
3 files changed, 22 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/25/19825/1
diff --git a/vdsm/storage/blockSD.py b/vdsm/storage/blockSD.py
index d27f331..b014253 100644
--- a/vdsm/storage/blockSD.py
+++ b/vdsm/storage/blockSD.py
@@ -1029,6 +1029,19 @@
vols, rems = self.getAllVolumesImages()
return rems
+ def linkBCImage(self, imgPath, imgUUID):
+ dst = os.path.join(self.mountpoint, self.sdUUID, sd.DOMAIN_IMAGES,
+ imgUUID)
+ try:
+ os.symlink(imgPath, dst)
+ except OSError as e:
+ if e.errno == errno.EEXIST:
+ self.log.debug("img run vol already exists: %s", dstVol)
+ else:
+ self.log.error("Failed to create img run vol: %s", dstVol)
+ raise
+ return dst
+
def createImageLinks(self, srcImgPath, imgUUID, volUUIDs):
"""
qcow chain is build by reading each qcow header and reading the path
diff --git a/vdsm/storage/fileSD.py b/vdsm/storage/fileSD.py
index 8e788a5..8da30bb 100644
--- a/vdsm/storage/fileSD.py
+++ b/vdsm/storage/fileSD.py
@@ -418,6 +418,10 @@
return dict((k, sd.ImgsPar(tuple(v['imgs']), v['parent']))
for k, v in volumes.iteritems())
+ def linkBCImage(self, imgPath, imgUUID):
+ return os.path.join(self.mountpoint, self.sdUUID, sd.DOMAIN_IMAGES,
+ imgUUID)
+
def createImageLinks(self, srcImgPath, imgUUID):
"""
qcow chain is build by reading each qcow header and reading the path
diff --git a/vdsm/storage/hsm.py b/vdsm/storage/hsm.py
index 4f5a8a7..061182d 100644
--- a/vdsm/storage/hsm.py
+++ b/vdsm/storage/hsm.py
@@ -3230,8 +3230,12 @@
# Filter volumes related to this image
imgVolumes = sd.getVolsOfImage(allVols, imgUUID).keys()
imgPath = dom.activateVolumes(imgUUID, imgVolumes)
+ if spUUID and spUUID != sd.BLANK_UUID:
+ runImgPath = dom.linkBCImage(imgPath, imgUUID)
+ else:
+ runImgPath = imgPath
- leafPath = os.path.join(imgPath, leafUUID)
+ leafPath = os.path.join(runImgPath, leafUUID)
for volUUID in imgVolumes:
path = os.path.join(dom.domaindir, sd.DOMAIN_IMAGES, imgUUID,
volUUID)
--
To view, visit
http://gerrit.ovirt.org/19825
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia778ad743a11b4c1d212857d8f25c81eb4c0defe
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Eduardo <ewarszaw(a)redhat.com>