Libvirt provisioning shortcomings

libvirt supports KVM/QEMU, Xen, LXC, OpenVZ, UML, VirtualBox, VMware,
Hyper-V, PowerVM, Virtuozzo, Bhyve.

Foreman's libvirt interface only partly supports KVM.

Is there any chance of extending support to other VM engines?

··· -- Alvin Starr || voice: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 alvin@netvel.net ||

> libvirt supports KVM/QEMU, Xen, LXC, OpenVZ, UML, VirtualBox, VMware,
> Hyper-V, PowerVM, Virtuozzo, Bhyve.
>
> Foreman's libvirt interface only partly supports KVM.
>
libvirt really supports KVM well, all the rest or maintained or not, but
nearly always on the host level (for example, you could manage vmware esx
host, but not a vmware vsphere).

> Is there any chance of extending support to other VM engines?
>
> we support many via compute resource plugins, see
Foreman :: Plugin Manuals and the supported virt at
Foreman :: Introduction

thanks
Ohad

··· On Tue, Sep 6, 2016 at 5:01 PM, Alvin Starr wrote:


Alvin Starr || voice: (905)513-7688
Netvel Inc. || Cell: (416)806-0133alvin@netvel.net ||


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

Looking at my question now it occurs to me I could have written it better.

The question should have been: Is there any chance of extending the
libvirt plugin to support something other than the limited set of VM
engines and features that are currently supported.

I am currently using libvirt with Xen and would love to be able to
provision a host directly from foreman.

··· On 09/06/2016 10:11 AM, Ohad Levy wrote: > > > On Tue, Sep 6, 2016 at 5:01 PM, Alvin Starr > wrote: > > libvirt supports KVM/QEMU, Xen, LXC, OpenVZ, UML, VirtualBox, > VMware, Hyper-V, PowerVM, Virtuozzo, Bhyve. > > Foreman's libvirt interface only partly supports KVM. > > libvirt really supports KVM well, all the rest or maintained or not, > but nearly always on the host level (for example, you could manage > vmware esx host, but not a vmware vsphere). > > Is there any chance of extending support to other VM engines? > > > we support many via compute resource plugins, see > https://theforeman.org/plugins and the supported virt at > https://theforeman.org/introduction.html > > thanks > Ohad > > -- > Alvin Starr || voice: (905)513-7688 > Netvel Inc. || Cell: (416)806-0133 > alvin@netvel.net || > > -- > You received this message because you are subscribed to the Google > Groups "Foreman users" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to foreman-users+unsubscribe@googlegroups.com > . > To post to this group, send email to > foreman-users@googlegroups.com > . > Visit this group at https://groups.google.com/group/foreman-users > . > For more options, visit https://groups.google.com/d/optout > . > > > -- > You received this message because you are subscribed to the Google > Groups "Foreman users" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to foreman-users+unsubscribe@googlegroups.com > . > To post to this group, send email to foreman-users@googlegroups.com > . > Visit this group at https://groups.google.com/group/foreman-users. > For more options, visit https://groups.google.com/d/optout.


Alvin Starr || voice: (905)513-7688
Netvel Inc. || Cell: (416)806-0133
alvin@netvel.net ||

>
> Looking at my question now it occurs to me I could have written it better.
>
> The question should have been: Is there any chance of extending the
> libvirt plugin to support something other than the limited set of VM
> engines and features that are currently supported.
>
> I am currently using libvirt with Xen and would love to be able to
> provision a host directly from foreman.
>
> then why dont you use the xen plugin [1]? imho libvirt is not the solution.

Ohad

[1] https://github.com/theforeman/foreman-xen

··· On Tue, Sep 6, 2016 at 5:54 PM, Alvin Starr wrote:

On 09/06/2016 10:11 AM, Ohad Levy wrote:

On Tue, Sep 6, 2016 at 5:01 PM, Alvin Starr alvin@netvel.net wrote:

libvirt supports KVM/QEMU, Xen, LXC, OpenVZ, UML, VirtualBox, VMware,
Hyper-V, PowerVM, Virtuozzo, Bhyve.

Foreman’s libvirt interface only partly supports KVM.

libvirt really supports KVM well, all the rest or maintained or not, but
nearly always on the host level (for example, you could manage vmware esx
host, but not a vmware vsphere).

Is there any chance of extending support to other VM engines?

we support many via compute resource plugins, see
https://theforeman.org/pluginsForeman :: Plugin Manuals and the
supported virt at Foreman :: Introduction

thanks
Ohad


Alvin Starr || voice: (905)513-7688
Netvel Inc. || Cell: (416)806-0133alvin@netvel.net ||


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com
foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.


