<div>Thanks a lot Numan!<br></div><div><br></div><div>I did some research on ovsdbapp and found: <a href="http://www.flaviof.com/blog2/post/main/ovsdbapp101/">http://www.flaviof.com/blog2/post/main/ovsdbapp101/</a><br></div><div>which allowed me to write fully working script.<br></div>
          <br>
          
    <div class="nh_extra">
      
      <p>
        Dnia 16 stycznia 2020 17:00 Numan Siddique <numans@ovn.org> napisaƂ(a):
      </p>
    
      <blockquote class="nh_quote" style="border-left: 2px solid #999; padding-left: 8px; margin: 0;">
        <div id="gwp9c1e41fb"><div>On Thu, Jan 16, 2020 at 6:26 PM mkobus <mkobus@o2.pl> wrote:</div>
<blockquote is-minimized>
<div><br></div>
<div>Hi MailingList!</div>
<div><br></div>
<div>I'm trying to write Python script using OVS library to fetch DB content and print all current bridges, ports and interfaces. Following snippet shows what I deduced so far from examples found in <a href="https://mail.openvswitch.org/pipermail/ovs-dev/2018-July/349200.html:" nh-safe-redirect data-saferedirecturl="https://zasobygwp.pl/redirect?sig=dfbaa5254f350af642af85d22a93b7af50dfff90313931eeb4c4bbc39062a72a&url=aHR0cHM6Ly9tYWlsLm9wZW52c3dpdGNoLm9yZy9waXBlcm1haWwvb3ZzLWRldi8yMDE4LUp1bHkvMzQ5MjAwLmh0bWw6&platform=desktop&brand=o2" target="_blank">https://mail.openvswitch.org/pipermail/ovs-dev/2018-July/349200.html:</a></div>
<div><br></div>
<div>```</div>
<div>import ovs.db.idl</div>
<div>import ovs.poller</div>
<div><br></div>
<div>SCHEMA_PATH = "/usr/share/openvswitch/vswitch.ovsschema"</div>
<div>SOCKET_PATH = 'punix:/run/openvswitch/db.sock'</div>
<div><br></div>
<div>schema_helper = ovs.db.idl.SchemaHelper(SCHEMA_PATH)</div>
<div><br></div>
<div>schema_helper.register_columns(</div>
<div>    "Bridge", ["name", "ports"]</div>
<div>)</div>
<div>schema_helper.register_columns(</div>
<div>    "Port", ["name", "interfaces"]</div>
<div>)</div>
<div>schema_helper.register_columns(</div>
<div>    "Interface", []</div>
<div>)</div>
<div><br></div>
<div>idl = ovs.db.idl.Idl(SOCKET_PATH, schema_helper)</div>
<div><br></div>
<div>while not idl.run():</div>
<div>    poller = ovs.poller.Poller()</div>
<div>    print('Seqno value {}'.format(idl.change_seqno))</div>
<div>    idl.wait(poller)</div>
<div>    poller.block()</div>
<div>```</div>
<div><br></div>
<div>As I understand idl.run() should return `True` after DB content was fetched. In my case this loop is infinite - seqno doesn't change. There is no error though.</div>
<div><br></div>
<div>I checked listing OVS resources using cli for version:</div>
</blockquote>
<div><br></div>
<div>Seems to me you are doing something wrong.</div>
<div><br></div>
<div>You can refer this file</div>
<div><a href="https://github.com/openvswitch/ovs/blob/master/tests/test-ovsdb.py#L648" nh-safe-redirect data-saferedirecturl="https://zasobygwp.pl/redirect?sig=c125d5a754953ee060f1a4903d303703ea37f2f4ac220370de9e0a624c82743e&url=aHR0cHM6Ly9naXRodWIuY29tL29wZW52c3dpdGNoL292cy9ibG9iL21hc3Rlci90ZXN0cy90ZXN0LW92c2RiLnB5I0w2NDg=&platform=desktop&brand=o2" target="_blank">https://github.com/openvswitch/ovs/blob/master/tests/test-ovsdb.py#L648</a></div>
<div>which tests the OVS python idl code.</div>
<div><br></div>
<div>There is this ovsdbapp python library which internally uses the ovs</div>
<div>python idl if you are interested to look into -</div>
<div><a href="https://github.com/openstack/ovsdbapp" nh-safe-redirect data-saferedirecturl="https://zasobygwp.pl/redirect?sig=256be50ad5c626a761ab0b6fae8eb76fb1d1a689325456bdae38f2026e1956ad&url=aHR0cHM6Ly9naXRodWIuY29tL29wZW5zdGFjay9vdnNkYmFwcA==&platform=desktop&brand=o2" target="_blank">https://github.com/openstack/ovsdbapp</a></div>
<div><br></div>
<div>Thanks</div>
<div>Numan</div>
<div><br></div>
<blockquote is-minimized>
<div><br></div>
<div>ovs-vsctl (Open vSwitch) 2.9.5</div>
<div>DB Schema 7.15.1</div>
<div><br></div>
<div>and those commands worked perfectly fine.</div>
<div><br></div>
<div>Has anyone encountered similar issue?</div>
<div><br></div>
<div>Regards,</div>
<div>MK</div>
<div>_______________________________________________</div>
<div>discuss mailing list</div>
<div><a nh-compose-link href="mailto:discuss@openvswitch.org">discuss@openvswitch.org</a></div>
<div><a href="https://mail.openvswitch.org/mailman/listinfo/ovs-discuss" nh-safe-redirect data-saferedirecturl="https://zasobygwp.pl/redirect?sig=dfd6370dc9fc2e5e3b8c04e74f6b1ce99b77412854e76e220e6f32f329d13f7f&url=aHR0cHM6Ly9tYWlsLm9wZW52c3dpdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL292cy1kaXNjdXNz&platform=desktop&brand=o2" target="_blank">https://mail.openvswitch.org/mailman/listinfo/ovs-discuss</a></div>
</blockquote>
</div>
      </blockquote>
    </div>