Re: [libvirt] Next Generation Config Mgmt + Libvirt

2016-04-05 Thread Martin Kletzander

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=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@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


signature.asc
Description: Digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

[libvirt] Next Generation Config Mgmt + Libvirt

2016-04-04 Thread James
Dear libvir[t] hackers,

## 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.

## 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=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.

## 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.

## 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.

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/


signature.asc
Description: This is a digitally signed message part
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list