Set hostname of guest during installation time

Michal Prívozník mprivozn at redhat.com
Mon Mar 30 10:04:02 UTC 2020


On 27. 3. 2020 20:49, john doe wrote:
> On 3/27/2020 8:29 PM, john doe wrote:
>> On 3/27/2020 7:36 PM, Michal Prívozník wrote:
>>> On 27. 3. 2020 19:23, john doe wrote:
>>>> Okay, I have installed the pluging, do you mind explaning how this
>>>> should work?:
>>>>
>>>> $ grep host /etc/ns*
>>>> hosts:          files libvirt_guest dns
>>>>
>>>>
>>>> If I'm correct, following your example, I should be able to do:
>>>>
>>>>  $ host try06
>>>>
>>>> What am I missing.
>>>
>>> 'host' does DNS directly, regardless of nsswitch.conf. That's not how
>>> majority of SW work. Try:
>>>
>>>   getent hosts try06
>>>
>>> or:
>>>
>>>   ssh try06
>>>
>>> The majority will use gethostbyname() which will consult the
>>> nsswitch.conf and use modules defined there. In your case, the
>>> /etc/hosts will be consulted first, then libvirt_guest and DNS is used
>>> only if everything else failed. You can verify that 'host' does DNS
>>> directly by trying a hostname from /etc/hosts. It will give an error
>>> even though getent won't.
>>>
>>> Michal
>>>
>>
>> Thanks for the explanation but it does not seem to work:
>>
>> $ getent hosts try06; echo $?
>> 2
>>
>>
>> Using 'libvirt' or libvirt_guest' one or the other or both does not
>> change the above, for testing purposes the line 'hosts: ...' has only
>> libvirt modules.
>>
>> It is also not working for SSH.
>>
>> Testing this on Debian Buster (10) ('libnss-libvirt is already the
>> newest version (5.0.0-4+deb10u1)').
>>
>> Your help is appriciated.
>>
> 
> With some more testing:
> 
> $ grep hosts: /etc/ns*
> hosts: file libvirt libvirt_guest dns
> 
> $ virsh net-dhcp-leases default
>  Expiry Time           MAC address         Protocol   IP address
>    Hostname   Client ID or DUID
> ------------------------------------------------------------------------------------------------------------------------------------------------
>  2020-03-27 21:40:49   52:54:00:d4:e6:f0   ipv4       192.168.122.137/24
>   debian     ff:00:d4:e6:f0:00:01:00:01:26:11:0b:0c:52:54:00:d4:e6:f0
> 
> $ getent hosts try06
> $ getent hosts debian
> 192.168.122.137 debian

So 'libvirt' plugin is working and 'libvirt_guest' is not.

> 
> 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

I was told that in Debian, 5.2.0 is the first package to have both NSS
plugins.

Michal




More information about the libvirt-users mailing list