Alvin Starr || voice: (905)513-7688
Netvel Inc. || Cell: (416)806-0133alvin@netvel.net ||


You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-users+unsubscribe@googlegroups.com.
To post to this group, send email to foreman-users@googlegroups.com.
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.

> The question should have been: Is there any chance of extending the libvirt
> plugin to support something other than the limited set of VM engines and
> features that are currently supported.

Unless you get your hands dirty, chances are low. I haven't heard of
many users of libvirt-nonKVM in our community.

··· -- Later, Lukas #lzap Zapletal

That is for Xen Server and I do not run Xen Server.
I am using xen with a libvirt frontend.

[snip]

··· On 09/06/2016 11:08 AM, Ohad Levy wrote: > > > On Tue, Sep 6, 2016 at 5:54 PM, Alvin Starr > wrote: > > > Looking at my question now it occurs to me I could have written it > better. > > The question should have been: Is there any chance of extending > the libvirt plugin to support something other than the limited set > of VM engines and features that are currently supported. > > I am currently using libvirt with Xen and would love to be able > to provision a host directly from foreman. > > then why dont you use the xen plugin [1]? imho libvirt is not the > solution. > > Ohad > > [1] https://github.com/theforeman/foreman-xen > > -- Alvin Starr || voice: (905)513-7688 Netvel Inc. || Cell: (416)806-0133 alvin@netvel.net ||

I would like to jump into this since I'm in a similar situation to Alvin.
We recently started experimenting with LXD, a Canonical product that
extends on top of LXC.
After some initial lack of enthusiasm I rapidly found myself literally
loving this tool: the technology is easy to understand, capable and solid,
at the point that I'm planning to convert most of our VMs to this container
technology.
LXD is unfortunately lacking a pre-made orchestration frontend and I see
Foreman as the perfect candidate to complete the puzzle:

  1. select container profile (network/cpu/disk constraints, OS, etc.)
  2. deploy
  3. eventually destroy if short lived

The big advantage compared to docker lies in the functionality of
LX©/LXD: while Docker is a process-oriented container technology, LXC is
an OS oriented one, hence it could be an almost 1-to-1 replacement for
fatter and more resource intensive full VMs while incrementing the density
on the host tenfold.

If only I had the programming skills I'd start working on such a plugin
since I see real benefits. I can understand it's not so widespread, hence
the lack of support.

Nicola

··· On Monday, September 12, 2016 at 10:40:24 AM UTC+2, Lukas Zapletal wrote: > > Unless you get your hands dirty, chances are low. I haven't heard of > many users of libvirt-nonKVM in our community. >

Libvirt does claim to support LXC so extending foreman is a possiblity.

I guess the thing for me is that I have a bunch of things on the go and
I can help to code and test parts of the changes to fog to support xen
and others but I am not in a position to build up a whole foreman
development environment.

··· On 10/25/2016 03:23 PM, Alexander Rilik wrote:

On Monday, September 12, 2016 at 10:40:24 AM UTC+2, Lukas Zapletal wrote:

Unless you get your hands dirty, chances are low. I haven't heard of
many users of libvirt-nonKVM in our community.

I would like to jump into this since I’m in a similar situation to Alvin.
We recently started experimenting with LXD, a Canonical product that
extends on top of LXC.
After some initial lack of enthusiasm I rapidly found myself literally
loving this tool: the technology is easy to understand, capable and
solid, at the point that I’m planning to convert most of our VMs to
this container technology.
LXD is unfortunately lacking a pre-made orchestration frontend and I
see Foreman as the perfect candidate to complete the puzzle:

  1. select container profile (network/cpu/disk constraints, OS, etc.)
  2. deploy
  3. eventually destroy if short lived

The big advantage compared to docker lies in the functionality of
LX©/LXD: while Docker is a process-oriented container technology,
LXC is an OS oriented one, hence it could be an almost 1-to-1
replacement for fatter and more resource intensive full VMs while
incrementing the density on the host tenfold.

If only I had the programming skills I’d start working on such a
plugin since I see real benefits. I can understand it’s not so
widespread, hence the lack of support.

Nicola


Alvin Starr || voice: (905)513-7688
Netvel Inc. || Cell: (416)806-0133
alvin@netvel.net ||

I have taken a look at this issue again and I believe I see a solution.

The *.xml.erb files can be altered to make foreman/libvirt/xen work.

If these templates were somehow attached to a compute resource and editable then working with libvirt backends other than KVM would be possible.
It would also make it possible to customize the features for each compute resource.

You need to take this to fog-libvirt upstream first, it seems to be hardcoded in the library. Introduce a flag that selects template set, then new flag can be easily added into foreman.