[openstack-dev] [Nova] Providing instance's guest OS with data (ssh keys, root password, hostname)
dguryanov at parallels.com
Fri Dec 19 14:34:19 UTC 2014
On Friday 19 December 2014 14:17:34 Daniel P. Berrange wrote:
> 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.
Thanks! Config drive already works for VMs, need to check how it will work
with containers, since we can't add cdrom there.
> 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.
I actually know that libguestfs is optional, just provided it as an example
how nova mounts disks. BTW it will not reduce security level for containers,
because we mount root fs on host to start it.
More information about the OpenStack-dev