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

Omer Frenkel ofrenkel at redhat.com
Mon Oct 13 07:30:06 UTC 2014



----- Original Message -----
> From: "Chris Routh" <routh at amateurwriting.net>
> To: users at ovirt.org
> Sent: Monday, October 13, 2014 12:23:23 AM
> Subject: Re: [ovirt-users] Custom Cloud-Init script only partially executing
> 
> 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?

i'm not sure about editing the Glance image,
but creating a template, as you suggested should work:
create a vm from the image, edit the cloud.cfg as you like, and then create a template from this vm.

now when you will use the new template, you should have the correct cfg.

hope it helps

> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
> 



More information about the Users mailing list