[ovirt-users] python sdk : how to get disks from storage domain

Giorgio Bart giorgiobart300 at gmail.com
Thu Nov 5 12:41:09 EST 2015


Hello,
I'm writing a python script to draw a graph of the disks and virtual
machines in relation to their "position" in the data center.
I am using pygraphviz to draw the graph, I found the vm and their disks, data
centers and their storage domains, but I can not connect the disks to the
storage domains.
Here's the code I'm using:

#! /usr/bin/python

import pygraphviz as PG
from ovirtsdk.api import API
from ovirtsdk.xml import params
#per Graphviz:
A = PG.AGraph(directed=True, strict=False)
A.graph_attr.update(size="800")
########

VERSION = params.Version(major='3', minor='0')

URL =           'https://xxx/api'
USERNAME =      'xxx'
PASSWORD =      'yyyy'

api = API ( url=URL,
            username=USERNAME,
            password=PASSWORD,
            insecure=True)
for vm in api.vms.list():
    for disco in vm.get_disks().list():
        A.add_edge(vm.name,disco.name)

for dc in api.datacenters.list():
    A.add_edge("ovirt-engine", dc.get_name())
        for dc_storage in dc.storagedomains.list():
        A.add_edge(dc.get_name(), dc_storage.name)

api.disconnect()
A.write('ovirt_graph.dot')
A.layout(prog='dot')
A.draw('ovirt_graph.png') # draw png
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20151105/76f05b2a/attachment.html>


More information about the Users mailing list