[openstack-dev] [Nova] Providing instance's guest OS with data (ssh keys, root password, hostname)

Daniel P. Berrange berrange at redhat.com
Fri Dec 19 14:17:34 UTC 2014

On Fri, Dec 19, 2014 at 05:11:57PM +0300, Dmitry Guryanov wrote:
> Hello,
> If I understood correctly, there are 3 ways to provide guest OS with some data 
> (SSH keys, for example):
> 1. mount guest root fs on host (with libguestfs) and copy data there.
> 2. config drive and cloud-init
> 3. nova metadata service and cloud-init
> All 3 methods do almost the same thing and can be enabled or disabled in nova 
> config file. So which one is preferred? How do people usually configure their 
> openstack clusters?
> I'm asking, because we are going to extend nova/libvirt driver to support our 
> virtualization solution (parallels driver in libvirt) and it seems it will not 
> work as is and requires some development. Which method is first-priority and 
> used by most people?

I'd probably prioritize in this order:

  1. config drive and cloud-init
  2. nova metadata service and cloud-init
  3. mount guest root fs on host (with libguestfs) and copy data there.

but there's not much to choose between 1 & 2.

NB, option 3 isn't actually hardcoded to use libguestfs - it falls back
to using loop devices / local mounts, albeit less secure, so not really
recommended. At some point option 3 may be removed from Nova entirely
since the first two options are preferred & more reliable in general.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the OpenStack-dev mailing list