Revision 2209788e
b/lib/backend.py | ||
---|---|---|
1916 | 1916 |
|
1917 | 1917 |
""" |
1918 | 1918 |
try: |
1919 |
result = _RecursiveAssembleBD(disk, owner, as_primary)
|
|
1920 |
if isinstance(result, bdev.BlockDev):
|
|
1921 |
# pylint: disable=E1103
|
|
1922 |
result = result.dev_path
|
|
1919 |
device = _RecursiveAssembleBD(disk, owner, as_primary)
|
|
1920 |
if isinstance(device, bdev.BlockDev):
|
|
1921 |
dev_path = device.dev_path
|
|
1922 |
link_name = None
|
|
1923 | 1923 |
if as_primary: |
1924 |
_SymlinkBlockDev(owner, result, idx)
|
|
1924 |
link_name = _SymlinkBlockDev(owner, dev_path, idx)
|
|
1925 | 1925 |
except errors.BlockDeviceError, err: |
1926 | 1926 |
_Fail("Error while assembling disk: %s", err, exc=True) |
1927 | 1927 |
except OSError, err: |
1928 | 1928 |
_Fail("Error while symlinking disk: %s", err, exc=True) |
1929 | 1929 |
|
1930 |
return result
|
|
1930 |
return dev_path, link_name
|
|
1931 | 1931 |
|
1932 | 1932 |
|
1933 | 1933 |
def BlockdevShutdown(disk): |
b/lib/cmdlib/instance.py | ||
---|---|---|
1766 | 1766 |
idx, result.fail_msg) |
1767 | 1767 |
errs.append(result.fail_msg) |
1768 | 1768 |
break |
1769 |
dev_path = result.payload |
|
1769 |
dev_path, _ = result.payload
|
|
1770 | 1770 |
result = self.rpc.call_blockdev_export(source_node, (disk, instance), |
1771 | 1771 |
target_node, dev_path, |
1772 | 1772 |
cluster_name) |
... | ... | |
3108 | 3108 |
self.LogInfo("Trying to hotplug device...") |
3109 | 3109 |
result = self.rpc.call_hotplug_device(self.instance.primary_node, |
3110 | 3110 |
self.instance, action, dev_type, |
3111 |
device, extra, seq) |
|
3111 |
(device, self.instance), |
|
3112 |
extra, seq) |
|
3112 | 3113 |
if result.fail_msg: |
3113 | 3114 |
self.LogWarning("Could not hotplug device: %s" % result.fail_msg) |
3114 | 3115 |
self.LogInfo("Continuing execution..") |
... | ... | |
3143 | 3144 |
cleanup=new_disks) |
3144 | 3145 |
|
3145 | 3146 |
if self.op.hotplug: |
3146 |
_, device_info = AssembleInstanceDisks(self, self.instance, |
|
3147 |
[disk], check=False) |
|
3148 |
_, _, dev_path = device_info[0] |
|
3149 |
self._HotplugDevice(constants.HOTPLUG_ACTION_ADD, |
|
3150 |
constants.HOTPLUG_TARGET_DISK, |
|
3151 |
disk, dev_path, idx) |
|
3147 |
# _, device_info = AssembleInstanceDisks(self, self.instance, |
|
3148 |
# [disk], check=False) |
|
3149 |
self.cfg.SetDiskID(disk, self.instance.primary_node) |
|
3150 |
result = self.rpc.call_blockdev_assemble(self.instance.primary_node, |
|
3151 |
(disk, self.instance), |
|
3152 |
self.instance.name, True, idx) |
|
3153 |
if result.fail_msg: |
|
3154 |
self.LogWarning("Can't assemble newly created disk %d: %s", |
|
3155 |
idx, result.fail_msg) |
|
3156 |
else: |
|
3157 |
# _, _, dev_path = device_info[0] |
|
3158 |
_, link_name = result.payload |
|
3159 |
self._HotplugDevice(constants.HOTPLUG_ACTION_ADD, |
|
3160 |
constants.HOTPLUG_TARGET_DISK, |
|
3161 |
disk, link_name, idx) |
|
3152 | 3162 |
|
3153 | 3163 |
return (disk, [ |
3154 | 3164 |
("disk/%d" % idx, "add:size=%s,mode=%s" % (disk.size, disk.mode)), |
b/lib/cmdlib/instance_storage.py | ||
---|---|---|
1252 | 1252 |
inst_disk.iv_name, node, msg) |
1253 | 1253 |
disks_ok = False |
1254 | 1254 |
else: |
1255 |
dev_path = result.payload |
|
1255 |
dev_path, _ = result.payload
|
|
1256 | 1256 |
|
1257 | 1257 |
device_info.append((instance.primary_node, inst_disk.iv_name, dev_path)) |
1258 | 1258 |
|
b/lib/rpc.py | ||
---|---|---|
740 | 740 |
n.netinfo = objects.Network.ToDict(nobj) |
741 | 741 |
return n.ToDict() |
742 | 742 |
|
743 |
def _DeviceDict(self, device):
|
|
743 |
def _DeviceDict(self, (device, instance)):
|
|
744 | 744 |
if isinstance(device, objects.NIC): |
745 | 745 |
return self._NicDict(device) |
746 | 746 |
elif isinstance(device, objects.Disk): |
747 |
return _ObjectToDict(device)
|
|
747 |
return self._SingleDiskDictDP((device, instance))
|
|
748 | 748 |
|
749 | 749 |
def _InstDict(self, instance, hvp=None, bep=None, osp=None): |
750 | 750 |
"""Convert the given instance to a dict. |
Also available in: Unified diff