Domanda

Sto cercando di fare un semplice script che otterrà varie informazioni sull'esecuzione di domini su un host Xen.

Finora, ho:

import libvirt
import pprint
conn = libvirt.open('xen:///')

for id in conn.listDomainsID():
    dom = conn.lookupByID(id)
    infos = libvirt.virDomainGetInfo(dom)

che mi dà il seguente errore:

AttributeError: 'module' object has no attribute 'virDomainGetInfo'

Il che, secondo l'API (http://www.libvirt.org/html/libvirt-libvirt.html#virDomainGetInfo) deve almeno di ritorno qualcosa.

Qualsiasi indizio? (Io sono un novizio python)

È stato utile?

Soluzione

Dalla documentazione: http://www.libvirt.org/python.html

There is a couple of function who don't map directly to their C counterparts due to specificities in their argument conversions:

    * virConnectListDomains is replaced by virDomain::listDomainsID(self) which returns a list of the integer ID for the currently running domains
    * virDomainGetInfo is replaced by virDomain::info() which returns a list of
         1. state: one of the state values (virDomainState)
         2. maxMemory: the maximum memory used by the domain
         3. memory: the current amount of memory used by the domain
         4. nbVirtCPU: the number of virtual CPU
         5. cpuTime: the time used by the domain in nanoseconds

Altri suggerimenti

Per ottenere documentazione sulle API libvirt in pitone, utilizzare l'aiuto in linea.

Inizia la tua interprete Python (basta digitare python nella shell).

>>> import libvirt
>>> help(libvirt)

Questo dovrebbe darvi una documentazione dettagliata su libvirt.

import libvirt
import xml.etree.ElementTree as ET
conn = libvirt.open(name)
domain = conn.lookupByName(domain_name)
domain_config = ET.fromstring(domain.XMLDesc())
domain_disks = domain_config.findall('//disk')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top