Modifying Your Overcloud Images
by Juan Antonio Osorio Robles
It has been the case several times where I have done a change in a puppet module, but I don’t want to completely rebuild the images. Well libguestfs-tools is your friend.
In this case, I’m testing some changes in puppet-tripleo that attempt to request certificates for keystone. So I have a local copy of the puppet-tripleo repository in my home directory. Note that I also have a local copy of the overcloud-full image in my home directory.
Copying files to the image is fairly simple with the help of virt-copy-in. But before this, one thing to note, is that opposed to what one would think, the puppet manifests for the overcloud (and the undercloud) are not in the directory you would expect. Usually you have your installed puppet modules in /etc/puppet/modules, but in our case, that directory only contains symlinks. So, since they are symlinks, using virt-copy-in will not work in this case. So we must know that for RDO there is the convention to put the OpenStack-related puppet modules in /usr/share/openstack-puppet/modules/. So knowing this we can finally copy our modules:
To verify that this worked, we can use guestfish:
This modified our local copy of the image. So now what’s left is to update the undercloud to host our modified image. We can achieve this with the following command:
This will check our local copies of the overcloud images in case there are changes to them, and upload them to the undercloud’s Glance instance if there are differences. With this done, we now are ready to deploy our changes.
tags: tripleo - openstack