Commit c2243e70 authored by Thibault VINCENT's avatar Thibault VINCENT
Browse files

add: more getters to libvirt disk information

parent d1387acb
Loading
Loading
Loading
Loading
+42 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@ from logging import error, warning, info, debug
from time import sleep
from common import Hypervisor, VM, Storage, StoragePool, StorageVolume
from utils import RWLock
from errors import (HypervisorError, VMError, StoragePoolError,
from errors import (HypervisorError, VMError, StorageError, StoragePoolError,
                    StorageVolumeError)


@@ -351,6 +351,47 @@ class LibvirtStoragePool(StoragePool):
            pass
        return name
    
    def get_source_name(self):
        '''
        '''
        name = None
        try:
            xroot = xml.dom.minidom.parseString(self._lvpool_handle.XMLDesc(0))
            xpool = xroot.getElementsByTagName('pool').pop()
            xsource = xpool.getElementsByTagName('source').pop()
            xname = xpool.getElementsByTagName('name').pop()
            name = xname.childNodes[0].nodeValue
        except libvirt.libvirtError:
            pass
        return name
    
    def get_source_format(self):
        '''
        '''
        format = None
        try:
            xroot = xml.dom.minidom.parseString(self._lvpool_handle.XMLDesc(0))
            xpool = xroot.getElementsByTagName('pool').pop()
            xsource = xpool.getElementsByTagName('source').pop()
            xformat = xpool.getElementsByTagName('format').pop()
            format = xformat.getAttribute('type')
        except libvirt.libvirtError:
            pass
        return format
    
    def get_type(self):
        '''
        '''
        typ = None
        try:
            xroot = xml.dom.minidom.parseString(
                self._lvpool_handle.XMLDesc(libvirt.VIR_DOMAIN_XML_INACTIVE))
            xpool = xroot.getElementsByTagName('pool').pop()
            typ = xpool.getAttribute('type')
        except libvirt.libvirtError:
            pass
        return typ
    
    def get_space_capacity(self):
        '''
        '''