AWS ImageBuilder Strangeness

AWS ImageBuilder default pipeline sometimes changes instance types, leading to strangeness.

AWS ImageBuilder Strangeness
Photo by Brett Jordan / Unsplash

When you run an AWS ImageBuilder pipeline, if you don't define an instance type for ImageBuilder to use, it picks (apparently at random) an instance type to use when it builds the image.

Sometimes you get a nitro instance, sometimes you get a xen image type. These are, obviously, pretty dramatically different baseline instance types, and so the non-deterministic nature of the default pipeline might cause errors.

If you find you're getting errors like this, particularly if you're doing partitioning sort of things in linux:

Stderr: Problem opening /dev/nvme0n1 for reading! Error is 2.
The specified file does not exist!
Problem opening /dev/nvme0n1 for reading! Error is 2.
The specified file does not exist!
Warning: Not all of the space available to /dev/xvda appears to be used, you can fix the GPT to use all of the space (an extra 83886080 blocks) or continue with the current setting? 
  No device found for /dev/nvme0n1p3.
  No device found for /dev/nvme0n1p3.
  Volume group "volgroup0" not found
  Cannot process volume group volgroup0
  Volume group "volgroup0" not found

There's a good chance this is an artifact of the pipeline switching between M4 and M5 instance types, if you didn't specify which one to use.