[libvirt] [PATCH 0/6] NSS module for libvirt
Guido Günther
agx at sigxcpu.org
Tue Feb 16 16:48:39 UTC 2016
On Mon, Feb 15, 2016 at 05:38:37PM +0100, Michal Privoznik wrote:
> Are you tired of remembering IP addresses for your domains? Do
> you have enough of configuring static IPs so that you can add
> them to your hosts file? Then libvirt NSS module is exactly what
> you need!
>
> NSS does a lot in a Linux host. These patches aim at translating
> domain names into IP addresses. All you need to do, is install
> libnss_libvirt.so.2 (e.g. via 'make install' ran from source
> dir), enable the module in nsswitch.conf:
>
> $ grep libvirt /etc/nsswitch.conf
> hosts: files dns libvirt
>
> and you're all set. Now you can just:
>
> $ ping $mydomain
> $ ssh user@$mydomain
>
> or anything you'd like. The only limitation is that it has to be
> libvirt who has assigned the domain IP address. The limitation
> comes from implementation in which
> '/var/lib/libvirt/dnsmasq/*.status' files are parsed when looking
> up a hostname.
>
> What's beautiful on this feature is that it helps any users
> regardless of their systemd attitude. On systemd hosts there
> already exists a similar module 'mymachines' which takes its data
> from machined. And libvirt does communicate with machined when
> creating a domain. But unfortunately at that time we know nothing
> about guest's IPs and therefore do not tell them to machined,
> which in turn can't tell anything to mymachines module. To make
> things worse, machined seems to be lacking an API to tell it the
> addresses later on when libvirt finds out. Therefore even systemd
> distros will benefit from this feature.
Nice. For a similar purpose I hacked up simplec a while ago:
https://github.com/agx/simplec
it works by fetching domain IPs using our APIs and stores them in a file
for a dnsmasq instance to read. This allows to even collect IPs from
remote URIs.
Cheers,
-- Guido
More information about the libvir-list
mailing list