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