Red Hat Bugzilla – Bug 1029885
cloud-init testcase does not work in engine 3.3.1
Last modified: 2013-12-12 05:10:54 EST
Created attachment 823399 [details]
Description of problem:
We can not reproduce the testcase mentioned in the ovirt-wiki
regarding the new cloud-init feature in 3.3.1
Version-Release number of selected component (if applicable):
ovirt-engine 3.3.1 from ovirt.org beta repo on centos 6.4 x64
compute node is centos 6.4 x64 with latest vdsm from stable ovirt.org repo
vm is a centOS minimal x64 on a local storage dc
Steps to Reproduce:
1. Create new VM (via webadmin)
2.Install OS (CentOs 6.4)
3.Install cloud-init (via yum from epel repo)
4. shutdown vm
5. "run once" vm -> configure cloud-init options e.g. set hostname, root pw, IP..
cloud-init makes a data-source lookup for ec2 (GET http://169.254.169.254/ )
ovirt-engine passes the options from webadmin to the vm, cloud init reads
these and uses them, as described in the test case.
See the attached log from cloud-init for more details.
if you need further logs from management or vdsm, let me know.
PS: installed cloud-init version from epel is 0.6.3-0.12.bzr532
Is this to old?
If the answer is yes, is there any chance of getting a newer version in epel?
Maybe utilizing this build-script: https://github.com/jamiesonbecker/cloudinit-rhel/blob/master/cloud-init-build.sh
addtional debugging revealed, that ovirt pushes the metadata via a cdrom-device.
here is the virsh dumpxml:
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw'/>
<source file='/var/run/vdsm/payload/00977c31-2076-4b38-bdbc-5066ca1f3c89.da80bf145a28800bec9293d23b4bac8b.img' startupPolicy='optional'/>
<target dev='hdd' bus='ide'/>
<address type='drive' controller='0' bus='1' target='0' unit='1'/>
but cloud-init supports cdrom-based data-sources just since version 0.7.2:
So I guess it should work with 0.7.2.
I will try to build or get the appropriate rpm and report back.
Well we tried to build cloud-init from source following this buildscript for
after several tweaks to it we have given up so far, as we are in package
cloud-init 0.7.4. requires pyhton-jsonpatch and pyserial, both not available via
rpm, but the buildscripts requires them as rpm packages, so it isn't satisfied
with installation through pip..
So if upstream could build a new cloud-init version for epel or any rpm
or backport the ability to open cd-rom as data-source this would be great.
So far this feature can't work with this version of cloud-init.
0.7.2 slated to be in 6.5
So this feature will not work in any RHEL based distro ≤ 6.5 ?
That are not very good news for provisioning RHEL based distros.
have you tried building 0.7.2 rather than 0.7.4?
I have not tried it, but will, maybe tomorrow.
I have no time atm to test the manual build of 0.7.2. on CentOS 6.4
What does it mean, if you say this will be fixed in 3.3.2?
For the CD-ROM it's not a matter of ovirt, but of the cloud-init version inside
the vm, so do you plan to backport / release appropriate versions for Enterprise Linux < 6.5 ? Or do you just advise to upgrade to RHEL/CentOS 6.5 (which is not always possible)?
Or do you switch the method, how you pass the data to the vm?
If the latter is the case, are there any links to code changes?
ATM I'm writing a helper script to take the metadata, parse it, and make some
changes to the vm, so if you change how data gets passed to the vm, you should
make this as transparent as possible, because you may have users who rely on the
Maybe this should be discussed on the Users ML or via IRC?
Is this solved by fix introduced for bug 1039009 ?
Or is this fixed by upgrading CentOS / RHEL to 6.5?
(In reply to Sandro Bonazzola from comment #9)
> Is this solved by fix introduced for bug 1039009 ?
> Or is this fixed by upgrading CentOS / RHEL to 6.5?
upgrade is needed, or somehow get cloud-init 0.7.2 built on older versions, which im not sure is possible or not
Sven - is this still an issue with these rpms released for .el6 now?
If this works in 6.5 this is fixed for me, but I did not test it yet if
it works in CentOS 6.5.
Removing from 3.3.2 blockers, closing as cantfix as discussed in
EL >= 6.5 or cloud-init >= 0.7.2 are needed for having this working.