def __init__(self, virsh_instance=base.virsh): """ Create new PortgroupXML instance. """ accessors.XMLAttribute('name', self, parent_xpath='/', tag_name='portgroup', attribute='name') accessors.XMLAttribute('default', self, parent_xpath='/', tag_name='portgroup', attribute='default') accessors.XMLAttribute('virtualport_type', self, parent_xpath='/', tag_name='virtualport', attribute='type') accessors.XMLElementDict('bandwidth_inbound', self, parent_xpath='/bandwidth', tag_name='inbound') accessors.XMLElementDict('bandwidth_outbound', self, parent_xpath='/bandwidth', tag_name='outbound') super(PortgroupXML, self).__init__(virsh_instance=virsh_instance) self.xml = u"<portgroup></portgroup>"
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict("inbound", self, parent_xpath="/", tag_name="inbound") accessors.XMLElementDict("outbound", self, parent_xpath="/", tag_name="outbound") super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<bandwidth/>'
def __init__(self, virsh_instance=base.virsh): accessors.XMLElementText('name', self, parent_xpath='/', tag_name='name') accessors.XMLElementText('uuid', self, parent_xpath='/', tag_name='uuid') accessors.XMLAttribute('mac', self, parent_xpath='/', tag_name='mac', attribute='address') accessors.XMLElementDict('forward', self, parent_xpath='/', tag_name='forward') accessors.XMLElementList('forward_interface', self, parent_xpath='/forward', marshal_from=self.marshal_from_forward_iface, marshal_to=self.marshal_to_forward_iface) accessors.XMLElementDict('nat_port', self, parent_xpath='/forward/nat', tag_name='port') accessors.XMLElementDict('bridge', self, parent_xpath='/', tag_name='bridge') accessors.XMLElementDict('bandwidth_inbound', self, parent_xpath='/bandwidth', tag_name='inbound') accessors.XMLElementDict('bandwidth_outbound', self, parent_xpath='/bandwidth', tag_name='outbound') accessors.XMLAttribute('domain_name', self, parent_xpath='/', tag_name='domain', attribute='name') accessors.XMLElementNest('dns', self, parent_xpath='/', tag_name='dns', subclass=DNSXML, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementList('routes', self, parent_xpath='/', marshal_from=self.marshal_from_route, marshal_to=self.marshal_to_route) accessors.XMLAttribute('virtualport_type', self, parent_xpath='/', tag_name='virtualport', attribute='type') super(NetworkXMLBase, self).__init__(virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.virsh): accessors.XMLElementText('name', self, parent_xpath='/', tag_name='name') accessors.XMLElementText('uuid', self, parent_xpath='/', tag_name='uuid') accessors.XMLAttribute('fwd_mode', self, parent_xpath='/', tag_name='forward', attribute='mode') accessors.XMLAttribute('mac', self, parent_xpath='/', tag_name='mac', attribute='address') accessors.XMLElementDict('bridge', self, parent_xpath='/', tag_name='bridge') accessors.XMLElementDict('bandwidth_inbound', self, parent_xpath='/bandwidth', tag_name='inbound') accessors.XMLElementDict('bandwidth_outbound', self, parent_xpath='/bandwidth', tag_name='outbound') super(NetworkXMLBase, self).__init__(virsh_instance=virsh_instance)
def __init__(self, type_name, virsh_instance=base.base.virsh): super(Controller, self).__init__(device_tag='controller', type_name=type_name, virsh_instance=virsh_instance) accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='controller', attribute='type') accessors.XMLAttribute('index', self, parent_xpath='/', tag_name='controller', attribute='index') accessors.XMLAttribute('model', self, parent_xpath='/', tag_name='controller', attribute='model') accessors.XMLAttribute('ports', self, parent_xpath='/', tag_name='controller', attribute='ports') accessors.XMLAttribute('vectors', self, parent_xpath='/', tag_name='controller', attribute='vectors') accessors.XMLElementText('pcihole64', self, parent_xpath='/', tag_name='pcihole64') accessors.XMLElementDict('driver', self, parent_xpath='/', tag_name='driver') accessors.XMLElementNest('address', self, parent_xpath='/', tag_name='address', subclass=self.Address, subclass_dargs={'type_name': 'pci', 'virsh_instance': virsh_instance}) accessors.XMLElementDict('target', self, parent_xpath='/', tag_name='target') accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias')
def __init__(self, type_name='mount', virsh_instance=base.base.virsh): accessors.XMLAttribute('accessmode', self, parent_xpath='/', tag_name='filesystem', attribute='accessmode') accessors.XMLElementDict('source', self, parent_xpath='/', tag_name='source') accessors.XMLElementDict('target', self, parent_xpath='/', tag_name='target') accessors.XMLElementDict('driver', self, parent_xpath='/', tag_name='driver') accessors.XMLElementNest( 'binary', self, parent_xpath='/', tag_name='binary', subclass=self.Binary, subclass_dargs={'virsh_instance': virsh_instance}) accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias') super(Filesystem, self).__init__(device_tag='filesystem', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.virsh): """ Create new IPXML instance based on address/mask """ accessors.XMLAttribute('enable', self, parent_xpath='/', tag_name='dns', attribute='enable') accessors.XMLElementDict('txt', self, parent_xpath='/', tag_name='txt') accessors.XMLElementDict('srv', self, parent_xpath='/', tag_name='srv') accessors.XMLElementList('forwarders', self, parent_xpath='/', marshal_from=self.marshal_from_forwarder, marshal_to=self.marshal_to_forwarder) accessors.XMLAttribute('dns_forward', self, parent_xpath='/', tag_name='dns', attribute='forwardPlainNames') accessors.XMLElementNest( 'host', self, parent_xpath='/', tag_name='host', subclass=DNSXML.HostXML, subclass_dargs={'virsh_instance': virsh_instance}) super(DNSXML, self).__init__(virsh_instance=virsh_instance) self.xml = u"<dns></dns>"
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='source') accessors.XMLAttribute('dev', self, parent_xpath='/', tag_name='source', attribute='dev') accessors.XMLAttribute('protocol', self, parent_xpath='/', tag_name='source', attribute='protocol') accessors.XMLAttribute('name', self, parent_xpath='/', tag_name='source', attribute='name') accessors.XMLElementDict('host', self, parent_xpath='/', tag_name='host') accessors.XMLAttribute('file', self, parent_xpath='/', tag_name='source', attribute='file') accessors.XMLElementNest('auth', self, parent_xpath='/', tag_name='auth', subclass=Disk.Auth, subclass_dargs={ 'virsh_instance': virsh_instance}) super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<source/>'
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('id', self, parent_xpath='/', tag_name='audio', attribute='id') accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='audio', attribute='type') accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='audio') accessors.XMLElementDict('input_attrs', self, parent_xpath='/', tag_name='input') accessors.XMLElementDict('input_settings', self, parent_xpath='/input', tag_name='settings') accessors.XMLElementDict('output_attrs', self, parent_xpath='/', tag_name='output') accessors.XMLElementDict('output_settings', self, parent_xpath='/output', tag_name='settings') super(Audio, self).__init__(device_tag='audio', virsh_instance=virsh_instance)
def __init__(self, type_name='unix', virsh_instance=base.virsh): accessors.XMLElementDict('source', self, parent_xpath='/', tag_name='source') accessors.XMLElementDict('target', self, parent_xpath='/', tag_name='target') super( Channel, self).__init__(device_tag='channel', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict("driver_attr", self, parent_xpath="/", tag_name="driver") accessors.XMLElementDict("driver_host", self, parent_xpath="/", tag_name="host") accessors.XMLElementDict("driver_guest", self, parent_xpath="/", tag_name="guest") super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<driver/>'
def __init__(self, virsh_instance=base.virsh): """Create new RangeXML instance""" accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='range') accessors.XMLElementDict('lease_attrs', self, parent_xpath='/', tag_name='lease') super(RangeXML, self).__init__(virsh_instance=virsh_instance) self.xml = '<range/>'
def __init__(self, virsh_instance=base.virsh): accessors.XMLElementText(property_name="uuid", libvirtxml=self, forbidden=['set', 'del'], parent_xpath='/host', tag_name='uuid') # This will skip self.get_guest_capabilities() defined below accessors.AllForbidden(property_name="guest_capabilities", libvirtxml=self) # This will skip self.get_cpu_count() defined below accessors.AllForbidden(property_name="cpu_count", libvirtxml=self) # The set action is for test. accessors.XMLElementText(property_name="arch", libvirtxml=self, forbidden=['del'], parent_xpath='/host/cpu', tag_name='arch') accessors.XMLElementText(property_name="model", libvirtxml=self, forbidden=['del'], parent_xpath='/host/cpu', tag_name='model') accessors.XMLElementText(property_name="vendor", libvirtxml=self, forbidden=['del'], parent_xpath='/host/cpu', tag_name='vendor') accessors.XMLElementDict(property_name="cpu_topology", libvirtxml=self, forbidden=['del'], parent_xpath='/host/cpu', tag_name='topology') accessors.XMLElementDict(property_name="iommu", libvirtxml=self, forbidden=['del'], parent_xpath='/host', tag_name='iommu') accessors.XMLElementNest( property_name='cells_topology', libvirtxml=self, parent_xpath='/host', tag_name='topology', subclass=TopologyXML, subclass_dargs={'virsh_instance': virsh_instance}) # This will skip self.get_feature_list() defined below accessors.AllForbidden(property_name="feature_list", libvirtxml=self) # This will skip self.get_power_management_list() defined below accessors.AllForbidden(property_name="power_management_list", libvirtxml=self) super(CapabilityXML, self).__init__(virsh_instance) # calls set_xml accessor method self['xml'] = self.__dict_get__('virsh').capabilities()
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('model_type', self, parent_xpath='/', tag_name='model', attribute='type') accessors.XMLAttribute('model_ram', self, parent_xpath='/', tag_name='model', attribute='ram') accessors.XMLAttribute('model_vram', self, parent_xpath='/', tag_name='model', attribute='vram') accessors.XMLAttribute('model_vgamem', self, parent_xpath='/', tag_name='model', attribute='vgamem') accessors.XMLAttribute('model_vram64', self, parent_xpath='/', tag_name='model', attribute='vram64') accessors.XMLAttribute('model_heads', self, parent_xpath='/', tag_name='model', attribute='heads') accessors.XMLAttribute('primary', self, parent_xpath='/', tag_name='model', attribute='primary') accessors.XMLElementDict('acceleration', self, parent_xpath='/model', tag_name='acceleration') accessors.XMLElementDict('address', self, parent_xpath='/', tag_name='address') accessors.XMLAttribute('driver_packed', self, parent_xpath='/', tag_name='driver', attribute='packed') super(Video, self).__init__(device_tag='video', virsh_instance=virsh_instance)
def __init__(self, type_name, virsh_instance=base.base.virsh): super(Interface, self).__init__(device_tag='interface', type_name=type_name, virsh_instance=virsh_instance) accessors.XMLElementDict(property_name="source", libvirtxml=self, forbidden=None, parent_xpath='/', tag_name='source') accessors.XMLElementDict(property_name="driver", libvirtxml=self, forbidden=None, parent_xpath='/', tag_name='driver') accessors.XMLAttribute(property_name="mac_address", libvirtxml=self, forbidden=None, parent_xpath='/', tag_name='mac', attribute='address') accessors.XMLElementDict(property_name="bandwidth_inbound", libvirtxml=self, forbidden=None, parent_xpath='/bandwidth', tag_name='inbound') accessors.XMLElementDict(property_name="bandwidth_outbound", libvirtxml=self, forbidden=None, parent_xpath='/bandwidth', tag_name='outbound') accessors.XMLAttribute(property_name="portgroup", libvirtxml=self, forbidden=None, parent_xpath='/', tag_name='source', attribute='portgroup') accessors.XMLAttribute(property_name="model", libvirtxml=self, forbidden=None, parent_xpath='/', tag_name='model', attribute='type') accessors.XMLElementNest('address', self, parent_xpath='/', tag_name='address', subclass=self.Address, subclass_dargs={ 'type_name': 'drive', 'virsh_instance': virsh_instance })
def __init__(self, type_name, virsh_instance=base.base.virsh): # Blindly accept any/all attributes as simple dictionary accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='address') super(self.__class__, self).__init__(device_tag='address', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('model', self, parent_xpath='/', tag_name='memballoon', attribute='model') accessors.XMLAttribute('stats_period', self, parent_xpath='/', tag_name='stats', attribute='period') accessors.XMLElementDict('address', self, parent_xpath='/', tag_name='address') accessors.XMLAttribute('alias_name', self, parent_xpath='/', tag_name='alias', attribute='name') accessors.XMLAttribute('driver_packed', self, parent_xpath='/', tag_name='driver', attribute='packed') super(Memballoon, self).__init__(device_tag='memballoon', virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='source') accessors.XMLElementList('seclabels', self, parent_xpath='/', marshal_from=self.marshal_from_seclabel, marshal_to=self.marshal_to_seclabel) accessors.XMLElementList('hosts', self, parent_xpath='/', marshal_from=self.marshal_from_host, marshal_to=self.marshal_to_host) accessors.XMLAttribute('config_file', self, parent_xpath='/', tag_name='config', attribute='file') accessors.XMLAttribute('snapshot_name', self, parent_xpath='/', tag_name='snapshot', attribute='name') super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<source/>'
def __init__(self, type_name='pty', virsh_instance=base.virsh): # Additional attribute for protocol type (raw, telnet, telnets, tls) accessors.XMLAttribute('protocol_type', self, parent_xpath='/', tag_name='protocol', attribute='type') accessors.XMLAttribute('target_port', self, parent_xpath='/', tag_name='target', attribute='port') accessors.XMLAttribute('target_type', self, parent_xpath='/', tag_name='target', attribute='type') accessors.XMLAttribute('target_model', self, parent_xpath='/target', tag_name='model', attribute='name') accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias') accessors.XMLElementList('sources', self, parent_xpath='/', marshal_from=self.marshal_from_sources, marshal_to=self.marshal_to_sources) super(Serial, self).__init__(device_tag='serial', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='source') accessors.XMLElementList('seclabels', self, parent_xpath='/', marshal_from=self.marshal_from_seclabel, marshal_to=self.marshal_to_seclabel) accessors.XMLElementList('hosts', self, parent_xpath='/', marshal_from=self.marshal_from_host, marshal_to=self.marshal_to_host) accessors.XMLElementNest('encryption', self, parent_xpath='/', tag_name='encryption', subclass=Disk.Encryption, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementNest('auth', self, parent_xpath='/', tag_name='auth', subclass=Disk.Auth, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementNest('reservations', self, parent_xpath='/', tag_name='reservations', subclass=Disk.Reservations, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementNest('slices', self, parent_xpath='/', tag_name='slices', subclass=Disk.Slices, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLAttribute('config_file', self, parent_xpath='/', tag_name='config', attribute='file') accessors.XMLAttribute('snapshot_name', self, parent_xpath='/', tag_name='snapshot', attribute='name') super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<source/>'
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('mem_model', self, parent_xpath='/', tag_name='memory', attribute='model') accessors.XMLAttribute('mem_discard', self, parent_xpath='/', tag_name='memory', attribute='discard') accessors.XMLAttribute('mem_access', self, parent_xpath='/', tag_name='memory', attribute='access') accessors.XMLElementNest('target', self, parent_xpath='/', tag_name='target', subclass=self.Target, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementNest('source', self, parent_xpath='/', tag_name='source', subclass=self.Source, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLElementNest('address', self, parent_xpath='/', tag_name='address', subclass=self.Address, subclass_dargs={ 'type_name': 'dimm', 'virsh_instance': virsh_instance}) accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias') super(Memory, self).__init__(device_tag='memory', virsh_instance=virsh_instance) self.xml = '<memory/>'
def __init__(self, type_name="hostdev", virsh_instance=base.base.virsh): accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='hostdev', attribute='type') accessors.XMLAttribute('mode', self, parent_xpath='/', tag_name='hostdev', attribute='mode') accessors.XMLAttribute('model', self, parent_xpath='/', tag_name='hostdev', attribute='model') accessors.XMLAttribute('managed', self, parent_xpath='/', tag_name='hostdev', attribute='managed') accessors.XMLAttribute('sgio', self, parent_xpath='/', tag_name='hostdev', attribute='sgio') accessors.XMLAttribute('rawio', self, parent_xpath='/', tag_name='hostdev', attribute='rawio') accessors.XMLElementNest('source', self, parent_xpath='/', tag_name='source', subclass=self.Source, subclass_dargs={ 'virsh_instance': virsh_instance}) accessors.XMLAttribute('boot_order', self, parent_xpath='/', tag_name='boot', attribute='order') accessors.XMLElementBool('readonly', self, parent_xpath='/', tag_name='readonly') accessors.XMLElementBool('shareable', self, parent_xpath='/', tag_name='shareable') accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias') super(self.__class__, self).__init__(device_tag='hostdev', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, address='192.168.122.1', netmask='255.255.255.0', virsh_instance=base.virsh): """ Create new IPXML instance based on address/mask """ accessors.XMLAttribute( 'address', self, parent_xpath='/', tag_name='ip', attribute='address') accessors.XMLAttribute( 'netmask', self, parent_xpath='/', tag_name='ip', attribute='netmask') accessors.XMLAttribute( 'family', self, parent_xpath='/', tag_name='ip', attribute='family') accessors.XMLAttribute( 'prefix', self, parent_xpath='/', tag_name='ip', attribute='prefix') accessors.XMLAttribute( 'tftp_root', self, parent_xpath='/', tag_name='tftp', attribute='root') accessors.XMLAttribute( 'dhcp_bootp', self, parent_xpath='/dhcp', tag_name='bootp', attribute='file') accessors.XMLElementDict('dhcp_ranges', self, parent_xpath='/dhcp', tag_name='range') accessors.XMLElementList('hosts', self, parent_xpath='/dhcp', marshal_from=self.marshal_from_host, marshal_to=self.marshal_to_host) super(IPXML, self).__init__(virsh_instance=virsh_instance) self.xml = u"<ip address='%s' netmask='%s'></ip>" % (address, netmask)
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='backingStore', attribute='type') accessors.XMLAttribute('index', self, parent_xpath='/', tag_name='backingStore', attribute='index') accessors.XMLElementDict('format', self, parent_xpath='/', tag_name='format') accessors.XMLElementNest( 'source', self, parent_xpath='/', tag_name='source', subclass=self.Source, subclass_dargs={'virsh_instance': virsh_instance}) super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<backingStore><backingStore/></backingStore>'
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLAttribute('model_type', self, parent_xpath='/', tag_name='watchdog', attribute='model') accessors.XMLAttribute('action', self, parent_xpath='/', tag_name='watchdog', attribute='action') accessors.XMLElementDict('address', self, parent_xpath='/', tag_name='address') accessors.XMLElementDict('alias', self, parent_xpath='/', tag_name='alias') super(Watchdog, self).__init__(device_tag='watchdog', virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.virsh): accessors.XMLAttribute('format', self, parent_xpath='/', tag_name='encryption', attribute='format') accessors.XMLElementDict('secret', self, parent_xpath='/', tag_name='secret') super(VolXML.Encryption, self).__init__( virsh_instance=virsh_instance) self.xml = '<encryption/>'
def __init__(self, type_name='mount', virsh_instance=base.base.virsh): accessors.XMLAttribute('accessmode', self, parent_xpath='/', tag_name='filesystem', attribute='accessmode') accessors.XMLElementDict('source', self, parent_xpath='/', tag_name='source') accessors.XMLElementDict('target', self, parent_xpath='/', tag_name='target') super(Filesystem, self).__init__(device_tag='filesystem', type_name=type_name, virsh_instance=virsh_instance)
def __init__(self, virsh_instance=base.virsh): accessors.XMLAttribute('mode', self, parent_xpath='/', tag_name='domainbackup', attribute='mode') accessors.XMLElementText('incremental', self, parent_xpath='/', tag_name='incremental') accessors.XMLElementDict('server', self, parent_xpath='/', tag_name='server') super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<domainbackup/>'
def __init__(self, virsh_instance=base.virsh): accessors.XMLAttribute('name', self, parent_xpath='/', tag_name='disk', attribute='name') accessors.XMLAttribute('backup', self, parent_xpath='/', tag_name='disk', attribute='backup') accessors.XMLAttribute('exportname', self, parent_xpath='/', tag_name='disk', attribute='exportname') accessors.XMLAttribute('exportbitmap', self, parent_xpath='/', tag_name='disk', attribute='exportbitmap') accessors.XMLAttribute('type', self, parent_xpath='/', tag_name='disk', attribute='type') accessors.XMLAttribute('backupmode', self, parent_xpath='/', tag_name='disk', attribute='backupmode') accessors.XMLAttribute('incremental', self, parent_xpath='/', tag_name='disk', attribute='incremental') accessors.XMLElementNest( 'target', self, parent_xpath='/', tag_name='target', subclass=self.DiskTarget, subclass_dargs={'virsh_instance': virsh_instance}) accessors.XMLElementDict('driver', self, parent_xpath='/', tag_name='driver') accessors.XMLElementNest( 'scratch', self, parent_xpath='/', tag_name='scratch', subclass=self.DiskScratch, subclass_dargs={'virsh_instance': virsh_instance}) super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = "<disk/>"
def __init__(self, virsh_instance=base.base.virsh): accessors.XMLElementDict('attrs', self, parent_xpath='/', tag_name='driver') accessors.XMLElementNest('metadata_cache', self, parent_xpath='/', tag_name='metadata_cache', subclass=self.MetadataCache, subclass_dargs={ 'virsh_instance': virsh_instance}) super(self.__class__, self).__init__(virsh_instance=virsh_instance) self.xml = '<driver/>'