Leveraging New and Improved Chameleon Images

Less Setup, More Science: Streamlined Images with Built-in Tools and Drivers

We're happy to announce refreshed, improved, enhanced, and streamlined--pick your favorite adjective--images to support your experiments on Chameleon! The images can be found in the usual places: directly in the Chameleon dashboard GUI under Compute -> Images, or listed in the Appliance Catalog. The Chameleon team supports 8 images (along with 2 OpenStack Heat templates), all of which are available in the Appliance Catalog.

The Building Blocks

Our images are based on two of the most popular Linux distributions, Ubuntu and CentOS. We include a number of drivers, tools, and helpful resources in our images to smooth the process of standing up experiments on Chameleon. We'll first discuss the operating systems we support and then we can dive into the recent enhancements we've made.

Ubuntu

Ubuntu is not only the most popular distribution, but also one of the most widely supported. A majority of our images are based on Ubuntu Long Term Support (LTS) releases, which are released in April every two years. The LTS releases include 5 years of support and security updates and put an extra emphasis on stability. Long term support, reliability, and a rich ecosystem of packages make an ideal foundation for experiments on Chameleon. This makes Ubuntu LTS releases a great choice for most of our users.

We offer seven distinct Ubuntu images, each pre-configured for different architectures and GPU workloads:

  • CC-Ubuntu22.04
  • CC-Ubuntu22.04-CUDA
  • CC-Ubuntu22.04-ARM
  • CC-Ubuntu24.04
  • CC-Ubuntu24.04-CUDA
  • CC-Ubuntu24.04-ROCm
  • CC-Ubuntu24.04-ARM

For x86 servers (without GPUs), choose either CC-Ubuntu22.04 or CC-Ubuntu24.04 depending on your needs. Though we still support Ubuntu 22, keep in mind it will be end-of-life 2 years earlier than Ubuntu 24. If you are just starting out, and don't need Ubuntu 22 for a specific reason, then we recommend going with Ubuntu 24.

If you're running on an NVIDIA GPU instance, grab one of the CUDA images to skip manual tool and driver installs.

For ARM instances, pick an ARM build, which shares the same setup as its x86 cousin.

Last but not least, for AMD GPU instances, use the ROCm image. Our ROCm image only includes the tooling for AMD GPUs, so you'll need to install the specific drivers you need.

We've recently deprecated Ubuntu 20.04 which is end of life May 31, 2025. It will no longer receive important software and security updates. If you are selecting a new image, please don't select Ubuntu 20, and if you are still on Ubuntu 20 we encourage you to move to a newer version. If for some reason you need to use an unsupported OS on Chameleon, please consider deploying a supported, and up-to-date, bastion host to connect through so your instance that is running an outdated and insecure OS is not directly exposed to the Internet.

CentOS

If you need a Red Hat–compatible alternative for a specific reason, check out CC-CentOS9-Stream. This rolling-release image brings you the latest CentOS Stream 9 packages and upstream updates, all with cloud-init enabled and standard CentOS repositories configured. It's ideal for development, testing, or production workloads on x86 when you need a CentOS environment that stays close to upstream RHEL.

The Secret Ingredients

These images may look like ordinary images, but under the hood, they come packaged with a few clever ingredients to make your life a little easier.

To start, a Chameleon user account, named cc, and your SSH key are configured at boot, so you can dive in without worrying about how to access your environment. You'll also find an openrc file pre-generated in the home directory of the cc user. The credentials stored in this file allow you to access the Chameleon OpenStack API for 24 hours. After that, you'll need to regenerate the file with the command cc-generate-openrc to get a fresh set of credentials. And then don't forget to source the openrc file again to pick up the new credentials!

When you log in, you'll be greeted with a friendly message of the day that offers pointers to docs, storage tips, and where to get help. Need to save your work? cc-snapshot makes it easy to capture your instance and turn it into a reusable image. For data storage off your instance, rclone is ready to go in the image so you can mount object storage buckets directly into your environment. And thanks to cloud-init, your instance is automatically configured at boot—setting hostnames, attaching volumes, running user scripts, providing credentials, and more.

Finally, all the essential drivers are bundled into the image, so networking, GPUs, and other hardware work out of the box.

Bring Your Own Images

If you are not able to use a Chameleon-supported image, you can create your own. To do this we recommend using our CC-Images tool (it's what we use), based on OpenStack Diskimage-builder.

The readme of the CC-Images repo is up-to-date with instructions on how to use the tool. You can extend an image by changing or adding elements for your image.

If you don't use one of our images, or use CC-Images to build your image, you'll be missing out on many of the items highlighted in the previous section unless you add them manually. You'll want to pay special attention to the drivers you are including (e.g. network drivers) to make sure they work on hosts you plan to support. You'll also want to bundle cloud-init for proper setup and configuration at boot time on Chameleon. Finally, if you manually include cc-snapshot, we cannot guarantee it will work on images other than our own, so make sure to test it thoroughly if you choose to use it.

Feedback

There you have it — a quick tour through our new and improved Chameleon-supported images. We'd love to hear what you think about these images and what you'd like to see next. Please reach out to us on the Chameleon Forum and send us your thoughts.

Chameleon Images Overview

This month's Tips & Tricks blog is an overview of one of the most critical components to experimentation on Chameleon: images! We explore everything that makes a Chameleon image unique, and how you can build your own images!


Add a comment

No comments