Bug 1298232 - [RFE] Allow setting different Cloud-init/Sysprep setting for VMs in pools
Summary: [RFE] Allow setting different Cloud-init/Sysprep setting for VMs in pools
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: RFEs
Version: 3.6.1.3
Hardware: x86_64
OS: Linux
medium
low
Target Milestone: ---
: ---
Assignee: Nobody
QA Contact: Nisim Simsolo
URL:
Whiteboard:
Depends On:
Blocks: 1612974
TreeView+ depends on / blocked
 
Reported: 2016-01-13 14:54 UTC by Barak Korren
Modified: 2019-01-03 12:49 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
: 1612974 (view as bug list)
Environment:
Last Closed: 2019-01-03 12:49:34 UTC
oVirt Team: Virt
Embargoed:
mtessun: ovirt-4.3?
mtessun: planning_ack+
rule-engine: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)

Description Barak Korren 2016-01-13 14:54:12 UTC
Description of problem:
At this time every VM in a VM pool gets the exact same settings set for the pool.
For example, if a hostname is set, it it set the same way for all VMs created in the pool.

Version-Release number of selected component (if applicable):
oVirt Engine Version: 3.6.1.3-1.el7.centos


Expected results:
Allow to set some differences between settings given to VMs in a VM pool for example, allow embedding '??' in the hostname set with clount-init so it will be replaced with the VM's pool number when it is created.

Comment 1 Moran Goldboim 2016-12-14 12:18:31 UTC
didn't get to 4.1
We will look into it in the future.

Comment 2 paul 2017-06-20 09:54:02 UTC
I did encounter same issue, any updates on this?

Description:
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))

Comment 3 paul 2017-06-20 13:33:45 UTC
Created a 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

Comment 4 Rik Theys 2017-08-11 08:11:29 UTC
Hi,

I'm running into the same problem.

We would like to use cloud-init to set the hostname of the VM's which are created from a pool.

There should be a way to specify variables (or ??) in the cloud-init hostname field so we can reference the VM name (or use the ?? as in the pool definition).

Regards,

Rik

Comment 5 Ryan Barry 2019-01-03 12:49:34 UTC
This will not be addressed in a reasonable timeframe. Please re-open if it's still important.


Note You need to log in before you can comment on or make changes to this bug.