New software image for Manta compute jobs

May 20, 2014 - by David Pacheco

We're excited to announce a new version of the software image used for Manta compute jobs. The new image is based on the 13.3 base image, so it includes upgraded versions of the packages already available in Manta. What's more: many additional packages are installed by default, including R, Octave, and ImageMagick support for WebP images.

While we believe this image should be a compatible upgrade for most customers and so should be non-impacting, it's possible that some applications may be broken by the upgrade. In order to avoid breaking existing jobs, the image is currently only available by opting in on a per-job basis. (See below for details.) Additionally, after we change the default, we will retain some capacity for the older image. You can try the new image using the --image flag to mjob or mlogin.

The new image will become the default for new jobs starting June 16. It's strongly recommended that you try out any existing jobs on the new image before that time. If you need help doing that, please contact support.


What's an image, and what's actually changing?

Recall that Manta compute jobs run inside containers called compute zones. Each zone is created from a software image that basically defines which software packages that are available and installed in that zone.

Before today, new Manta jobs were always executed in zones based on the SmartOS 13.1 image. Starting today, new jobs can instead choose to run in zones based on the SmartOS 13.3 image. The new image has much more software available (8829 packages in the 13.3-based image instead of 2213 in the 13.1-based image) and provides new versions for many of the existing packages.

Note that the image defines which pkgsrc packages are installed in the zone, but you can always run your own software in a zone based on any image as long as you either provide all of your own dependencies or rely only on libraries that don't change incompatibly over time.

How does this affect me?

Since the 13.1-based image is still the default, there's no immediate change for users unless you opt in to the new image. But starting June 16, new jobs will run in the 13.3-based image by default. For that reason, it's strongly recommended that you test your jobs on the 13.3-based image as soon as possible so that things don't start breaking on that day.

How can I try out the new image now?

You can try the new image today by adding --image=13.3 to your mjob command. You have to do this for each phase. For example:

$ mjob create \
    --image=13.3 -m "grep request_id" \
    --image=13.3 -r "sort | uniq -c"

You can also play around with the image using mlogin:

$ mlogin --image=13.3

Note that this requires version 1.2.7 or later of the Manta CLI (released on May 13). You can install or upgrade your Manta CLI tools with:

$ npm install -g manta

What if I need to use the old image after June 16?

We understand that some users may need to keep using the old 13.1-based image after we switch the default to 13.3. We'll keep some zones available using the old image, but capacity will be significantly reduced for this image, and it will be completely removed shortly thereafter. If you need help moving to the new image, please contact support.