def __str__(self): s = DeviceMapper.__str__(self) s += ( " free = %(free)s PE Size = %(peSize)s PE Count = %(peCount)s\n" " PE Free = %(peFree)s PV Count = %(pvCount)s\n" " LV Names = %(lv_names)s modified = %(modified)s\n" " extents = %(extents)s free space = %(freeSpace)s\n" " free extents = %(freeExtents)s\n" " PVs = %(pvs)s\n" " LVs = %(lvs)s" % { "free": self.free, "peSize": self.peSize, "peCount": self.peCount, "peFree": self.peFree, "pvCount": self.pvCount, "lv_names": self.lv_names, "modified": self.isModified, "extents": self.extents, "freeSpace": self.freeSpace, "freeExtents": self.freeExtents, "pvs": self.pvs, "lvs": self.lvs, } ) return s
def __str__(self): s = DeviceMapper.__str__(self) s += (" free = %(free)s PE Size = %(peSize)s PE Count = %(peCount)s\n" " PE Free = %(peFree)s PV Count = %(pvCount)s\n" " LV Names = %(lv_names)s modified = %(modified)s\n" " extents = %(extents)s free space = %(freeSpace)s\n" " free extents = %(freeExtents)s\n" " PVs = %(pvs)s\n" " LVs = %(lvs)s" % {"free": self.free, "peSize": self.peSize, "peCount": self.peCount, "peFree": self.peFree, "pvCount": self.pvCount, "lv_names": self.lv_names, "modified": self.isModified, "extents": self.extents, "freeSpace": self.freeSpace, "freeExtents": self.freeExtents, "pvs": self.pvs, "lvs": self.lvs}) return s
def __init__(self, name, parents, size=None, free=None, peSize=None, peCount=None, peFree=None, pvCount=None, uuid=None, exists=None, sysfsPath=''): """ Create a VolumeGroup instance. Arguments: name -- the device name (generally a device node's basename) parents -- a list of physical volumes (Device) Keyword Arguments: peSize -- physical extent size (in MB) exists -- indicates whether this is an existing device sysfsPath -- sysfs device path For existing VG's only: size -- the VG's size (in MB) free -- amount of free space in the VG peFree -- number of free extents peCount -- total number of extents pvCount -- number of PVs in this VG uuid -- the VG's UUID """ self.pvClass = get_device_format("lvmpv") if not self.pvClass: raise VolumeGroupError("cannot find 'lvmpv' class") if isinstance(parents, list): for dev in parents: if not isinstance(dev.format, self.pvClass): raise ValueError("constructor requires a list of PVs") elif not isinstance(parents.format, self.pvClass): raise ValueError("constructor requires a list of PVs") DeviceMapper.__init__(self, name, parents=parents, exists=exists, sysfsPath=sysfsPath) self.uuid = uuid self.free = numeric_type(free) self.peSize = numeric_type(peSize) self.peCount = numeric_type(peCount) self.peFree = numeric_type(peFree) self.pvCount = numeric_type(pvCount) self.lv_names = [] self.lv_uuids = [] self.lv_sizes = [] self.lv_attr = [] self.hasDuplicate = False # circular references, here I come self._lvs = [] # TODO: validate peSize if given if not self.peSize: self.peSize = 32.0 # MB if not self.exists: self.pvCount = len(self.parents)
def __init__( self, name, parents, size=None, free=None, peSize=None, peCount=None, peFree=None, pvCount=None, uuid=None, exists=None, sysfsPath="", ): """ Create a VolumeGroup instance. Arguments: name -- the device name (generally a device node's basename) parents -- a list of physical volumes (Device) Keyword Arguments: peSize -- physical extent size (in MB) exists -- indicates whether this is an existing device sysfsPath -- sysfs device path For existing VG's only: size -- the VG's size (in MB) free -- amount of free space in the VG peFree -- number of free extents peCount -- total number of extents pvCount -- number of PVs in this VG uuid -- the VG's UUID """ self.pvClass = get_device_format("lvmpv") if not self.pvClass: raise VolumeGroupError("cannot find 'lvmpv' class") if isinstance(parents, list): for dev in parents: if not isinstance(dev.format, self.pvClass): raise ValueError("constructor requires a list of PVs") elif not isinstance(parents.format, self.pvClass): raise ValueError("constructor requires a list of PVs") DeviceMapper.__init__(self, name, parents=parents, exists=exists, sysfsPath=sysfsPath) self.uuid = uuid self.free = numeric_type(free) self.peSize = numeric_type(peSize) self.peCount = numeric_type(peCount) self.peFree = numeric_type(peFree) self.pvCount = numeric_type(pvCount) self.lv_names = [] self.lv_uuids = [] self.lv_sizes = [] self.lv_attr = [] self.hasDuplicate = False # circular references, here I come self._lvs = [] # TODO: validate peSize if given if not self.peSize: self.peSize = 32.0 # MB if not self.exists: self.pvCount = len(self.parents)