Testing The Latest Container Tools on RHEL8

Testing The Latest Container Tools on RHEL8

Alternate Titles

  • #1: Testing The Latest Container Tools (Podman, Buildah, Skopeo, CRIU, Udica) on RHEL8
  • #2: Testing The Latest Podman on RHEL8
  • #3: Testing The Latest Container Tools on CentOS Stream 8

Background

If you want to test the latest version of the Container Tools module on RHEL8, you’re in the right place. I’m going to walk you through how to test the latest greatest versions, even before they are released in RHEL dot releases (8.3, 8..4, 8.5, etc). Historically, the supply chain for RHEL looked like this at a high level:

Fedora -> RHEL

What a lot of people didn’t realize is that before every major (6, 7, 8, etc) and minor (8.1, 8.2, 8.3, etc) we had to do a lot of internal work to prepare the next RHEL version, so it really looked like this:

Fedora -> private branch -> RHEL

This made it hard for our users to test, so we actually added Alpha and Beta versions like this (sometimes we even threw in a High Touch Beta for good measure):

Fedora -> RHEL Alpha -> RHEL Beta -> RHEL

Now days, with the addition of CentOS Stream, it actually makes development and collaboration with our users much, much easier because it looks like this, and all of the work is public:

Fedora -> CentOS Stream -> RHEL -> CentOS (normal)

For a high level understanding of CentOS Stream check out Transforming the development experience within CentOS by Chris Wright, Changes to CentOS: What CentOS Stream means for developers by Bob Davis, or the very good CentOS Stream FAQ. For a deeper technical understanding of how RHEL is developed, and how CentOS Stream plays a role, check out this talk from DevConf 2020: CentOS Stream: Progress so far (abstract, pdf by Brian Stinson, video, presented by Jim Perrin because Brian was stuck traveling). Brian and Jim give a great explanation of what CentOS Stream is and isn’t and how users can leverage it to collaborate on the development of RHEL.

How This Affects Container Tools Users

As the product manager for the containers subsystem team in RHEL, the number one question I get is: how can I get early access to the latest version of Podman? With the release of RHEL 8, you can consume container tools such as podman through two types of Application Streams: a fast one, and a stable one. The here’s a more detailed description that should help you choose the right one:

  • container-tools:rhel8 – will always have the latest version of Podman, Buildah, Skopeo, CRIU, and Udica. Updated up to every 12 weeks.
  • container-tools:1.0 – the first stable stream we released with RHEL 8.0, supported until 8.4
  • container-tools:2.0 – the second stable stream released at RHEL 8.2 and supported until RHEL 8.6
  • container-tools:3.0 – the third stable stream which will be released in RHEL 8.4 and supported until RHEL 8.8

In a nutshell, the rhel8 stream will be updated every 12 weeks, and new stable streams are launched once a year on even dot numbers and supported for 24 months. This gives users the ability to get access to either the latest greatest code, or take an expressway off ramp into a nice, stable version if they are sensitive to changes which might break things. For a deeper dive, check out: RHEL 8 enables containers with the tools of software craftsmanship

In particular, CentOS Stream is great for getting access to the latest container-tools:rhel8 application stream which is updated up to every 12 weeks. RHEL Alpha and Beta don’t always line up well with how fast the container-tools:rhel8 stream so some times, they have unstable versions, or older versions of the latest tools in our module. Since CentOS Stream is a rolling release version of what’s coming in RHEL8, you have access to a constant sneak peak for what’s coming in container-tools:rhel8.

Installing CentOS Stream and Trying Out The Latest Container Tools

OK, let’s get to the good stuff, using it. First, download the Netboot installer for latest version of CentOS 8 Stream from:

https://wiki.centos.org/Download

Next, set up networking:

Finally, set up the repository to pull packages from and select Minimal Server. use the following URL:

http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/

Don’t forget to:

  • Set a root password
  • Partition the drive
  • Hit Begin Installation

Once the system is up and running, check out the available application streams for container-tools, described above:

yum module list | grep container-tools

Output:

container-tools rhel8 [d][e] common [d] [i] Common tools and dependencies for container runtimes 
container-tools 1.0 common [d] Common tools and dependencies for container runtimes 
container-tools 2.0 common [d] Common tools and dependencies for container runtimes

Install the fast moving application stream for container-tools:

yum module install container-tools:rhel8

You will now have the latest version of podman. This is essentially identical to what we will be releasing in RHEL 8.3, about a month from this writing, but these same instructions should work for future releases as well:

podman --version

Output:

podman version 2.0.5

 

Conclusions

CentOS Stream is a great tool for testing the latest versions of the container-tools module on RHEL8. As always, we’re always looking for users interested in joining our community. Your participation makes RHEL better for everyone. Keep track of the latest product announcements at https://redhat.com and the latest upstream news at: https://podman.io. Feel free to leave comments or questions below.

 

One comment on “Testing The Latest Container Tools on RHEL8”

Leave a Reply

Your email address will not be published. Required fields are marked *