6293 |
6293 |
self.cfg.SetDiskID(disk, src_node)
|
6294 |
6294 |
|
6295 |
6295 |
try:
|
6296 |
|
for disk in instance.disks:
|
|
6296 |
for idx, disk in enumerate(instance.disks):
|
6297 |
6297 |
# new_dev_name will be a snapshot of an lvm leaf of the one we passed
|
6298 |
6298 |
new_dev_name = self.rpc.call_blockdev_snapshot(src_node, disk)
|
6299 |
6299 |
if new_dev_name.failed or not new_dev_name.data:
|
6300 |
|
self.LogWarning("Could not snapshot block device %s on node %s",
|
6301 |
|
disk.logical_id[1], src_node)
|
|
6300 |
self.LogWarning("Could not snapshot disk/%d on node %s",
|
|
6301 |
idx, src_node)
|
6302 |
6302 |
snap_disks.append(False)
|
6303 |
6303 |
else:
|
6304 |
6304 |
new_dev = objects.Disk(dev_type=constants.LD_LV, size=disk.size,
|
... | ... | |
6323 |
6323 |
result = self.rpc.call_snapshot_export(src_node, dev, dst_node.name,
|
6324 |
6324 |
instance, cluster_name, idx)
|
6325 |
6325 |
if result.failed or not result.data:
|
6326 |
|
self.LogWarning("Could not export block device %s from node %s to"
|
6327 |
|
" node %s", dev.logical_id[1], src_node,
|
6328 |
|
dst_node.name)
|
|
6326 |
self.LogWarning("Could not export disk/%d from node %s to"
|
|
6327 |
" node %s", idx, src_node, dst_node.name)
|
6329 |
6328 |
msg = self.rpc.call_blockdev_remove(src_node, dev).RemoteFailMsg()
|
6330 |
6329 |
if msg:
|
6331 |
|
self.LogWarning("Could not remove snapshot block device %s from node"
|
6332 |
|
" %s: %s", dev.logical_id[1], src_node, msg)
|
|
6330 |
self.LogWarning("Could not remove snapshot for disk/%d from node"
|
|
6331 |
" %s: %s", idx, src_node, msg)
|
6333 |
6332 |
|
6334 |
6333 |
result = self.rpc.call_finalize_export(dst_node.name, instance, snap_disks)
|
6335 |
6334 |
if result.failed or not result.data:
|