[ovirt-users] Custom Cloud-Init script only partially executing
Chris Routh
routh at amateurwriting.net
Sun Oct 12 21:23:23 UTC 2014
On 2014-10-12 12:54, Chris Routh wrote:
> On 2014-10-12 09:17, Omer Frenkel wrote:
>> ----- Original Message -----
>>> From: "Chris Routh" <routh at amateurwriting.net>
>>> To: users at ovirt.org
>>> Sent: Wednesday, October 8, 2014 1:42:53 PM
>>> Subject: [ovirt-users] Custom Cloud-Init script only partially
>>> executing
>>>
>>> I'm trying to get the custom cloud-init script section in my site to
>>> run. My goal is to have the VM run 'yum update', add the PuppetLabs
>>> repository, and then install the latest puppet agent, and join it to
>>> Puppet.
>>>
>>> Following the docs for oVirt and Cloud-Init I have this:
>>>
>>> BEGIN SCRIPT
>>> =======================
>>> yum_repos:
>>> # The name of the repository
>>> puppetlabs-release:
>>> baseurl:
>>> http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
>>> enabled: true
>>> failovermethod: priority
>>> gpgcheck: true
>>> gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
>>> name: Puppet Labs repository for Enterprise Linux 6
>>>
>>>
>>> # Upgrade the instance on first boot
>>> package_upgrade: true
>>>
>>>
>>> # Install additional packages on first boot
>>> packages:
>>> - puppet
>>>
>>> # Automatically setup and run puppetd
>>> puppet:
>>> conf:
>>> agent:
>>> server: "puppet.example.com"
>>> certname: "%f"
>>> ca_cert: |
>>> -----BEGIN CERTIFICATE-----
>>> < My Cert >
>>> -----END CERTIFICATE-----
>>>
>>>
>>> =======================
>>> END SCRIPT
>>>
>>> However what I end up with from this is:
>>>
>>> - No Yum update
>>> - No added repository
>>> - Puppet gets installed from the default repos
>>> - No attempt to join
>>>
>>>
>>> According to the cloud-init docs my code is correct, however oVirt is
>>> not respecting anything, with the sole exception being the
>>> 'packages:'
>>> argument. Can someone please explain?
>>>
>>> Also, I have combed the script and ensured that the indentation was 4
>>> spaces, and not tabs. I noted that previous users in this mailing
>>> list
>>> have had that issue before.
>>
>>
>> the custom script should be sent as-is to the vm,
>> you can check what is actually attached to the vm,
>> just mount the "config-2" cd rom and look for it under
>> openstack/latest
>> please update if it somehow sent wrong
>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at ovirt.org
>>> http://lists.ovirt.org/mailman/listinfo/users
>>>
>
> I have gotten much farther in troubleshooting this thanks to your
> help. I managed to find the config-2 cdrom by using 'blkid' and then
> mounted it. I see that my code is correct. I was then able to run the
> script manual with debug mode and being some trial and error
> troubleshooting.
>
> I managed to figure out that in order for my script to work, I needed
> two extra modules added to /etc/cloud/cloud.cfg:
>
> /etc/cloud/cloud.cfg
> =======================
>
> cloud_config_modules:
> - yum-add-repo
> - package-update-upgrade-install
>
> =======================
>
> Now, while that allows me to fix the issue with a manual run after the
> VM has been created, it doesn't really cure the root issue.
>
> How do I add these modules to the cdrom-2 so that this will work
> without intervention on the first run?
>
> I'm using the ovirt-image-repository CentOS-6.5 image as a template.
> Is the issue in the image? Or the cdrom? Will creating a custom
> template help?
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
After further investigation it appears the problem is in the config of
the Glance image for CentOS in the ovirt-image-repository.
Is there a way to load these modules with a setting in ovirt? Or can we
request that these modules be enabled in the Glance image?
More information about the Users
mailing list