[libvirt] libvirt binding for DBUS

Hi, Last week (Jun 26 - Jun 30) there was a Cockpit Hackfest and the main topic was integration virtualization support into Cockpit. For that purpose Lars and me have started to work on a new libvirt dbus binding. Currently the binding is written manually and only few APIs are supported, however the ultimate goal is to write a code generator and ensure that all APIs are covered by this binding (similarly to the python binding). Dan, can you please setup hosting on libvirt.org? The binding is experimental and the API may and probably will change until first official release. Thanks, Pavel [1] <https://github.com/larskarlitski/libvirt-dbus>

On Tue, Jul 04, 2017 at 04:34:08PM +0200, Pavel Hrdina wrote:
Hi,
Last week (Jun 26 - Jun 30) there was a Cockpit Hackfest and the main topic was integration virtualization support into Cockpit. For that purpose Lars and me have started to work on a new libvirt dbus binding.
Currently the binding is written manually and only few APIs are supported, however the ultimate goal is to write a code generator and ensure that all APIs are covered by this binding (similarly to the python binding).
Dan, can you please setup hosting on libvirt.org?
Ok I've created the repo & imported the content from that github repo. It is setup to mirror to github & gitlab too. The main docs/downloads.html.in & bindings.html.in page could be updated with an entry. Also if you want to add a CI entry for jenkins, send a patch for the libvirt-jenkins-ci repository jobs. If you add .travis.yml let me know and I'll enable the travis account to run that repo too. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

2017-07-04 17:55 GMT+03:00 Daniel P. Berrange <berrange@redhat.com>:
Currently the binding is written manually and only few APIs are supported, however the ultimate goal is to write a code generator and ensure that all APIs are covered by this binding (similarly to the python binding).
Very good ! Do you have time roadmap for this code generator? I'm happy to replace own generated go binding to dbus based. -- Vasiliy Tolstov, e-mail: v.tolstov@selfip.ru

2017-07-05 15:51 GMT+03:00 Vasiliy Tolstov <v.tolstov@selfip.ru>:
Very good ! Do you have time roadmap for this code generator? I'm happy to replace own generated go binding to dbus based.
Also can you provide minimal example to list domains or create? -- Vasiliy Tolstov, e-mail: v.tolstov@selfip.ru

2017-07-05 22:44 GMT+03:00 Vasiliy Tolstov <v.tolstov@selfip.ru>:
Also can you provide minimal example to list domains or create?
I found examples in tests dir. I can contribute for this bindings but need to know - what planned first and do by redhat team and what can do by community? For example i need pool and volume control, if i'm write support for it does it needed or code generator replaced it in near feature? Also, does it possible to return not only uuid of domains then creating/listing but also id and name? As i remember libvirt rpc return all this data via Domain object. -- Vasiliy Tolstov, e-mail: v.tolstov@selfip.ru

On Thu, Jul 06, 2017 at 02:47:04PM +0300, Vasiliy Tolstov wrote:
2017-07-05 22:44 GMT+03:00 Vasiliy Tolstov <v.tolstov@selfip.ru>:
Also can you provide minimal example to list domains or create?
I found examples in tests dir. I can contribute for this bindings but need to know - what planned first and do by redhat team and what can do by community?
This is a community project so everybody can contribute, there are no rules or restrictions.
For example i need pool and volume control, if i'm write support for it does it needed or code generator replaced it in near feature?
My plan is to not add more APIs manually, I would like to create the generator ASAP. However I would wait with using this binding before there is a stable release, the API of this binding may change.
Also, does it possible to return not only uuid of domains then creating/listing but also id and name? As i remember libvirt rpc return all this data via Domain object.
Please try to forget that there is some libvirt RPC :) that's only for internal communication. The create/list API returns a path to D-Bus object, it's not a simple UUID. The path can be used to get a D-Bus object or interface. Check the "test/test_domain.py" how the objects or interfaces are used. For example, Domain has a list of properties which counts Name, UUID, Id, etc. Pavel

On Wed, Jul 05, 2017 at 03:51:00PM +0300, Vasiliy Tolstov wrote:
2017-07-04 17:55 GMT+03:00 Daniel P. Berrange <berrange@redhat.com>:
Currently the binding is written manually and only few APIs are supported, however the ultimate goal is to write a code generator and ensure that all APIs are covered by this binding (similarly to the python binding).
Very good ! Do you have time roadmap for this code generator? I'm happy to replace own generated go binding to dbus based.
Hi, I'm glad to hear that there is an interest in this binding. I've started working on the generator but it probably takes some time, I'm not sure how much. Pavel

2017-07-06 15:18 GMT+03:00 Pavel Hrdina <antique@rosnicka.net>:
Hi, I'm glad to hear that there is an interest in this binding.
I've started working on the generator but it probably takes some time, I'm not sure how much.
This is fine! Waiting for generator. -- Vasiliy Tolstov, e-mail: v.tolstov@selfip.ru
participants (4)
-
Daniel P. Berrange
-
Pavel Hrdina
-
Pavel Hrdina
-
Vasiliy Tolstov