[ovirt-users] cloud init hostname from pools

Paul paul at kenla.nl
Tue Jun 20 13:40:17 UTC 2017


Hi Barak,
Thanks for the explanation. I added my request to your bug.

In the meantime I created this workaround for making pool hostnames unique based on the last octet of ip-address from de DHCP after setting it to static. Not sure if it is safe/durable but seems to work enough for me and has at least some logic in the hostname.

initscript:
runcmd:
- ip=$(ip route get 8.8.8.8 | awk '{print $NF;exit}')
- nmcli con mod eth0 ipv4.addresses $ip"/24" ipv4.dns x.x.x.x ipv4.gateway x.x.x.x ipv4.method manual
- hostnamectl set-hostname testpool-"${ip##*.}".example.com

-----Original Message-----
From: Barak Korren [mailto:bkorren at redhat.com] 
Sent: dinsdag 20 juni 2017 09:47
To: Paul <paul at kenla.nl>
Cc: users <users at ovirt.org>
Subject: Re: [ovirt-users] cloud init hostname from pools

On 19 June 2017 at 17:16, Paul <paul at kenla.nl> wrote:
>
> I would like to automatically set the hostname of a VM to be the same 
> as the ovirt machine name seen in the portal.
>
> This can be done by creating a template and activating cloud-init in 
> the initial run tab.
>
> A new VM named “test” based in this template is created and the 
> hostname is “test”, works perfect!
>
> But when I create a pool (i.e. “testpool”) based on this template I 
> get machines with names “testpool-1”, “testpool-2”, etc. but the 
> machine name is not present in the metadata and cannot be set as 
> hostname. This is probably due to the fact that the machine names are auto generated by the oVirt Pool.
>
> Is this expected/desired behavior for cloud-init from pools?
>
> If so, what would be the best way to retrieve the machine name (as 
> seen in the portal) and manually set it to be hostname via cloud-init 
> (i.e. runcmd – hostnamectl set-hostname $(hostname))


I've opened a bug about this a while ago:
https://bugzilla.redhat.com/show_bug.cgi?id=1298232

Maybe go ahead and write your use case there to get some attention to it...

An alternative is to not care about the VM names in engine and use DNS/DHCP to set VM host names. But then you`ll hit:
https://bugzilla.redhat.com/show_bug.cgi?id=1298235

Our current solution is to just assign names and addresses randomly to POOL VMs and make them report their existence to a central system before use.

--
Barak Korren
RHV DevOps team , RHCE, RHCi
Red Hat EMEA
redhat.com | TRIED. TESTED. TRUSTED. | redhat.com/trusted



More information about the Users mailing list