Red Hat Enterprise Linux Atomic Host is a small footprint, purpose-built version of Red Hat Enterprise Linux that is designed to run containerized workloads. Building on the success of our last release, Red Hat’s Atomic-OpenShift team is excited to announce the general availability of Red Hat Enterprise Linux Atomic Host 7.2.6. This release features improvements in rpm-ostree, cockpit, skopeo, docker, and the atomic CLI. The full release notes can be found here. This post is going to explore a major new feature
, currently available as a Technology Preview: package layering.
Increasing the Flexibility of Atomic Host Deployments
By design, Atomic Host is an immutable operating system with simplified configuration, but state does need maintained between reboots, so directories like /etc/ and /var are writable for configuration and data respectively. All code is deployed to Atomic Host through atomic upgrades and rollbacks. Each release is composed from a fixed set of packages and, all workloads are deployed on top as Linux containers.
Containers make it simple to run traditional applications and microservices. Containers also make it simple to run debugging tools or monitoring agents on the host. The challenge is, most of the agents and tools that we use today were designed before containers were invented - hence, not every piece of software is easy to migrate into a container.
For the past two years, Red Hat has been promoting the concept of super-privileged containers (SPCs) to handle the “tools and agents” use case. We still believe this is an ideal approach for solving these use cases in a containerized environment. That said, there are plenty of situations where it would be nice to simply add an rpm, or even a handful, to Atomic Host. Customers have been asking to do this, and we are excited to announce that it is now possible.
Package Layering
Let’s say we want to run something like lm_sensors on Atomic Host. We can easily create a dedicated SPC or add it to something along the lines of the rhel-tools container to accomplish this... or now we can just add the package plus dependencies directly to Atomic Host. This is especially useful for things like monitoring agents, drivers, etc.
In the following example I’ll add lm_sensors which will also pull in some perl dependencies.
bash-4.2# rpm-ostree pkg-add lm_sensors
notice: pkg-add is a preview command and subject to change.
Downloading metadata: [===================================================] 100%
Resolving dependencies... done
Will download: 29 packages (12.1 MB)
Downloading from rhel-7-server-rpms: [==============================] 100%
Importing: [==============================================================] 100%
Checking out tree b672bf8... done
Overlaying... done
Running %post for lm_sensors...... done
Writing rpmdb... done
Writing OSTree commit... done
Copying /etc changes: 27 modified, 4 removed, 62 added
Transaction complete; bootconfig swap: yes deployment count change: 1
Added:
lm_sensors-3.3.4-11.el7.x86_64
lm_sensors-libs-3.3.4-11.el7.x86_64
perl-4:5.16.3-286.el7.x86_64
---truncating dep list ---------------------------------------------------------------------
Run "systemctl reboot" to start a reboot
Now that the packages have been added and installed, we must reboot to use them.
bash-4.2#atomic host status
State: idle
Deployments:
* rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard
Version: 7.2.6 (2016-08-05 00:50:20)
BaseCommit: b672bf8a457cb28e003dee20c53749636ef5fce3e4743afe4aaad269d3aaa62a
Commit: 7694a2f0dc4d6d94346fadc429cc9914ec52578d0d0ef2612799cb2b85293e0f
OSName: rhel-atomic-host
Packages: lm_sensors
rhel-atomic-host-ostree:rhel-atomic-host/7/x86_64/standard
Version: 7.2.6 (2016-07-29 19:54:25)
Commit: b672bf8a457cb28e003dee20c53749636ef5fce3e4743afe4aaad269d3aaa62a
OSName: rhel-atomic-host
Checking the status of the host shows that we’ve added lm_sensors to the system!
The Fine Print
- pkg-add and pkg-remove is a tech preview feature and we would love for users to try it out and provide feedback.
- Currently we’re limited on installing packages that do not add users to the system. We will be working on adding this capability in the future, but in the meantime that will limit the number of packages that are installable via package layering. The transaction will currently error out if a package attempts to add a user.
- Dependencies are resolved in a familiar way using libdnf. By default you’ll have access to the Red Hat Enterprise Linux repositories, and simply add any needed 3rd party repo files to /etc/yum.repos.d/.
- When `atomic host upgrade` is run layered packages will also be updated if newer versions are available in their repos.
- We can restore the system to its original state by running `rpm-ostree pkg remove [package(s)]` followed by a reboot.
Conclusion
At Red Hat, we think that containers and container hosts should make your life easier. While overlay packages are not the solution to every problem, they can be the difference between a convenient fives minutes of work or four hours of yak shaving. In other words, overlay packages could be the difference between being able to deploy an agent or tool quickly or spending half of a day building a container when you can’t or don’t want to.
We hope you enjoy using this release as much as we did making it. Please check out the new package layering functionality as well as a host of other new packages and features and let us know what you think by leaving a comment (below).
About the author
More like this
Browse by channel
Automation
The latest on IT automation for tech, teams, and environments
Artificial intelligence
Updates on the platforms that free customers to run AI workloads anywhere
Open hybrid cloud
Explore how we build a more flexible future with hybrid cloud
Security
The latest on how we reduce risks across environments and technologies
Edge computing
Updates on the platforms that simplify operations at the edge
Infrastructure
The latest on the world’s leading enterprise Linux platform
Applications
Inside our solutions to the toughest application challenges
Original shows
Entertaining stories from the makers and leaders in enterprise tech
Products
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Cloud services
- See all products
Tools
- Training and certification
- My account
- Customer support
- Developer resources
- Find a partner
- Red Hat Ecosystem Catalog
- Red Hat value calculator
- Documentation
Try, buy, & sell
Communicate
About Red Hat
We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.
Select a language
Red Hat legal and privacy links
- About Red Hat
- Jobs
- Events
- Locations
- Contact Red Hat
- Red Hat Blog
- Diversity, equity, and inclusion
- Cool Stuff Store
- Red Hat Summit