def testCreateLVMEnvironment(self): try: vgname = "test_vg" lvname = "test_lv" pvname = "/dev/sda" print("Creating pv: %s" % pvname) _pv = PhysicalVolume(pvname) _pv.create() print("Creating vg: %s" % vgname) _vg = VolumeGroup(vgname, _pv) _vg.create() _vg.addPhysicalVolume(_pv) print("Creating lv: %s" % lvname) _lv = LogicalVolume(lvname, _vg) _lv.create() _vg.addLogicalVolume(_lv) print "Volumegroup %s: %s" % (vgname, _vg) print("Changing clustered") _vg.clustered() _vg.notclustered() print("Removing lv") _lv.remove() print("Removing vg") _vg.remove() print("Removing pv") _pv.remove() except Exception, e: import traceback traceback.print_exc() self.fail( "Caught unexpected exception during lvm environment creation %s." % e)
def _getLVM_physicalVolume(self, device): from comoonics.storage.ComLVM import LogicalVolume, LinuxVolumeManager, VolumeGroup try: (vgname, lvname) = LogicalVolume.splitLVPath(device) _vg = VolumeGroup(vgname) _pv = LinuxVolumeManager.pvlist(_vg) ComLog.getLogger(__logStrLevel__).debug( "detected physical volume %s" % _pv) return _pv[0].getAttribute("name") except LogicalVolume.LVMInvalidLVPathException, e: ComLog.errorTraceLog() return
def updateMetaData(self, element): ComLog.getLogger(self.__logStrLevel__).debug( "%u logical volumes cloning all from source" % (len(self.getVolumeGroup().getLogicalVolumes()))) #ComLog.getLogger(self.__logStrLevel__).debug("Element to copy %s" %(element)) if (len(self.getVolumeGroup().getLogicalVolumes()) == 0): #ComLog.getLogger(self.__logStrLevel__).debug("0 logical volumes cloning all from source") XmlTools.merge_trees_with_pk( element, self.getVolumeGroup().getElement(), self.document, "name", XmlTools.ElementFilter("logicalvolume")) self.vg = VolumeGroup(self.getVolumeGroup().getElement(), self.getDocument())
def __init__(self, element, doc): CopyObject.__init__(self, element, doc) self.vg = None vg_element = element.getElementsByTagName(VolumeGroup.TAGNAME)[0] self.vg = VolumeGroup(vg_element, doc) self.activated = False