<div dir="ltr"><div><span id="result_box" class="" lang="en"><span class="">Hello</span><span>,</span> <br><span class="">I</span><span>&#39;m writing</span> <span class="">a python script</span> <span class="">to draw</span> <span class="">a graph</span> <span class="">of the disks</span> <span class="">and virtual machines</span> <span class="">in relation to</span> <span class="">their</span> <span class="">&quot;</span><span>position</span><span>&quot;</span> <span class="">in the data center</span><span>.</span><br> <span class="">I am using</span> <span class="">pygraphviz</span> <span class="">to draw</span> <span class="">the graph</span><span>,</span> <span class="">I found</span> <span class="">the</span> <span class="">vm</span> <span class="">and their</span> <span class="">disks</span><span>,</span> <span class="">data centers and</span> <span class="">their</span> <span class="">storage</span> <span class="">domains</span><span class="">, but</span> <span class="">I can not connect</span> <span class="">the disks</span> <span class="">to the storage</span> <span class="">domains</span><span>.</span><br> <span class="">Here&#39;s the code</span> <span class="">I&#39;m using</span><span class="">:<br><br>#! /usr/bin/python<br><br>import pygraphviz as PG<br>from ovirtsdk.api import API<br>from ovirtsdk.xml import params<br>#per Graphviz:<br>A = PG.AGraph(directed=True, strict=False)<br>A.graph_attr.update(size=&quot;800&quot;)<br>########<br>   <br>VERSION = params.Version(major=&#39;3&#39;, minor=&#39;0&#39;)<br>    <br>URL =           &#39;<a href="https://xxx/api">https://xxx/api</a>&#39;<br>USERNAME =      &#39;xxx&#39;<br>PASSWORD =      &#39;yyyy&#39;<br>   <br>api = API ( url=URL,<br>            username=USERNAME,<br>            password=PASSWORD,<br>            insecure=True)<br>for vm in api.vms.list():<br>    for disco in vm.get_disks().list():<br>        A.add_edge(<a href="http://vm.name">vm.name</a>,<a href="http://disco.name">disco.name</a>)<br><br>for dc in api.datacenters.list():<br>    A.add_edge(&quot;ovirt-engine&quot;, dc.get_name())<br>        for dc_storage in dc.storagedomains.list():   <br>        A.add_edge(dc.get_name(), <a href="http://dc_storage.name">dc_storage.name</a>)<br><br>api.disconnect()               <br>A.write(&#39;ovirt_graph.dot&#39;)<br>A.layout(prog=&#39;dot&#39;)<br>A.draw(&#39;ovirt_graph.png&#39;) # draw png<br></span></span></div></div>