Project Atomic is now sunset

The Atomic Host platform is now replaced by CoreOS. Users of Atomic Host are encouraged to join the CoreOS community on the Fedora CoreOS communication channels.

The documentation contained below and throughout this site has been retained for historical purposes, but can no longer be guaranteed to be accurate.

Project News

Fedora Atomic Test Day Tomorrow

As Fedora ramps up for the final Fedora 21 release, scheduled for December 9th, we want to make sure that all the components and variants of Fedora get a proper testing. To that end, the Fedora Cloud Working Group is holding a Fedora Test Day on Thursday, 20 November.

Please join us in the #atomic channel on Freenode if you have questions, or shoot us an email to cloud@lists.fedoraproject.org.

Things to test:

  • Booting the image
  • Docker functionality (everything fro pulling images to running, making changes, committing images, etc.)
  • atomic (rpm-ostree) upgrade and rollback
  • Cockpit
  • Kubernetes

We will have test cases on the Fedora wiki and you are (of course) encouraged to come up with your own tests!

The test day image can be found here. Note that this is a test candidate, not a final release. Expect that things will change between now and the final release.

View article »

CentOS Atomic SIG Image Ready for Testing

The CentOS Atomic SIG is pleased to announce that we have a CentOS Atomic Host image ready for testing. The image is currently being built in CentOS infrastructure, but not yet fully integrated into CentOS build systems.

The image should be considered alpha quality, ready for testing, patches, and feedback. It’s more or less package-complete but we still have a ways to go before calling the CentOS Atomic Host ready for any production workloads:

Read More »

Updated CentOS Containers Available via Docker Hub

The CentOS project has updated its Docker Images on the Docker Hub for CentOS 5, CentOS 6, and CentOS 7.

If you’re using CentOS containers, you can quickly update the image with docker pull centos:centos6 (to get CentOS 6.6). This will grab the image if you don’t have it locally, or update the image if you have it and just need to catch up to the latest release.

The latest releases are: * CentOS 5.11 * CentOS 6.6 * CentOS 7.0.1406

Note that this updates the fakesystemd package to properly include dependencies for the lsb-base container, and has fixed some broken symlinks in the CentOS 7 container.

The CentOS Project also makes a number of pre-packaged container applications available on the Docker Hub. Currently you can choose from MariaDB, FreeIPA, Nginx, Apache httpd, and Wildfly.

If you have any questions or have an interest in helping to package additional container applications, see the centos-devel mailing list or join the conversation in #centos-devel on Freenode.

View article »

Build Your Own Atomic Updates

Over the past several weeks, teams within the CentOS and Fedora projects have been establishing the processes needed to produce Atomic Host variants of their respective distributions. If you haven’t already done so, you can check out the latest pre-release Fedora Atomic and CentOS Atomic images.

Now, consuming an OS that partakes in the hotness of atomic system and application management while consisting of pre-built packages from a distribution you already know and trust is the point of Project Atomic, but you still might want to take the reins and produce your own Atomic updates or add new RPMs of your choosing.

If so, you can, without too much trouble, compose and host your own updated or changed atomic updates right from your Atomic host, or from any other sort of Docker host. Here’s how that works:

Composing and hosting atomic updates

First, start with a Docker host (I’m using an instance of the CentOS Atomic alpha, but you can use whatever you want) and clone my byo-atomic repo.

I’m not sure why, but when I performed this operation from the CentOS Atomic alpha image, I had to run my docker build command below with the --privileged argument in order for the rpm-ostree compose tree bit to work.

# git clone --recursive https://github.com/jasonbrooks/byo-atomic.git
# sudo docker build --rm -t $USER/atomicrepo byo-atomic/.
# sudo docker run -ti -p 80:80 $USER/atomicrepo bash

Once inside the container:

For CentOS 7:

# cd /byo-atomic/sig-atomic-buildscripts
# git checkout master
# git pull

If you’d like to add some more packages to your tree, add them in the file centos-atomic-cloud-docker-host.json before proceeding with the compose command:

# rpm-ostree compose tree --repo=/srv/rpm-ostree/repo centos-atomic-cloud-docker-host.json

The CentOS sig-atomic-buildscripts repo currently includes some key packages built in and hosted from the CentOS Community Build System. The CBS repos rebuild every 10 minutes, so if your rpm-ostree fails out w/ a repository not found sort of error, wait a few minutes and run the command again.

The compose step will take some time to complete. When it’s done, you can run the following command to start up a web server in the container.

# sh /run-apache.sh

Now, you should be able to visit $YOURHOSTIP/repo and see your new rpm-ostree repo.

For Fedora 21:

The master branch of the fedora-atomic repo contains the definitions required to compose a rawhide-based Fedora Atomic host. If you’d rather compose a f21-based Fedora Atomic host, you’ll need to:

# cd /byo-atomic/fedora-atomic
# git checkout f21
# git pull

If you’d like to add some more packages to your tree, add them in the file fedora-atomic-docker-host.json before proceeding with the compose command:

# rpm-ostree compose tree --repo=/srv/rpm-ostree/repo fedora-atomic-docker-host.json

The compose step will take some time to complete. When it’s done, you can run the following command to start up a web server in the container.

# sh /run-apache.sh

Now, you should be able to visit $YOURHOSTIP/repo and see your new rpm-ostree repo.

To configure an Atomic host to receive updates from your build machine, edit (as root) the file /etc/ostree/remotes.d/centos-atomic.conf or sudo vi /etc/ostree/remotes.d/fedora-atomic.conf and add a section like this:

[remote "centos-atomic-host"]
url=http://$YOURHOSTIP/repo
branches=centos/7/x86_64/cloud-docker-host;
gpg-verify=false
[remote "fedora-atomic-host"]
url=http://$YOURHOSTIP/repo
branches=fedora-atomic/21/x86_64/docker-host;
gpg-verify=false

With your repo configured, you can check for updates with the command sudo rpm-ostree upgrade, followed by a reboot. Don’t like the changes? You can rollback with rpm-ostree rollback, followed by another reboot.

Till Next Time

If you run into trouble following this walkthrough, I’ll be happy to help you get up and running or get pointed in the right direction. Ping me at jbrooks in #atomic on freenode irc or @jasonbrooks on Twitter. Also, be sure to check out the Project Atomic Q&A site.

View article »

Getting started with cloud-init

Colin Walters recently announced a new cloud image for Atomic that includes support for cloud-init and Kubernetes. Supporting cloud-init is a great move but running this image locally with KVM needs a different set up than previous images. Here’s a walk through to get started with this latest image and the Fedora Atomic Cloud releases. This was the first time I needed to work with cloud-init, and there was a bit of a learning curve. There are a few different examples floating around the web and none of them seemed to work quite right.

Read More »