Guest Images via Cloud-Init¶
Overview¶
While creating an image is the preferred method for providing a base for the Guest Instance, there may be cases where creating an image is impractical. In those cases a Guest instance can be based on an available Cloud Image and configured at boot via cloud-init.
Currently the most tested Guest image is Ubunutu 14.04 (trusty).
Setting up the Image¶
- Visit the Ubuntu Cloud Archive and download
trusty-server-cloudimg-amd64-disk1.img
. - Upload that image to glance, and note the glance ID for the image.
- Cloud-Init files go into the directory set by the
cloudinit_location
configuration parameter, usually/etc/trove/cloudinit
. Files in that directory are of the format[datastore].cloudinit
, for examplemysql.cloudinit
. - Create a cloud-init file for your datastore and put it into place.
For this example, it is assumed you are using Ubuntu 14.04, with
the MySQL database and a Trove Agent from the Mitaka release. You
would put this into
/etc/trove/cloudinit/mysql.cloudinit
.
#cloud-config
# For Ubuntu-14.04 cloudimage
apt_sources:
- source: "cloud-archive:mitaka"
packages:
- trove-guestagent
- mysql-server-5.5
write_files:
- path: /etc/sudoers.d/trove
content: |
Defaults:trove !requiretty
trove ALL=(ALL) NOPASSWD:ALL
runcmd:
- stop trove-guestagent
- cat /etc/trove/trove-guestagent.conf /etc/trove/conf.d/guest_info.conf >/etc/trove/trove.conf
- start trove-guestagent
- If you need to debug guests failing to launch simply append the cloud-init to add a user to allow you to login and debug the instance.
- When using
trove-manage datastore_version_update
to define your datastore simply use the Glance ID you have for the Trusty Cloud image.
When trove launches the Guest Instance, the cloud-init will install the Mitaka Trove Guest Agent and MySQL database, and then adjust the configuration files and launch the Guest Agent.