[ovirt-users] Custom Cloud-Init script only partially executing

Chris Routh routh at amateurwriting.net
Sun Oct 12 16:54:58 UTC 2014


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?



More information about the Users mailing list