On 30. 3. 2020 15:26, john doe wrote:> On 3/30/2020 1:20 PM, Andrea Bolognani wrote:
>> On Mon, 2020-03-30 at 12:04 +0200, Michal Prívozník wrote:
>>> On 27. 3. 2020 20:49, john doe wrote:
>>>> If my understanding is correct, using 'try06' or
'debian' should do the
>>>> same thing?
>>>
>>> Yes, that is the idea. However, these plugins were not introduced
at the
>>> same time. I think that especially Debian has delayed libvirt_guest
>>> plugin. You can check if both plugins exist:
>>>
>>> ls /usr/lib64/libnss_libvirt*
>>>
>>> /usr/lib64/libnss_libvirt_guest.so.2
>>> /usr/lib64/libnss_libvirt.so.2
>>
>> Note that paths are different in Debian-based distros, so the correct
>> ones in this case are actually
>>
>> /lib/x86_64-linux-gnu/libnss_libvirt.so.2
>> /lib/x86_64-linux-gnu/libnss_libvirt_guest.so.2
>>
>
> I have upgraded that Buster host to Bullseye, so I have now a 6... version.
> I have also the above two modules.
>
> I'm still not able to use 'libvirt_guest' though:
>
> --- Guest output (try06):
>
> root@try06:~# cat /etc/hostname
> try06
>
> --- Host output (host):
>
> root@host:# grep hosts: /etc/ns*
> hosts: libvirt_guest
> root@host:# virsh net-dhcp-leases default
> Expiry Time MAC address Protocol IP address
> Hostname Client ID or DUID
>
---------------------------------------------------------------------------------------------------------
> 2020-03-30 16:03:41 52:54:00:d4:e6:f0 ipv4 192.168.122.137/24
> - -
>
>
> root@host:# getent hosts try06; echo $?
> 2
>
>
> What am I missing?
Hold on. 'libvirt_guest' NSS plugin is supposed to translate libvirt
names to IP addresses. For instance:
virsh start myDomain; ssh myDomain
The 'libvirt' NSS plugin is supposed to translate hostnames as sent by
guests to IP addresses. These two can be viewed as the following:
libvirt_guest: virsh domifaddr --source lease $dom
libvirt: virsh net-dhcp-leases $net | grep $hostname
And this is where it gets interesting. In your previous e-mails,
net-dhcp-leases (aka 'libvirt' plugin) worked because the guest did send
hostname when doing DHCP. Now it doesn't (see '-' under
'Hostname' in
the output). Therefore, the 'libvirt' NSS plugin won't work.
And 'libvirt_guest' translates names of guests as seen by libvirt, i.e.
names you pass to virsh commands. These are unrelated to '/etc/hostname'
within guest. But hopefully, you haven't renamed your guest since then
and it is still named 'try06', that is virsh list --all produces
'try06'
in the list. If this is all true, can you share the output of:
strace $(which getent) hosts try06
Michal