chgdesc.extend(changes)
+def _UpdateIvNames(base_index, disks):
+ """Updates the C{iv_name} attribute of disks.
+
+ @type disks: list of L{objects.Disk}
+
+ """
+ for (idx, disk) in enumerate(disks):
+ disk.iv_name = "disk/%s" % (base_index + idx, )
+
+
class _InstNicModPrivate:
"""Data structure for network interface modifications.
# Apply disk changes
ApplyContainerMods("disk", instance.disks, result, self.diskmod,
self._CreateNewDisk, self._ModifyDisk, self._RemoveDisk)
+ _UpdateIvNames(0, instance.disks)
if self.op.disk_template:
if __debug__:
self.assertEqual(disk.mode, disk_info[idx][constants.IDISK_MODE])
self.assertTrue(disk.children is None)
- self.assertEqual(map(operator.attrgetter("iv_name"), result),
- ["disk/%s" % i for i in range(base_index, base_index + len(disk_info))])
+ self._CheckIvNames(result, base_index, base_index + len(disk_info))
+ cmdlib._UpdateIvNames(base_index, result)
+ self._CheckIvNames(result, base_index, base_index + len(disk_info))
return result
+ def _CheckIvNames(self, disks, base_index, end_index):
+ self.assertEqual(map(operator.attrgetter("iv_name"), disks),
+ ["disk/%s" % i for i in range(base_index, end_index)])
+
def testPlain(self):
disk_info = [{
constants.IDISK_SIZE: 1024,
self.assertEqual(disk.children[0].size, disk.size)
self.assertEqual(disk.children[1].size, cmdlib.DRBD_META_SIZE)
- self.assertEqual(map(operator.attrgetter("iv_name"), result),
- ["disk/0", "disk/1", "disk/2"])
+ self._CheckIvNames(result, 0, len(disk_info))
+ cmdlib._UpdateIvNames(0, result)
+ self._CheckIvNames(result, 0, len(disk_info))
self.assertEqual(map(operator.attrgetter("logical_id"), result), [
("node1334.example.com", "node12272.example.com",