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
Exemplo n.º 3
0
 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())
Exemplo n.º 4
0
 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