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.

----- Original Message -----
From: "Chris Routh" <routh@amateurwriting.net> To: users@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@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On 2014-10-12 09:17, Omer Frenkel wrote:
----- Original Message -----
From: "Chris Routh" <routh@amateurwriting.net> To: users@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@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?

On 2014-10-12 12:54, Chris Routh wrote:
On 2014-10-12 09:17, Omer Frenkel wrote:
----- Original Message -----
From: "Chris Routh" <routh@amateurwriting.net> To: users@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@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@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?

----- Original Message -----
From: "Chris Routh" <routh@amateurwriting.net> To: users@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@amateurwriting.net> To: users@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@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@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@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
participants (2)
-
Chris Routh
-
Omer Frenkel