Revision c417e115 lib/cmdlib.py
b/lib/cmdlib.py | ||
---|---|---|
4783 | 4783 |
# SyncSource, etc.) |
4784 | 4784 |
|
4785 | 4785 |
# 1st pass, assemble on all nodes in secondary mode |
4786 |
for inst_disk in disks:
|
|
4786 |
for idx, inst_disk in enumerate(disks):
|
|
4787 | 4787 |
for node, node_disk in inst_disk.ComputeNodeTree(instance.primary_node): |
4788 | 4788 |
if ignore_size: |
4789 | 4789 |
node_disk = node_disk.Copy() |
4790 | 4790 |
node_disk.UnsetSize() |
4791 | 4791 |
lu.cfg.SetDiskID(node_disk, node) |
4792 |
result = lu.rpc.call_blockdev_assemble(node, node_disk, iname, False) |
|
4792 |
result = lu.rpc.call_blockdev_assemble(node, node_disk, iname, False, idx)
|
|
4793 | 4793 |
msg = result.fail_msg |
4794 | 4794 |
if msg: |
4795 | 4795 |
lu.proc.LogWarning("Could not prepare block device %s on node %s" |
... | ... | |
4801 | 4801 |
# FIXME: race condition on drbd migration to primary |
4802 | 4802 |
|
4803 | 4803 |
# 2nd pass, do only the primary node |
4804 |
for inst_disk in disks:
|
|
4804 |
for idx, inst_disk in enumerate(disks):
|
|
4805 | 4805 |
dev_path = None |
4806 | 4806 |
|
4807 | 4807 |
for node, node_disk in inst_disk.ComputeNodeTree(instance.primary_node): |
... | ... | |
4811 | 4811 |
node_disk = node_disk.Copy() |
4812 | 4812 |
node_disk.UnsetSize() |
4813 | 4813 |
lu.cfg.SetDiskID(node_disk, node) |
4814 |
result = lu.rpc.call_blockdev_assemble(node, node_disk, iname, True) |
|
4814 |
result = lu.rpc.call_blockdev_assemble(node, node_disk, iname, True, idx)
|
|
4815 | 4815 |
msg = result.fail_msg |
4816 | 4816 |
if msg: |
4817 | 4817 |
lu.proc.LogWarning("Could not prepare block device %s on node %s" |
... | ... | |
5949 | 5949 |
for idx, disk in enumerate(instance.disks): |
5950 | 5950 |
self.LogInfo("Copying data for disk %d", idx) |
5951 | 5951 |
result = self.rpc.call_blockdev_assemble(target_node, disk, |
5952 |
instance.name, True) |
|
5952 |
instance.name, True, idx)
|
|
5953 | 5953 |
if result.fail_msg: |
5954 | 5954 |
self.LogWarning("Can't assemble newly created disk %d: %s", |
5955 | 5955 |
idx, result.fail_msg) |
Also available in: Unified diff