Revision 8e8cf324
b/lib/backend.py | ||
---|---|---|
1508 | 1508 |
if iname not in hyper.ListInstances(instance.hvparams): |
1509 | 1509 |
_Fail("Instance %s is not running", iname) |
1510 | 1510 |
|
1511 |
for idx in range(len(instance.disks)): |
|
1511 |
for idx in range(len(instance.disks_info)):
|
|
1512 | 1512 |
link_name = _GetBlockDevSymlinkPath(iname, idx) |
1513 | 1513 |
if not os.path.islink(link_name): |
1514 | 1514 |
logging.warning("Instance %s is missing symlink %s for disk %d", |
... | ... | |
1794 | 1794 |
|
1795 | 1795 |
""" |
1796 | 1796 |
block_devices = [] |
1797 |
for idx, disk in enumerate(instance.disks): |
|
1797 |
for idx, disk in enumerate(instance.disks_info):
|
|
1798 | 1798 |
device = _RecursiveFindBD(disk) |
1799 | 1799 |
if device is None: |
1800 | 1800 |
raise errors.BlockDeviceError("Block device '%s' is not set up." % |
... | ... | |
1842 | 1842 |
except errors.BlockDeviceError, err: |
1843 | 1843 |
_Fail("Block device error: %s", err, exc=True) |
1844 | 1844 |
except errors.HypervisorError, err: |
1845 |
_RemoveBlockDevLinks(instance.name, instance.disks) |
|
1845 |
_RemoveBlockDevLinks(instance.name, instance.disks_info)
|
|
1846 | 1846 |
_Fail("Hypervisor error: %s", err, exc=True) |
1847 | 1847 |
|
1848 | 1848 |
|
... | ... | |
1918 | 1918 |
except errors.HypervisorError, err: |
1919 | 1919 |
logging.warning("Failed to execute post-shutdown cleanup step: %s", err) |
1920 | 1920 |
|
1921 |
_RemoveBlockDevLinks(iname, instance.disks) |
|
1921 |
_RemoveBlockDevLinks(iname, instance.disks_info)
|
|
1922 | 1922 |
|
1923 | 1923 |
|
1924 | 1924 |
def InstanceReboot(instance, reboot_type, shutdown_timeout, reason): |
... | ... | |
2029 | 2029 |
hyper.AcceptInstance(instance, info, target) |
2030 | 2030 |
except errors.HypervisorError, err: |
2031 | 2031 |
if instance.disk_template in constants.DTS_EXT_MIRROR: |
2032 |
_RemoveBlockDevLinks(instance.name, instance.disks) |
|
2032 |
_RemoveBlockDevLinks(instance.name, instance.disks_info)
|
|
2033 | 2033 |
_Fail("Failed to accept instance: %s", err, exc=True) |
2034 | 2034 |
|
2035 | 2035 |
|
... | ... | |
3019 | 3019 |
result["INSTANCE_%s" % attr.upper()] = str(getattr(instance, attr)) |
3020 | 3020 |
|
3021 | 3021 |
result["HYPERVISOR"] = instance.hypervisor |
3022 |
result["DISK_COUNT"] = "%d" % len(instance.disks) |
|
3022 |
result["DISK_COUNT"] = "%d" % len(instance.disks_info)
|
|
3023 | 3023 |
result["NIC_COUNT"] = "%d" % len(instance.nics) |
3024 | 3024 |
result["INSTANCE_SECONDARY_NODES"] = \ |
3025 | 3025 |
("%s" % " ".join(instance.secondary_nodes)) |
3026 | 3026 |
|
3027 | 3027 |
# Disks |
3028 |
for idx, disk in enumerate(instance.disks): |
|
3028 |
for idx, disk in enumerate(instance.disks_info):
|
|
3029 | 3029 |
real_disk = _OpenRealBD(disk) |
3030 | 3030 |
result["DISK_%d_PATH" % idx] = real_disk.dev_path |
3031 | 3031 |
result["DISK_%d_ACCESS" % idx] = disk.mode |
b/lib/objects.py | ||
---|---|---|
1102 | 1102 |
"admin_state", |
1103 | 1103 |
"nics", |
1104 | 1104 |
"disks", |
1105 |
"disks_info", |
|
1105 | 1106 |
"disk_template", |
1106 | 1107 |
"disks_active", |
1107 | 1108 |
"network_port", |
... | ... | |
1143 | 1144 |
if _with_private: |
1144 | 1145 |
bo["osparams_private"] = self.osparams_private.Unprivate() |
1145 | 1146 |
|
1146 |
for attr in "nics", "disks": |
|
1147 |
for attr in "nics", "disks", "disks_info":
|
|
1147 | 1148 |
alist = bo.get(attr, None) |
1148 | 1149 |
if alist: |
1149 | 1150 |
nlist = outils.ContainerToDicts(alist) |
... | ... | |
1167 | 1168 |
obj = super(Instance, cls).FromDict(val) |
1168 | 1169 |
obj.nics = outils.ContainerFromDicts(obj.nics, list, NIC) |
1169 | 1170 |
obj.disks = outils.ContainerFromDicts(obj.disks, list, Disk) |
1171 |
obj.disks_info = outils.ContainerFromDicts(obj.disks_info, list, Disk) |
|
1170 | 1172 |
return obj |
1171 | 1173 |
|
1172 | 1174 |
def UpgradeConfig(self): |
b/lib/rpc/node.py | ||
---|---|---|
886 | 886 |
idict["osparams"] = cluster.SimpleFillOS(instance.os, instance.osparams) |
887 | 887 |
if osp is not None: |
888 | 888 |
idict["osparams"].update(osp) |
889 |
idict["disks"] = self._DisksDictDP(node, (instance.disks, instance)) |
|
889 |
idict["disks_info"] = self._DisksDictDP(node, (instance.disks, instance))
|
|
890 | 890 |
for nic in idict["nics"]: |
891 | 891 |
nic["nicparams"] = objects.FillDict( |
892 | 892 |
cluster.nicparams[constants.PP_DEFAULT], |
b/test/py/ganeti.rpc_unittest.py | ||
---|---|---|
887 | 887 |
self.assertEqual(result["hvparams"][constants.HT_KVM], { |
888 | 888 |
constants.HV_BOOT_ORDER: "xyz", |
889 | 889 |
}) |
890 |
self.assertEqual(result["disks"], [{ |
|
890 |
self.assertEqual(result["disks_info"], [{
|
|
891 | 891 |
"dev_type": constants.DT_PLAIN, |
892 | 892 |
"dynamic_params": {}, |
893 | 893 |
"size": 4096, |
Also available in: Unified diff