"""
parent_bdev = _RecursiveFindBD(parent_cdev)
if parent_bdev is None:
- logging.error("Can't find parent device")
- return False
+ msg = "Can't find parent device '%s' in add children" % str(parent_cdev)
+ logging.error("BlockdevAddchildren: %s", msg)
+ return (False, msg)
new_bdevs = [_RecursiveFindBD(disk) for disk in new_cdevs]
if new_bdevs.count(None) > 0:
- logging.error("Can't find new device(s) to add: %s:%s",
- new_bdevs, new_cdevs)
- return False
+ msg = "Can't find new device(s) to add: %s:%s" % (new_bdevs, new_cdevs)
+ logging.error(msg)
+ return (False, msg)
parent_bdev.AddChildren(new_bdevs)
- return True
+ return (True, None)
def BlockdevRemovechildren(parent_cdev, new_cdevs):
"""
parent_bdev = _RecursiveFindBD(parent_cdev)
if parent_bdev is None:
- logging.error("Can't find parent in remove children: %s", parent_cdev)
- return False
+ msg = "Can't find parent device '%s' in remove children" % str(parent_cdev)
+ logging.error(msg)
+ return (False, msg)
devs = []
for disk in new_cdevs:
rpath = disk.StaticDevPath()
if rpath is None:
bd = _RecursiveFindBD(disk)
if bd is None:
- logging.error("Can't find dynamic device %s while removing children",
- disk)
- return False
+ msg = "Can't find device %s while removing children" % (disk,)
+ logging.error(msg)
+ return (False, msg)
else:
devs.append(bd.dev_path)
else:
devs.append(rpath)
parent_bdev.RemoveChildren(devs)
- return True
+ return (True, None)
def BlockdevGetmirrorstatus(disks):
@return: True if all renames succeeded, False otherwise
"""
+ msgs = []
result = True
for disk, unique_id in devlist:
dev = _RecursiveFindBD(disk)
if dev is None:
+ msgs.append("Can't find device %s in rename" % str(disk))
result = False
continue
try:
# cache? for now, we only lose lvm data when we rename, which
# is less critical than DRBD or MD
except errors.BlockDeviceError, err:
+ msgs.append("Can't rename device '%s' to '%s': %s" %
+ (dev, unique_id, err))
logging.exception("Can't rename device '%s' to '%s'", dev, unique_id)
result = False
- return result
+ return (result, "; ".join(msgs))
def _TransformFileStorageDir(file_storage_dir):