Adam Litke has uploaded a new change for review.
Change subject: schema: New type VmParameters
......................................................................
schema: New type VmParameters
Although the format of the data passed via VM.create is very similar to a
VmDefinition, some of the parameters don't make sense to pass in the context of
creating a new VM. Solve this by creating a new type for VM parameters.
Change-Id: I00d1b9aed55cbfc2210c1a4091bce17d45b90e67
Signed-off-by: Adam Litke <agl(a)us.ibm.com>
---
M vdsm_api/vdsmapi-schema.json
1 file changed, 48 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/39/7839/1
diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json
index f6d3c77..b1dc60c 100644
--- a/vdsm_api/vdsmapi-schema.json
+++ b/vdsm_api/vdsmapi-schema.json
@@ -2346,6 +2346,53 @@
'vmId': 'UUID', 'vmName': 'str', 'vmType': 'VmType'}}
##
+# @VmDefinition:
+#
+# Full virtual machine status and properties.
+#
+# @acpiEnable: Indicates if ACPI is enabled inside the VM
+#
+# @custom: #opional A dictionary of custom, free-form properties
+#
+# @devices: #optional An array of VM devices requested
+#
+# @display: The type of display
+#
+# @kvmEnable: Indicates if KVM hardware acceleration is enabled
+#
+# @memSize: The amount of memory assigned to the VM in MB
+#
+# @nice: The host scheduling priority
+#
+# @smp: The number of CPUs presented to the VM
+#
+# @smpCoresPerSocket: #optional Indicates the number of CPU cores per socket
+#
+# @smpThreadsPerCore: #optional Indicates the number of CPU threads per core
+#
+# @timeOffset: The time difference from host to the VM in seconds
+#
+# @transparentHugePages: Indicates if the Transparent Huge Pages feature is
+# enabled for this virtual machine
+#
+# @vmId: The VM UUID
+#
+# @vmName: The VM name
+#
+# @vmType: The type of VM
+#
+# Since: 4.10.0
+##
+{'type': 'VmParameters',
+ 'data': {'acpiEnable': 'bool',
+ '*custom': 'StringMap', '*devices': ['VmDevice'],
+ 'display': 'VmDisplayType', 'kvmEnable': 'bool', 'memSize': 'uint',
+ 'nice': 'int', 'smp': 'uint', 'smpCoresPerSocket': 'uint',
+ 'smpThreadsPerCore': 'uint', 'timeOffset': 'uint',
+ 'transparentHugePages': 'bool', 'vmId': 'UUID', 'vmName': 'str',
+ 'vmType': 'VmType'}}
+
+##
# @VmFullStatus:
#
# A VmDefinition uses the same format as a VmFullStatus.
@@ -4278,7 +4325,7 @@
# Since: 4.10.0
##
{'command': {'class': 'VM', 'name': 'create'},
- 'data': {'vmParams': 'VmDefinition'},
+ 'data': {'vmParams': 'VmParameters'},
'returns': 'VmDefinition'}
##
--
To view, visit http://gerrit.ovirt.org/7839
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I00d1b9aed55cbfc2210c1a4091bce17d45b90e67
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <agl(a)us.ibm.com>
Peter V. Saveliev has uploaded a new change for review.
Change subject: BZ#855924 -- fix 3.1 -> 3.0 migration again
......................................................................
BZ#855924 -- fix 3.1 -> 3.0 migration again
The issue was that fixing self._vm.conf is not enough -- we should
fix self._machineParams, that will work in all the cases.
Signed-off-by: Peter V. Saveliev <peet(a)redhat.com>
Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=855924
Change-Id: I334cd39cad3eed30c2c3f1efa7085526454a44fb
---
M vdsm/vm.py
1 file changed, 4 insertions(+), 4 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/36/9036/1
diff --git a/vdsm/vm.py b/vdsm/vm.py
index 2229882..591ac1a 100644
--- a/vdsm/vm.py
+++ b/vdsm/vm.py
@@ -236,15 +236,15 @@
"""
# care only about "drives" list, since
# "devices" doesn't cause errors
- if 'drives' in self._vm.conf:
+ if 'drives' in self._machineParams:
for item in ("cdrom", "floppy"):
new_drives = []
- for drive in self._vm.conf['drives']:
+ for drive in self._machineParams['drives']:
if drive['device'] == item:
- self._vm.conf[item] = drive['path']
+ self._machineParams[item] = drive['path']
else:
new_drives.append(drive)
- self._vm.conf['drives'] = new_drives
+ self._machineParams['drives'] = new_drives
def run(self):
try:
--
To view, visit http://gerrit.ovirt.org/9036
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I334cd39cad3eed30c2c3f1efa7085526454a44fb
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Peter V. Saveliev <peet(a)redhat.com>
Adam Litke has uploaded a new change for review.
Change subject: schema: Return objects rather than UUIDs
......................................................................
schema: Return objects rather than UUIDs
Rather than returning UUIDs and forcing the API user to instantiate their own
objects using those UUIDs, just return initialized objects. This patch just
changes the API schema. The specific implementation of this idea appears in the
patch that implements the code generator.
This is not exhaustive, but an example of the idea. The rest can be converted
over time.
Change-Id: I7fdfe69436d65ef8190d8a5f1d941e7a628c77c0
Signed-off-by: Adam Litke <agl(a)us.ibm.com>
---
M vdsm_api/vdsmapi-schema.json
1 file changed, 87 insertions(+), 71 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/40/7840/1
diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json
index b1dc60c..7e8b9d3 100644
--- a/vdsm_api/vdsmapi-schema.json
+++ b/vdsm_api/vdsmapi-schema.json
@@ -939,12 +939,12 @@
# Get a list of all Storage Pools that are connected to this host.
#
# Returns:
-# A list of Storage Pool UUIDs
+# A list of Storage Pools
#
# Since: 4.10.0
##
{'command': {'class': 'Host', 'name': 'getConnectedStoragePools'},
- 'returns': ['UUID']}
+ 'returns': ['StoragePool']}
##
# @BlockDeviceType:
@@ -1561,15 +1561,15 @@
##
# @Host.getStorageDomains:
#
-# Get a list of known Storage Domain UUIDs.
+# Get a list of known Storage Domains.
#
-# @spUUID: #optional Limit to Domains belonging to this Storage Pool
+# @storagepoolID: #optional Limit to Domains belonging to this Storage Pool
#
-# @domainClass: #optional Limit to Domains of this @StorageDomainImageClass
+# @domainClass: #optional Limit to Domains of this @StorageDomainImageClass
#
-# @storageType: #optional Limit to Domains of this @StorageDomainType
+# @storageType: #optional Limit to Domains of this @StorageDomainType
#
-# @remotePath: #optional Limit to Domains having this remotePath
+# @remotePath: #optional Limit to Domains having this remotePath
#
# Returns:
# A list of known Storage Domains
@@ -1577,9 +1577,9 @@
# Since: 4.10.0
##
{'command': {'class': 'Host', 'name': 'getStorageDomains'},
- 'data': {'*spUUID': 'UUID', '*domainClass': 'StorageDomainImageClass',
+ 'data': {'*storagepoolID': 'UUID', '*domainClass': 'StorageDomainImageClass',
'*storageType': 'StorageDomainType', '*remotePath': 'str'},
- 'returns': ['UUID']}
+ 'returns': ['StorageDomain']}
##
# @Host.getStorageRepoStats:
@@ -2419,18 +2419,16 @@
#
# Get information about the current virtual machines.
#
-# @fullStatus: #optional Set to request complete VM information
-#
# @vmList: #optional Filter the results by a list of UUIDs
#
# Returns:
-# A list of VM definitions
+# A list of VMs
#
# Since: 4.10.0
##
{'command': {'class': 'Host', 'name': 'getVMList'},
- 'data': {'*fullStatus': 'bool', '*vmList': ['UUID']},
- 'returns': ['VmInfo']}
+ 'data': {'*vmList': ['UUID']},
+ 'returns': ['VM']}
##
# @Host.ping:
@@ -2810,18 +2808,19 @@
#
# Image API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: The UUID of the Image
+# @imageID: The UUID of the Image
#
-# @spUUID: The UUID of the Storage Pool associated with the Image
+# @storagepoolID: The UUID of the Storage Pool associated with the Image
#
-# @sdUUID: The UUID of the Storage Domain associated with the Image
+# @storagedomainID: The UUID of the Storage Domain associated with the Image
#
# Since: 4.10.0
##
{'class': 'Image',
- 'data': {'conn': 'Host', 'UUID': 'UUID', 'spUUID': 'UUID', 'sdUUID': 'UUID'}}
+ 'data': {'conn': 'Host', 'imageID': 'UUID', 'storagepoolID': 'UUID',
+ 'storagedomainID': 'UUID'}}
##
# @Image.delete:
@@ -2867,12 +2866,12 @@
# Get a list of Volumes associated with this Image.
#
# Returns:
-# A list of Image UUIDs
+# A list of Volumes
#
# Since: 4.10.0
##
{'command': {'class': 'Image', 'name': 'getVolumes'},
- 'returns': ['UUID']}
+ 'returns': ['Volume']}
##
# @Image.mergeSnapshots:
@@ -2938,13 +2937,15 @@
#
# LVMVolumeGroup API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: #optional Associate this object with an existing LVM Volume Group
+# @lvmvolumegroupID: #optional Associate this object with an existing LVM
+# Volume Group
#
# Since: 4.10.0
##
-{'class': 'LVMVolumeGroup', 'data': {'conn': 'Host', 'UUID': 'UUID'}}
+{'class': 'LVMVolumeGroup',
+ 'data': {'conn': 'Host', 'lvmvolumegroupID': 'UUID'}}
##
# @LVMVolumeGroup.create:
@@ -2997,16 +2998,17 @@
#
# StorageDomain API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: Associate this object with a new or existing Storage Domain
+# @storagedomainID: Associate this object with a new or existing Storage Domain
#
-# @spUUID: #optional The Storage Pool UUID if this Storage Domain is attached
+# @storagepoolID: #optional The Storage Pool UUID if this Storage Domain is
+# attached
#
# Since: 4.10.0
##
{'class': 'StorageDomain',
- 'data': {'conn': 'Host', 'UUID': 'UUID', '*spUUID': 'UUID'}}
+ 'data': {'conn': 'Host', 'storagedomainID': 'UUID', 'storagepoolID': 'UUID'}}
##
# @StorageDomain.activate:
@@ -3022,12 +3024,12 @@
#
# Attach a Storage Domain to a Storage Pool.
#
-# @spUUID: The Storage Pool to which the Storage Domain should be attached
+# @storagepoolID: The UUID of the pool to which this domain should be attached
#
# Since: 4.10.0
##
{'command': {'class': 'StorageDomain', 'name': 'attach'},
- 'data': {'spUUID': 'UUID'}}
+ 'data': {'storagepoolID': 'UUID'}}
##
# @StorageDomainCreateArgumentsBlock:
@@ -3209,12 +3211,12 @@
# Get a list of Images associated with this Storage Domain.
#
# Returns:
-# An array of Image UUIDs
+# An array of Imags
#
# Since: 4.10.0
##
{'command': {'class': 'StorageDomain', 'name': 'getImages'},
- 'returns': ['UUID']}
+ 'returns': ['Image']}
##
# @StorageDomainRole:
@@ -3316,16 +3318,16 @@
#
# Get a list of Volumes contained within a Storage Domain.
#
-# @imgUUID: Limit results to Volumes associated with a single Image
+# @imageID: Limit results to Volumes associated with a single Image
#
# Returns:
-# A list of Volume UUIDs
+# A list of Volumes
#
# Since: 4.10.0
##
{'command': {'class': 'StorageDomain', 'name': 'getVolumes'},
- 'data': {'imgUUID': 'UUID'},
- 'returns': ['UUID']}
+ 'data': {'imageID': 'UUID'},
+ 'returns': ['Volume']}
##
# @StorageDomain.setDescription:
@@ -3357,21 +3359,21 @@
#
# Upload a Volume into a Storage Domain from a remote location.
#
-# @imgUUID: The UUID of the image that is associated with the Volume
+# @imageID: The UUID of the image that is associated with the Volume
#
-# @volUUID: The UUID of an existing Volume where the data will be uploaded
+# @volumeID: The UUID of an existing Volume where the data will be uploaded
#
-# @srcPath: The remote location of the Volume data. Must be in a format that
-# can be understood by the command indicated in @method.
+# @srcPath: The remote location of the Volume data. Must be in a format that
+# can be understood by the command indicated in @method.
#
-# @size: The size of the volume data in blocks
+# @size: The size of the volume data in blocks
#
-# @method: The method (command) to use to upload the data
+# @method: The method (command) to use to upload the data
#
# Since: 4.10.0
##
{'command': {'class': 'StorageDomain', 'name': 'uploadVolume'},
- 'data': {'imgUUID': 'UUID', 'volUUID': 'UUID', 'srcPath': 'str',
+ 'data': {'imageID': 'UUID', 'volumeID': 'UUID', 'srcPath': 'str',
'size': 'int', 'method': 'UploadVolumeMethod'}}
##
@@ -3389,13 +3391,13 @@
#
# StoragePool API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: Associate this object with a new or existing Storage Pool
+# @storagepoolID: Associate this object with a new or existing Storage Pool
#
# Since: 4.10.0
##
-{'class': 'StoragePool', 'data': {'conn': 'Host', 'UUID': 'UUID'}}
+{'class': 'StoragePool', 'data': {'conn': 'Host', 'storagepoolID': 'UUID'}}
##
# @StoragePool.connect:
@@ -3600,7 +3602,7 @@
#
# Get information about backed-up virtual machines from a Backup Storage Domain.
#
-# @sdUUID: The UUID of the Backup Storage Domain to check
+# @storagedomainID: The UUID of the Backup Storage Domain to check
#
# @vmList: Limit results to a list of VM UUIDs
#
@@ -3613,7 +3615,7 @@
# previously injected it into the Backup Storage Domain.
##
{'command': {'class': 'StoragePool', 'name': 'getBackedUpVmsInfo'},
- 'data': {'sdUUID': 'UUID', 'vmList': ['UUID']},
+ 'data': {'storagedomainID': 'UUID', 'vmList': ['UUID']},
'returns': 'OVFMap'}
##
@@ -3621,7 +3623,7 @@
#
# Get a list of backed up virtual machines from a Backup Storage Domain.
#
-# @sdUUID: The UUID of the Backup Storage Domain to check
+# @storagedomainID: The UUID of the Backup Storage Domain to check
#
# Returns:
# A list of VM UUIDs
@@ -3629,7 +3631,7 @@
# Since: 4.10.0
##
{'command': {'class': 'StoragePool', 'name': 'getBackedUpVmsList'},
- 'data': {'sdUUID': 'UUID'},
+ 'data': {'storagedomainID': 'UUID'},
'returns': ['UUID']}
##
@@ -3650,18 +3652,18 @@
#
# Get a list of Storage Domains that contain an Image.
#
-# @imgUUID: The UUID of the Image to search for
+# @imageID: The UUID of the Image to search for
#
# @onlyDataDomains: #optional Only include Data Storage Domains
#
# Returns:
-# A list of Storage Domain UUIDs that contain the Image
+# A list of Storage Domains that contain the Image
#
# Since: 4.10.0
##
{'command': {'class': 'StoragePool', 'name': 'getDomainsContainingImage'},
- 'data': {'imgUUID': 'UUID', '*onlyDataDomains': 'bool'},
- 'returns': ['UUID']}
+ 'data': {'imageID': 'UUID', '*onlyDataDomains': 'bool'},
+ 'returns': ['StorageDomain']}
##
# @StoragePool.getIsoList:
@@ -4065,26 +4067,26 @@
#
# @vmList: A list of virtual machine definitions to store
#
-# @sdUUID: The Storage Domain to use for storing the VM definitions
+# @storagedomainID: The Storage Domain to use for storing the VM definitions
#
# Since: 4.10.0
##
{'command': {'class': 'StoragePool', 'name': 'updateVMs'},
- 'data': {'vmList': ['UpdateVmDefinition'], 'sdUUID': 'UUID'}}
+ 'data': {'vmList': ['UpdateVmDefinition'], 'storagedomainID': 'UUID'}}
##
# @StoragePool.removeVM:
#
# Remove a previously saved virtual machine definition.
#
-# @vmUUID: Remove the saved definition of the VM with this UUID
+# @vmUUID: Remove the saved definition of the VM with this UUID
#
-# @sdUUID: The Storage Domain where the VM is stored
+# @storagedomainID: The Storage Domain where the VM is stored
#
# Since: 4.10.0
##
{'command': {'class': 'StoragePool', 'name': 'removeVM'},
- 'data': {'vmUUID': 'UUID', 'sdUUID': 'UUID'}}
+ 'data': {'vmUUID': 'UUID', 'storagedomainID': 'UUID'}}
## Category: @Task #############################################################
##
@@ -4092,13 +4094,13 @@
#
# Task API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: Associate this object with an existing Task
+# @taskID: Associate this object with an existing Task
#
# Since: 4.10.0
##
-{'class': 'Task', 'data': {'conn': 'Host', 'UUID': 'UUID'}}
+{'class': 'Task', 'data': {'conn': 'Host', 'taskID': 'UUID'}}
##
# @Task.clear:
@@ -4161,11 +4163,11 @@
#
# @conn: A connected base API object
#
-# @UUID: Associate this object with an existing VM
+# @vmID: Associate this object with an existing VM
#
# Since: 4.10.0
##
-{'class': 'VM', 'data': {'conn': 'Host', 'UUID': 'UUID'}}
+{'class': 'VM', 'data': {'conn': 'Host', 'vmID': 'UUID'}}
##
# @DriveSpecVolume:
@@ -4387,6 +4389,20 @@
# Since: 4.10.0
##
{'command': {'class': 'VM', 'name': 'destroy'}}
+
+##
+# @VM.getInfo:
+#
+# Get detailed information about a VM.
+#
+# Returns:
+# VM information
+#
+# Since: 4.10.0
+##
+{'command': {'class': 'VM', 'name': 'getInfo'},
+ 'returns': 'VmFullStatus'}
+
##
# @VM.getMigrationStatus:
@@ -5179,21 +5195,21 @@
#
# Volume API object.
#
-# @conn: A connected base API object
+# @conn: A connected base API object
#
-# @UUID: The UUID of the Volume
+# @volumeID: The UUID of the Volume
#
-# @spUUID: The Storage Pool associated with @UUID
+# @storagepoolID: The Storage Pool associated with @UUID
#
-# @sdUUID: The Storage Domain associated with @UUID
+# @storagedomainID: The Storage Domain associated with @UUID
#
-# @imgUUID: The Image associated with @UUID
+# @imageID: The Image associated with @UUID
#
# Since: 4.10.0
##
{'class': 'Volume',
- 'data': {'conn': 'Host', 'UUID': 'UUID', 'spUUID': 'UUID', 'sdUUID': 'UUID',
- 'imgUUID': 'UUID'}}
+ 'data': {'conn': 'Host', 'volumeID': 'UUID', 'storagepoolID': 'UUID',
+ 'storagedomainID': 'UUID', 'imageID': 'UUID'}}
##
# @VolumeRole:
--
To view, visit http://gerrit.ovirt.org/7840
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7fdfe69436d65ef8190d8a5f1d941e7a628c77c0
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <agl(a)us.ibm.com>
Adam Litke has uploaded a new change for review.
Change subject: schema: Remove VmFullStatus
......................................................................
schema: Remove VmFullStatus
The VmFullStatus alias is a meaningless indirection that simply causes confusion
to API users. In all cases, its use just means VmDefinition so use that type
instead.
Change-Id: Id16979a105521e3c059ba27029493b71158f8815
Signed-off-by: Adam Litke <agl(a)us.ibm.com>
---
M vdsm_api/vdsmapi-schema.json
1 file changed, 2 insertions(+), 11 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/13/8613/1
diff --git a/vdsm_api/vdsmapi-schema.json b/vdsm_api/vdsmapi-schema.json
index 5d4e10f..3f8f0a0 100644
--- a/vdsm_api/vdsmapi-schema.json
+++ b/vdsm_api/vdsmapi-schema.json
@@ -2394,15 +2394,6 @@
'vmType': 'VmType'}}
##
-# @VmFullStatus:
-#
-# A VmFullStatus uses the same format as a VmDefinition.
-#
-# Since: 4.10.0
-##
-{'alias': 'VmFullStatus', 'data': 'VmDefinition'}
-
-##
# @VmInfo:
#
# A discriminated record of VM status information.
@@ -2413,7 +2404,7 @@
##
{'type': 'VmInfo',
'data': {},
- 'union': ['VmFullStatus', 'VmShortStatus']}
+ 'union': ['VmDefinition', 'VmShortStatus']}
##
# @Host.getVMList:
@@ -4910,7 +4901,7 @@
# Since: 4.10.0
##
{'type': 'MigrationCreateState',
- 'data': {'migrationPort': 'int', 'params': 'VmFullStatus'}}
+ 'data': {'migrationPort': 'int', 'params': 'VmDefinition'}}
##
# @VM.migrationCreate:
--
To view, visit http://gerrit.ovirt.org/8613
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id16979a105521e3c059ba27029493b71158f8815
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <agl(a)us.ibm.com>
Zhou Zheng Sheng has uploaded a new change for review.
Change subject: fix REMOVED_IMAGE_PREFIX not defined error
......................................................................
fix REMOVED_IMAGE_PREFIX not defined error
Recently http://gerrit.ovirt.org/#/c/8506 is merged, it moves
REMOVED_IMAGE_PREFIX = "_remove_me_" from vdsm/storage/image.py to
vdsm/storage/sd.py. So all occurrence of REMOVED_IMAGE_PREFIX in
image.py must be changed to sd.REMOVED_IMAGE_PREFIX, otherwise
pyflakes will say REMOVED_IMAGE_PREFIX not defined.
Change-Id: Ifc6ec49ff20c7f8a18ae14fe205570dfc6ce7634
Signed-off-by: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
---
M vdsm/storage/image.py
1 file changed, 2 insertions(+), 2 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/98/9098/1
diff --git a/vdsm/storage/image.py b/vdsm/storage/image.py
index 6ae5908..4cd9785 100644
--- a/vdsm/storage/image.py
+++ b/vdsm/storage/image.py
@@ -234,7 +234,7 @@
# Otherwise move it out of the way
newImgUUID = self.deletedVolumeName(imgUUID)
self.log.info("Rename image %s -> %s", imgUUID, newImgUUID)
- if not imgUUID.startswith(REMOVED_IMAGE_PREFIX):
+ if not imgUUID.startswith(sd.REMOVED_IMAGE_PREFIX):
removedImage = os.path.join(os.path.dirname(imageDir), newImgUUID)
os.rename(imageDir, removedImage)
else:
@@ -242,7 +242,7 @@
volumes = [volclass(self.repoPath, sdUUID, newImgUUID, volUUID) for volUUID in uuidlist]
for vol in volumes:
- if not vol.volUUID.startswith(REMOVED_IMAGE_PREFIX):
+ if not vol.volUUID.startswith(sd.REMOVED_IMAGE_PREFIX):
vol.rename(self.deletedVolumeName(vol.volUUID), recovery=False)
else:
self.log.warning("Volume %s of image %s already renamed", vol.volUUID, imgUUID)
--
To view, visit http://gerrit.ovirt.org/9098
To unsubscribe, visit http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifc6ec49ff20c7f8a18ae14fe205570dfc6ce7634
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Zhou Zheng Sheng <zhshzhou(a)linux.vnet.ibm.com>
On Tue, Nov 06, 2012 at 12:41:42PM -0500, Jenkins oVirt Server wrote:
>
> BUILD FAILURE
> Build URL: http://jenkins.ovirt.org/job/vdsm_unit_tests/1502/
> Project: vdsm_unit_tests
> Date of build: Tue, 06 Nov 2012 12:41:22 -0500
> Build duration: 20 sec
Eyal, please take a look at this machine: it seems that
/home/jenkins/workspace/vdsm_unit_tests/ has some trash remainder, an
old vdsm/pthread.pyc. Would you make sure that the directory is clean
before checking out from git?
Dan.