Revision 0356a13d

b/lib/cmdlib.py
11894 11894
      chgdesc.extend(changes)
11895 11895

  
11896 11896

  
11897
def _UpdateIvNames(base_index, disks):
11898
  """Updates the C{iv_name} attribute of disks.
11899

  
11900
  @type disks: list of L{objects.Disk}
11901

  
11902
  """
11903
  for (idx, disk) in enumerate(disks):
11904
    disk.iv_name = "disk/%s" % (base_index + idx, )
11905

  
11906

  
11897 11907
class _InstNicModPrivate:
11898 11908
  """Data structure for network interface modifications.
11899 11909

  
......
12699 12709
    # Apply disk changes
12700 12710
    ApplyContainerMods("disk", instance.disks, result, self.diskmod,
12701 12711
                       self._CreateNewDisk, self._ModifyDisk, self._RemoveDisk)
12712
    _UpdateIvNames(0, instance.disks)
12702 12713

  
12703 12714
    if self.op.disk_template:
12704 12715
      if __debug__:
b/test/ganeti.cmdlib_unittest.py
1039 1039
      self.assertEqual(disk.mode, disk_info[idx][constants.IDISK_MODE])
1040 1040
      self.assertTrue(disk.children is None)
1041 1041

  
1042
    self.assertEqual(map(operator.attrgetter("iv_name"), result),
1043
      ["disk/%s" % i for i in range(base_index, base_index + len(disk_info))])
1042
    self._CheckIvNames(result, base_index, base_index + len(disk_info))
1043
    cmdlib._UpdateIvNames(base_index, result)
1044
    self._CheckIvNames(result, base_index, base_index + len(disk_info))
1044 1045

  
1045 1046
    return result
1046 1047

  
1048
  def _CheckIvNames(self, disks, base_index, end_index):
1049
    self.assertEqual(map(operator.attrgetter("iv_name"), disks),
1050
                     ["disk/%s" % i for i in range(base_index, end_index)])
1051

  
1047 1052
  def testPlain(self):
1048 1053
    disk_info = [{
1049 1054
      constants.IDISK_SIZE: 1024,
......
1198 1203
      self.assertEqual(disk.children[0].size, disk.size)
1199 1204
      self.assertEqual(disk.children[1].size, cmdlib.DRBD_META_SIZE)
1200 1205

  
1201
    self.assertEqual(map(operator.attrgetter("iv_name"), result),
1202
                     ["disk/0", "disk/1", "disk/2"])
1206
    self._CheckIvNames(result, 0, len(disk_info))
1207
    cmdlib._UpdateIvNames(0, result)
1208
    self._CheckIvNames(result, 0, len(disk_info))
1203 1209

  
1204 1210
    self.assertEqual(map(operator.attrgetter("logical_id"), result), [
1205 1211
      ("node1334.example.com", "node12272.example.com",

Also available in: Unified diff