[libvirt] Next Generation Config Mgmt + Libvirt

Martin Kletzander mkletzan at redhat.com
Tue Apr 5 09:44:09 UTC 2016


On Mon, Apr 04, 2016 at 08:29:49PM -0400, James wrote:
>Dear libvir[t] hackers,
>

Hi!

>## Intro
>
>I'd like to tell you about a project I'm working on, how it pertains to
>libvirt, and to inspire you about this idea.
>
>I thought I'd first give you some quick background about myself... Skip
>to '## Project' if you'd prefer... I'm James, but I go by purpleidea on
>a lot of the internet. I've been a happy libvirt user for very many
>years, and I'm a huge fan of the project. I'm also a Red Hat engineer.
>
>I remember using libvirt for both lxc and regular vm's. I even remember
>being sad when virt-system-service died. I love using both virsh and
>virt-manager.
>
>I think libvirt is such a nice approach, I even went out of my way and
>hacked on vagrant-libvirt, and Oh-My-Vagrant, since I wanted to use
>libvirt instead of virtualbox, even though virtualbox was much more
>popular and apparently easier.
>

I'm expecting a proper bashing after this introduction =)

>## Project
>
>I started a Next Generation Config Mgmt project called "mgmt". Think
>declarative management similar to puppet and chef, although my system
>is better because:
>
>* it runs in parallel
>* is event based
>* functions as a distributed system
>
>There's an introductory blog post [2], two other posts [3,4] and a
>video:
>
>https://www.youtube.com/watch?v=GVhpPF0j-iE&html5=1
>
>## Why Libvirt?
>
>The reason this is all very relevant to libvirt, is that since we are
>event based, a native libvirt "resource" would be a particularly cool
>and powerful thing to have in mgmt. This would enable a user to
>declaratively manage libvirt resources, *and* work out automatically
>how to change and modify the resource when a configuration change
>happens.
>
>This is a highly sought after property. I'd like for mgmt+libvirt to be
>the first to do this right. Since there haven't been any event based
>management systems that this would work with, we'd be pioneers.
>

This is cool and I think it's a great idea.

>## Help
>
>I don't have enough knowledge of the internals or time to drive
>creation of this resource. I was hoping one or more of you might be
>interested in working on this, and or suggesting the project to others.
>I will of course mentor the developers(s) if they so wish, and help as
>much as possible. The project is in golang, and so recommendations on
>how best to communicate with and receive events from libvirtd in golang
>are welcome. I'm currently considering one of the two libvirt golang
>bindings that I've found but other ideas are welcome too.
>

That'd be interesting, but 2 things discourage me.  First thing is that
I don't know anything about golang.  Like crazily nothing.  The other
thing is that libvirt go bindings are not part of libvirt itself.
That's not a problem by itself, but from what I've seen in the wild
(i.e. in out-of tree bindings) that they are not automatically
generated.  And because of that someone must maintain it continuously.
And that causes such bindings to lack new things, e.g. events.

I came across the same problem when playing with nodejs.  There are some
bindings, but because none of them are generated, they miss a *lot* of
new(-ish) stuff.

Having said that, I wanted to promote the creation of proper bindings
for nodejs.  I tried part of it myself and it looks like there should be
no problem with that, but I didn't find any time for it.  What I wanted
to say with this is that there shouldn't be that big of a deal to
write.

>## Thanks
>
>Thank you in advance, and please let me know if you're interested. We
>also have an IRC channel: #mgmtconfig if you'd prefer to talk over IRC.
>

I'll join you there if I find some time to talk about that cool thing of
yours, however free time is not something I've got a ton of, so we'll
see.  Anyway, good luck, I'm looking forward to that! ;)

>Cheers,
>James
>@purpleidea
>
>[1] https://ttboj.wordpress.com/?s=vagrant
>[2] https://ttboj.wordpress.com/2016/01/18/next-generation-configuratio
>n-mgmt/
>[3] https://ttboj.wordpress.com/2016/03/14/automatic-edges-in-mgmt/
>[4] https://ttboj.wordpress.com/2016/03/30/automatic-grouping-in-mgmt/



>--
>libvir-list mailing list
>libvir-list at redhat.com
>https://www.redhat.com/mailman/listinfo/libvir-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160405/e4748d15/attachment-0001.sig>


More information about the libvir-list mailing list