Converting Butane to Ignition on Boot We’ve received anecdotal evidence over the years that the transpilation step where you must convert a Butane YAML configuration into Ignition JSON before staring your CoreOS instance is a pain for users to understand and implement. CoreOS developers also feel this pain at times. What if you could feed either a Butane YAML config or an Ignition JSON config to your instance and it would just do the right thing regardless?| A Random Walk Down Tech Street
Problem Sometimes you just don’t have a stable (or even functioning network) to leverage when dealing with a piece of hardware. In all my years in Linux admin/development I’ve always worked around this problem with some sort of sneakernet, but there is another way. Typically when bringing up new hardware one of the most basic interfaces you have is a serial console connection and I just learned recently how to transfer files over that serial console connection rather than requiring a net ...| A Random Walk Down Tech Street
History It’s a new year and it has been 5 years since the last time I updated this blog post series. This time I’m updating to Fedora 41 and also bringing forward a lot of changes I’ve made over the last 5 years. As mentioned previously for now I’m using Fedora Silverblue on my laptop systems and continuing with a BTRFS+snapper setup for my desktop. This series describes the BTRFS+snapper setup.| A Random Walk Down Tech Street
Recently I looked into enabling and testing multipath on top of iSCSI for Fedora and Red Hat CoreOS. As part of that process I had the opportunity to learn about iSCSI, which I had never played with before. I’d like to document for my future self how to go about setting up an iSCSI server and how to then access the exported devices from another system. Setting up an iSCSI server First off there are a few good references that were useful when setting this up.| A Random Walk Down Tech Street
Recently we switched our 9p filesystem usage in CoreOS Assembler to use virtiofs. This is the technology behind a lot of new lightweight container VM technology like kata-containers and libkrun, but can also be easily used with libvirt. Running as non-root using qemu:///session Currently the virtiofs integration doesn’t work as non-root via a qemu:///session connection. There is an oustanding RFE for this upstream and downstream in RHEL that can be followed for updates.| A Random Walk Down Tech Street
Earlier this summer I spoke at the Fedora 38 release party about Fedora CoreOS. As part of this I had the privilege of giving the presentation alongside Marc Pusey from Columbia University. Marc talked about how Columbia University uses Fedora CoreOS and his experience participating in the Fedora and Fedora CoreOS communities. It was a real treat and quite nice to see Fedora CoreOS being applied in such diverse ways for research and learning.| A Random Walk Down Tech Street
Someone recently asked me about locking down a bond to specific NIC devices within the machine. Specifically they were concerned with the sometimes unpredictable nature of NIC naming in Linux. While there has been a lot of effort to make NIC naming more predictable, it turns out with the networking configuration stack we are using in Fedora/RHEL (NetworkManager) you don’t even really need to care about the NIC device names if you know the MAC Addresses of the interfaces you want to use.| A Random Walk Down Tech Street
Note: A more permanent version of this tutorial exists in the Fedora CoreOS documentation. Fedora CoreOS recently started producing 64-bit ARM (aarch64) artifacts. These images can be used as the Operating System for the Raspberry Pi 4 device. Before trying to get FCOS up and running on your Raspberry Pi4 you’ll want to Update the EEPROM to the latest version and choose how you want to boot the Raspberry Pi 4.| A Random Walk Down Tech Street
A couple of us recently gave an update to our Customer Experience team at Red Hat on the improvements that were made in Red Hat CoreOS for OpenShift 4.6. My part of the presentation focused on the new Live ISO that is now used for Fedora/Red Hat CoreOS installations and also the improvements that we made for being able to copy the install environment networking configuration into the installed system via coreos-installer --copy-network.| A Random Walk Down Tech Street
Introduction I recently did a blog post series. showing how to get started with OpenShift OKD on Fedora CoreOS for DigitalOcean. For that series I wrote a script to do most of the heavy lifting because DigitalOcean isn’t a native supported platform by the OpenShift installer. Today I’ll show off how to get started in GCP, which is supported natively by the OpenShift installer. This makes it much easier to get started because most of the heavy lifting (including infrastructure bringup) is ...| A Random Walk Down Tech Street
NOTE: The fourth post of this series is available here. This blog post is the fifth in a series that illustrates how to set up an OpenShift OKD cluster on DigitalOcean. Back on August 17th I highlighted this blog post series with a presentation and demo for the OKD working group’s Demo Marathon. The video is posted on YouTube and also available below. If you’re interested take some time and watch the whole process work and see a cluster up and running at the end.| A Random Walk Down Tech Street
Introduction NOTE: The third post of this series is available here. This blog post is the fourth in a series that illustrates how to set up an OpenShift OKD cluster on DigitalOcean. The third post in the series covered further configuration of a cluster once it’s already up and running. At this point you should have a cluster up and running and configured with custom TLS certificates and user login’s outsourced to some other identity management service.| A Random Walk Down Tech Street
Introduction NOTE: The second post of this series is available here. This blog post is the third in a series that illustrates how to set up an OpenShift OKD cluster on DigitalOcean. The second post in the series covered the automated deployment and teardown of a cluster using the digitalocean-okd-install script. At this point you should have a cluster up and running and ready to be further customized. Set Up Custom TLS Certificates In the first post in this series we mentioned that you may wa...| A Random Walk Down Tech Street
Introduction NOTE: The first post of this series is available here. This blog post is the second in a series that illustrates how to set up an OpenShift OKD cluster on DigitalOcean. The first post in the series covered some background information and pre-requisites needed for deploying a cluster. At this point you should have chosen the domain for your cluster, set up your registrar to point to DigitalOcean nameservers, installed all necessary software (doctl, openshift-install, oc, aws cli, ...| A Random Walk Down Tech Street
Introduction This blog post is the first in a series that will illustrate how to set up an OpenShift OKD cluster on DigitalOcean using the bare metal install documentation (user provisioned infrastructure). OKD has tight integrations with the Operating System and uses Fedora CoreOS as a platform for driving the underlying infrastructure, thus we’ll be deploying on top of Fedora CoreOS images inside of DigitalOcean. The documentation for OKD is pretty comprehensive, but there is nothing like...| A Random Walk Down Tech Street
If you’ve ever had a chance to “nerd out” with me much I’ve probably told you about at least one TUI that I use to make my daily work life easier. Some of my favorites include htop, tig, tmux (not sure if tmux counts), etc.. Lately I’ve been finding myself using Kubernetes/OpenShift much more and I have often thought to myself I wish a nice TUI existed to get in and navigate resources in a Kubernetes environment.| A Random Walk Down Tech Street
Introduction With Fedora CoreOS we currently have two ways to do a bare metal install and get our disk image onto the spinning rust of a “non-cloud” server. You can use coreos.inst* kernel arguments to automate the install, or you can boot the Live ISO and get a bash prompt where you can then run coreos-installer directly after doing whatever hardware/network discovery that is necessary. This means you either do a simple automated install where you provide all of the information up front ...| A Random Walk Down Tech Street
Introduction NetworkManager allows connections to be defined in a configuration file known as a keyfile , which is a simple .ini-style formatted file with different key=value pairs. In Fedora CoreOS we’ve elected to use NetworkManager with keyfiles as the way to configure networking. In case you have a standard networking environment with NICs requesting DHCP then you probably won’t need to configure networking. However, if you’d like to have a static networking config or if you’d lik...| A Random Walk Down Tech Street
Introduction For some time now with virt-install (developed under virt-manager) you have been able to specify a kernel and initial ramdisk to start a VM with. The only problem is that the VM will always start with that kernel/initrd (unless you change the definition manually). If you are rapidly testing operating system installations this can be problematic. On the one hand, providing the kernel/initrd allows one to automate the install process from a Linux terminal, or even a script, by spec...| A Random Walk Down Tech Street
Setting Up For The Lab This lab uses a Fedora CoreOS image and several utilities (fcct, ignition-validate) to introduce a user to provisioning and exploring a Fedora CoreOS system. This lab is written targeting a Linux environment with a working libvirt/kvm setup. To perform this lab you need to download the tar archive at this link (signed checksum file) and extract it. We recommend extracting it into your home directory like so:| A Random Walk Down Tech Street
History It’s almost 2020. Fedora 31 came out a month back and I’m just getting around to converting my desktop system to Fedora 31. As mentioned before, for my laptop systems I’ve moved on to Fedora Silverblue. As I continue to containerize my workflows I’m moving more and more of my daily workflows into Flatpaks from the Fedora registry, pet containers (via toolbox) and, single purpose containers. As I continue to convert my workflows into containers I’ll stick with the BTRFS+snapp...| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post TL;DR Fedora 29 will be End Of Life soon. With it Fedora Atomic Host will have its last incremental release (based on the Fedora 29 stream). Please move to the Fedora CoreOS preview if you can. Last year we introduced the plans for Fedora CoreOS including that Fedora CoreOS would be the successor to Fedora Atomic Host and Container Linux (from CoreOS Inc.| A Random Walk Down Tech Street
Introduction With Fedora CoreOS Ignition is being used to configure nodes on first boot. While Ignition json configs are not intended to be a tool that users typically interact with (we are building tooling like fcct for that) I’ll show you an example of how to deliver a script to a Fedora CoreOS (or RHEL CoreOS) host so that it will be run on first boot. Write the script Let’s say we have a small script we want to run that updates the issuegen from console-login-helper-messages to output...| A Random Walk Down Tech Street
Introduction This is an update to my previous post about easily testing PXE booting by using libvirt + iPXE. Several people have notified me (thanks Lukas Zapletal and others) that instead of leveraging PXELINUX that I could just use an iPXE script to do the same thing. I hadn’t used iPXE much so here’s an update on how to achieve the same goal using an iPXE script instead of a PXELINUX binary+config.| A Random Walk Down Tech Street
History It’s 2019 and I’m just getting around to converting my desktop system to Fedora 29. For my work laptop I’ve moved on to Fedora Silverblue (previously known as Atomic Workstation) and will probably move my desktop there soon too as I’ve had a good experience so far. For now I’ll stick my desktop system to this old setup with BTRFS+snapper where I am able to snapshot and rollback the entire system by leveraging BTRFS snapshots, and a tool called snapper.| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post Introduction This week we put out the first release of Fedora 29 Atomic Host. This will be the last major release of Fedora Atomic Host as we prepare for Fedora CoreOS which will be released in Fedora 30. In this post we’ll quickly list some known issues and then talk about updating an existing Fedora 28 Atomic Host system to Fedora 29. We’ll cover preparing the system for upgrade and performing the upgrade.| A Random Walk Down Tech Street
Introduction Last time I talked about using rpm-ostree-bisect, a tool that I wrote to automatically bisect the history of an OSTree remote in order to find the exact commit when a problem was introduced. I recently put the tool to the test again. The Problem Recently a user reported an issue where their system was seeing timeouts on boot. They determined that if they removed the resume=/dev/mapper/fedora-swap argument from the kernel command line then the system would boot without timing out ...| A Random Walk Down Tech Street
Introduction Occasionally in OS land we’ll come across a bug that snuck its way into a build and has been in the wild for a while before anyone notices it. One example is a recent bug (originally discovered by the community of CoreOS Container Linux) where the jumbo packet MTU size of 9001 was no longer getting set properly on EC2 instances. So we have this bug, and we know things used to work.| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post Introduction RPM-OSTree/OSTree conveniently allows you to rollback if you upgrade and don’t like the upgraded software. This is done by keeping around the old deployment; the old software you booted in to. After a single upgrade you’ll have a booted deployement and the rollback deployment. On the next upgrade the current rollback deployment will be discarded and the current booted deployment will become the new rollback deployment.| A Random Walk Down Tech Street
Introduction Earlier this month I was lucky enough to attend the 2018 Fedora Infrastructure Hackfest. It’s always a treat to hang out with some of the people who really make Fedora tick. Sinny Kumari and I were there to help represent the Atomic Working Group, and also get some face time with each other to learn and hack on a few things related to the Atomic Working group. The Hackfest was held in Paul Frield’s hometown of Fredricksburg, VA.| A Random Walk Down Tech Street
Introduction In Fedora we are moving to a unified OSTree repo structure where there is a single OSTree repository that is the remote for all branches of Fedora (rawhide, branched, stable, etc). As part of this we want to be able to define different retention policies for different branches within the repository. For rawhide we’ll retain a few weeks worth of commits, but for stable we don’t want to prune any of the commits.| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post TL;DR Fedora Atomic Host (and derivatives) will now include the firewalld package in the base OSTree that is tested, delivered, and released every two weeks. Existing users should observe no change as it won’t be enabled by default. Firewalld in Atomic Host In the past we have had requests to have firewalld in Atomic Host to enable a better interface into firewall management for administrators and management software.| A Random Walk Down Tech Street
History I’m back again with the Fedora 27 edition of my Fedora BTRFS+Snapper series. As you know, in the past I have configured my computers to be able to snapshot and rollback the entire system by leveraging BTRFS snapshots, a tool called snapper, and a patched version of Fedora’s grub2 package. I have some great news this time! You no longer need a patched version of Fedora’s grub package in order to pull this off.| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post Introduction This week we put out the first release of Fedora 27 Atomic Host. Some quick notes: In Fedora 27 Atomic Host we removed kubernetes from the base OSTree. See Appendix A: Upgrading Systems with Kubernetes for more information. For Fedora 27 we are currently sticking with the non-unified repo approach as opposed to a unified repo. TL;DR nothing is changing for now but we expect to implement a unified repo as described here during the F2...| A Random Walk Down Tech Street
Introduction Hosting your own Atomic Host OSTree can be useful from time to time. Maybe you want to try out something new or maybe you want to permanently build your own custom tree and use it forever. It can be quite easy to set up a build server and host the contents, especially for personal use. This post will walk through setting up a server to do builds and also hosting the content over http.| A Random Walk Down Tech Street
Introduction In Part 4 of this series we learned about package layering and experimental features of atomic host OSTree mutations. This included installing packages from external repositories as well as removing and replacing components of the base OSTree that was delivered with Atomic Host. We also converted our localweb service to be hosted by a local docker container running the httpd software rather than Python 3. In this section of the lab we’ll talk a litte bit more about Containerize...| A Random Walk Down Tech Street
Introduction In Part 3 of this series we learned about rebasing, upgrading, and performing rollbacks on Atomic Host. We also learned how files are restored during a rollback operation and how to inspect the differences in RPM content between each commit in the OSTree history of an Atomic Host using the rpm-ostree command line tool. In this section we will cover the following topics from the outline in Part 0.| A Random Walk Down Tech Street
Introduction In Part 2 of this series we learned about configuring container storage on Atomic Host. In this section we will cover the following topics from the outline in Part 0. Atomic Host Rebasing Atomic Host Upgrades and Rollbacks Browsing OS History Rebasing One of the more fascinating aspects of Atomic Host techology is that you can rebase to completely different operating system trees. Let’s take this to an extreme and go from the newer technology in Fedora to the older (more stable...| A Random Walk Down Tech Street
Introduction In Part 1 of this series we learned a little about the technology behind Atomic Host and how to interact with a deployed system. In this section we will cover the Configuring Storage for Containers topic from the outline in Part 0. History of Container Storage One of the early goals of Atomic Host was to be a good platform for running containerized workloads. This is still a fundamental goal of Atomic Host and certainly includes making sure that the container runtime (currently t...| A Random Walk Down Tech Street
Introduction In Part 0 of this series we helped get a Fedora 26 Atomic Host system set up for the rest of this lab. In this section we will cover the following topics from the outline: Getting Familiar With Atomic Host Viewing Changes To A Deployed System Getting Familiar Atomic Host is built on top of underlying technology known as OSTree and leveraged by an RPM aware higher level technology known as rpm-ostree.| A Random Walk Down Tech Street
Introduction While Atomic Host has been around since 2014 there are still a lot of people that aren’t as familiar with the technology. The Atomic team within Red Hat, along with numerous other upstream contributors, have brought the OSTree and RPM-OSTree technology a long way. At the Fedora user and contributor conference (known as Flock) this week we will be giving a lab on Atomic Host designed to let new users learn about Atomic Host.| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post A new Fedora Atomic Host update is available via an OSTree commit: Commit: f6331bcd14577e0ee43db3ba5a44e0f63f74a86e3955604c20542df0b7ad8ad6 Version: 26.101 In this release we have fixed an issue with our qcow and vagrant images from the 20170723 release. If you used the qcow or vagrant images from that release then please make sure you are following the fedora/26/x86_64/atomic-host ref. See this Atomic Working Group issue for more details.| A Random Walk Down Tech Street
a more permanent version of this content lives here Introduction NOTE: For background on OSTree check out the docs. When you want to create a new OSTree using rpm-ostree you usually define a few yum repos, and then a json file that says what rpms you want to be composed in the tree. You then run an rpm-ostree compose tree command to create the commit in the ostree repo. Once the ostree commit has been created you can then create installer images (ISOs) and cloud/VM images (qcow, etc) from tha...| A Random Walk Down Tech Street
cross posted with this Project Atomic blog post and this Fedora Magazine post Introduction In July we put out the first and second releases of Fedora 26 Atomic Host. In this blog post we’ll cover updating an existing Fedora 25 Atomic Host system to Fedora 26. We’ll cover preparing the system for upgrade and performing the upgrade. NOTE: If you really don’t want to upgrade to Fedora 26 see the later section: Appendix B: Fedora 25 Atomic Host Life Support.| A Random Walk Down Tech Street
cross posted from this_ fedora magazine post Now that the Fedora Beta has been officially released the Fedora Atomic Working Group and Fedora Cloud SIG would like to get the community together next week to find and squash some bugs. We are organizing a test day for Tuesday, June 20th. For this event we'll test both Atomic Host content and Fedora Cloud Base content. Vagrant Boxes will be available to test with as well.| A Random Walk Down Tech Street
Cross posted with this_ Project Atomic Blog post --- With the latest release of Fedora Atomic Host we are now live in DigitalOcean! This was a popular user request and thanks to the folks at DigitalOcean and the Fedora Atomic Working Group we now have Fedora Atomic Host as an option when creating a droplet. Go ahead and spin up a droplet in the web interface or via the doctl CLI today!| A Random Walk Down Tech Street
Cross posted with this_ Project Atomic Blog post TL;DR: The default Fedora cadence for updates in the RPM streams is once a day. Until now, the OSTree-based updates cadence has matched this, but we're changing the default OSTree update stream to match the Fedora Atomic Host image release cadence (once every two weeks). --- In Fedora we release a new Atomic Host approximately every two weeks. In the past this has meant that we bless and ship new ISO, QCOW, and Vagrant images that can then be u...| A Random Walk Down Tech Street
History I'm back again with the Fedora 25 edition of my Fedora BTRFS+Snapper series. As you know, in the past I have configured my computers to be able to snapshot and rollback the entire system by leveraging BTRFS snapshots, a tool called snapper, and a patched version of Fedora's grub2 package. I have updated the patchset (patches taken from SUSE) for Fedora 25's version of grub and the results are available in this git repo.| A Random Walk Down Tech Street
Cross posted with this_ Project Atomic Blog post Introduction In part 1 of this series we used the OpenShift Ansible Installer to install Openshift Origin on three servers that were running Fedora 25 Atomic Host. The three machines we'll be using have the following roles and IP address configurations: +-------------+----------------+--------------+ | Role | Public IPv4 | Private IPv4 | +=============+================+==============+ | master,etcd | 54.175.0.44 | 10.0.173.101 | +-------------+...| A Random Walk Down Tech Street
Cross posted with this_ Project Atomic Blog post Introduction Openshift Origin is the upstream project that builds on top of the Kubernetes platform and feeds into the OpenShift Container Platform product that is available from Red Hat today. Origin is a great way to get started with Kubernetes, and what better place to run a container orchestration layer than on top of Fedora Atomic Host? We recently released Fedora 25, along with the first biweekly release of Fedora 25 Atomic Host.| A Random Walk Down Tech Street
Cross posted with this_ Red Hat Developer Blog post Introduction Kompose is a tool to convert from higher level abstractions of application definitions into more detailed Kubernetes artifacts. These artifacts can then be used to bring up the application in a Kubernetes cluster. What higher level application abstraction should kompose use? One of the most popular application definition formats for developers is the docker-compose.yml format for use with docker-compose that communicates with th...| A Random Walk Down Tech Street
Cross posted with this_ fedora magazine post Last week the Fedora Project released Fedora 25. This week Fedora Project Community members have worked with the DigitalOcean team to make Fedora 25 available on their platform. If you're not familiar with DigitalOcean already, it's a dead simple cloud hosting platform that's great for developers. Important Notes The image has some specific differences from others that Fedora ships. You may need to know about these differences before you use the im...| A Random Walk Down Tech Street
Disclaimer I am not a Go expert so I may not be able to answer questions you may have about this process. I am simply trying to reproduce and document what I saw. Additionally, it was actually recommended to not do this for long running processes because you'll have two runtimes that may work against each other eventually (garbage collection, etc). Be wary. Introduction Back in July I went to Go Camp that was a part of Open Camps in NYC.| A Random Walk Down Tech Street
Introduction I recently picked up a new Lenovo T460s work laptop. It is fairly light and has 20G of memory, which is great for running Virtual Machines. One of the first things I did on this new laptop was install Fedora 24 onto the system. After installing from the install media I was up and running and humming along. Soon after installing I updated the system to get all bugfixes and security patches.| A Random Walk Down Tech Street
Introduction In the open source docker engine a new networking model was introduced in docker 1.9 which enabled the creation of separate "networks" for containers to be attached to. This, however, can lead to a nasty little problem where a port that is supposed to be exposed on the host isn't accessible from the outside. There are a few bug reports that are related to this issue. Cause This problem happens because docker wires up all of these containers to each other and the various "networks...| A Random Walk Down Tech Street
History In the past I have configured my personal computers to be able to snapshot and rollback the entire system. To do this I am leveraging the BTRFS filesystem, a tool called snapper, and a patched version of Fedora's grub2 package. The patches needed from grub2 come from the SUSE guys and are documented well in this git repo. This setup is not new. I have fully documented the steps I took in the past for my Fedora 22 systems in two blog posts: part1 and part2.| A Random Walk Down Tech Street
cross posted from this_ fedora magazine post Introduction We're trying to focus more on developer experience in the Red Hat ecosystem. In the process we've started to incorporate the Vagrant into our standard offerings. As part of that effort, we're seeking a shared folder solution that doesn't include a bunch of if/else logic to figure out exactly which one you should use based on the OS/hypervisor you use under Vagrant.| A Random Walk Down Tech Street
UPDATE - 2018-02-01: I was informed by @nmccrina that the repo linked to in this post is no longer maintained. Please use https://github.com/paspro/rtl8812au instead. NOTE: Most of the content from this post comes from a blog post I found that concentrated on getting the driver set up on Fedora 21. I did mostly the same steps with a few tweaks. Intro Driver support for 802.11ac in Linux is spotty especially if you are using a USB adapter.| A Random Walk Down Tech Street
Background The CentOS community is trying to build an ecosystem that fosters and encourages upstream communities to continuously perform integration testing of their code running on the the CentOS platform. The CentOS community has built out an infrastructure that (currently) contains 256 servers ("bare metal" servers") that are pooled together to run tests that are orchestrated by a frontend Jenkins instance located at ci.centos.org. Who Can Use the CentOS CI?| A Random Walk Down Tech Street
Intro As part of the Container Tools team at Red Hat I'd like to highlight a feature of Atomic App: support for execution via OpenShift's cli command oc new-app. The native support for launching Nulecules means that OpenShift users can easily pull from a library of Atomic Apps (Nuleculized applications) that exist in a Docker registry and launch them into OpenShift. Applications that have been packaged up in a Nulecule offer a benefit to the packager and to the deployer of the application.| A Random Walk Down Tech Street
By now most Fedora email lists have been migrated to Mailman3. One little (but killer) new feature that I recently discovered was that Mailman3 includes the RFC 5064 Archived-At header in the emails. This is a feature I have wanted for a really long time; to be able to find an email in your Inbox and copy and paste a link to anyone without having to find the message in the online archive is going to save a lot of time and decrease some latency when chatting on IRC or some other form of real t...| A Random Walk Down Tech Street
Cross posted with this_ fedora magazine post Since the release of Fedora 22, Fedora began creating Vagrant boxes for cloud images in order to make it easier to set up a local environment for development or testing. In the Fedora 22 release cycle we worked out quite a few kinks and we are again releasing libvirt and virtualbox Vagrant boxes for Fedora 23. Additionally, for Fedora 23, we are making it easier for the users to grab these boxes by having them indexed in Hashicorp's Atlas.| A Random Walk Down Tech Street
Cross posted with this_ fedora magazine post This week was the release week for Fedora 23, and the Fedora Project has again worked together with the DigitalOcean team to make Fedora 23 available in their service. If you're not familiar with DigitalOcean already, it is a dead simple cloud hosting platform which is great for developers. Using Fedora on DigitalOcean There are a couple of things to note if you are planning on using Fedora on DigitalOcean services and machines.| A Random Walk Down Tech Street
Cross posted with this_ fedora magazine post Inspired mostly from a post_ by Lars Kellogg-Stedman. Intro Ansible is a simple IT automation platform written in python that makes your applications and systems easier to deploy. It has become quite popular over the past few years but you may hit some trouble when trying to run Ansible on Fedora 23. Fedora 23 is using python 3 as the default python version that gets installed (see changes), but Ansible still requires python 2.| A Random Walk Down Tech Street
Intro Kubernetes is (currently) missing an integrated dns solution for service discovery. In the future it will be integrated into kubernetes (see PR11599) but for now we have to setup skydns manually. I have seen some tutorials on how to get skydns working, but almost all of them are rather involved. However, if you just want a simple setup on a single node for testing then it is actually rather easy to get skydns set up.| A Random Walk Down Tech Street
cross posted from this_ fedora magazine post Hey everyone! Fedora 23 has been baking in the oven. The Fedora Cloud WG has elected to do a temperature check on September 8th. For this test day we are going to concentrate on the base image. We will have vagrant boxes (see this page for how to set up your machine), qcow images, raw images, and AWS EC2 images. In a later test day we will focus on the Atomic images and Docker images.| A Random Walk Down Tech Street
Intro Using cloud-init to bootstrap cloud instances and install custom sofware/services is common practice today. One thing you often want to do is install the software, enable it to start on boot, and then start it so that you don't have to reboot in order to go ahead and start using it. The Problem Actually starting a service can be tricky though because when executing cloud-init configuration/scripts you are essentially already within a systemd unit while you try to start another systemd u...| A Random Walk Down Tech Street
History In part 1 of this series I discussed why I desired a computer setup where I can do full system snapshots so I could seamlessly roll back at will. I also gave an overview of how I went about setting up a system so it could take advantage of BTRFS and snapper to do full system snapshotting and recovery. In this final post of the series I will give an overview of how to get snapper installed and configured on the system and walk through using it to do a rollback.| A Random Walk Down Tech Street
The Problem For some time now I have wanted a linux desktop setup where I could run updates automatically and not worry about losing productivity if my system gets hosed from the update. My desired setup to achieve this has been a combination of snapper and BTRFS, but unfortunately the support on Fedora for full rollback isn't quite there. In Fedora 22 the support for rollback was added but there is one final piece of the puzzle that is missing that I need in order to have a fully working set...| A Random Walk Down Tech Street
Typically when installing major linux distros they make it easy to select encryption as an option to have encrypted block devices. This is great! The not so great part is the linux kernel and the initial ramdisk aren't typically invited to the party; they are left sitting in a separate and unencrypted /boot partition. Historically it has been necessary to leave /boot unencrypted because bootloaders didn't support decrypting block devices.| A Random Walk Down Tech Street
Red Hat Summit was a blast this year. I participated in several Hands On Labs to help the community learn about the new tools that are available in the ecosystem. For one of the labs I wrote up a section on Atomic Host, but more specifically on rpm-ostree. I have copied a portion of the lab here as well as added example text to the code blocks. Lab Intro Atomic Host is a minimalistic operating system that is designed to contain a very small subset of tools that are needed for running containe...| A Random Walk Down Tech Street
It has generally been difficult to test new updates for the rpm-ostree or ostree packages for Atomic Host. This is because in the past you had to build your own tree in order to test them. Now, however, Fedora has starting building a tree based off the updates-testing yum repositories. This means that you can easily test updates by simply running Fedora Atomic Host and rebasing to the fedora-atomic/f22/x86_64/testing/docker-host ref:| A Random Walk Down Tech Street
cross posted from this_ fedora magazine post DigitalOcean is a cloud provider that provides a one-click deployment of a Fedora Cloud instance to an all-SSD server in under a minute. After some quick work by the DigitalOcean and Fedora Cloud teams we are pleased to announce that you can now make it rain Fedora 22 droplets! One significant change over previous Fedora droplets is that this is the first release to have support for managing your kernel internally.| A Random Walk Down Tech Street
Hey everyone! Fedora 22 is on the cusp of being released and the Fedora Cloud Working Group has elected to organize a test day for May 7th in order to work out some bugs before shipping it off to the rest of the world. With a new release comes some new features and tools. We are working on Vagrant images as well as a testing tool called Tunir. Joe Brockmeier has a nice writeup about Vagrant and Kushal Das maintains some docs on Tunir.| A Random Walk Down Tech Street
This blog has been running on Docker on Fedora 21 Atomic Host since early January. Occasionally I log in and run rpm-ostree upgrade followed by a subsequent reboot (usually after I inspect a few things). Today I happened to do just that and what did I come up with?? A bunch of 404s. Digging through some of the logs for the systemd unit file I use to start my wordpress container I found this:| A Random Walk Down Tech Street
Most of the time when I really want to figure out what is going on deep within a piece of software I break out strace and capture all the gory detail. Unfortunately it isn't always that easy to manipulate and run something from the command line but I have found that some simple uses of the audit daemon can give you great insight without having to dig too deep.| A Random Walk Down Tech Street
cross posted from this_ fedora magazine post It's raining Droplets! Fedora 21 has landed in Digital Ocean's cloud hosting. Fedora 21 offers a fantastic cloud image for developers, and it's now easy for Digital Ocean users to spin it up and get started! Here are a couple of tips: Like with other Digital Ocean images, you will log in with your ssh key as root rather than the typical fedora user that you may be familiar with when logging in to a Fedora cloud image.| A Random Walk Down Tech Street
I often like to formulate detailed steps when trying to reproduce a bug or a working setup. VMs are great for this because they can be manipulated easily. To manipulate their disk images I use qemu-img to create new disk images that use other disk images as a backing store. This is what I like to call a "poor man's" way to do snapshots because the snapshotting process is a bit manual, but that is also why I like it; I don't touch the original disk image at all so I have full confidence I have...| A Random Walk Down Tech Street
Recently I have been trying to debug some problems with cloud-init in the alpha versions of cloud images for CentOS 7 and Fedora 21. What I have found is that it’s not so straight forward to figure out how to set up debug logging. The defaults (defined in /etc/cloud/cloud.cfg.d/05_logging.cfg ) for some reason don’t really capture the debug output in /var/log/cloud-init.log. Luckily, though, on systemd based systems we can get most of that output by using journalctl.| A Random Walk Down Tech Street
I need to copy a few files into my docker container.. Should be easy right? Turns out it’s not so trivial. In Docker 1.0.0 and earlier the docker cp command can be used to copy files from a container to the host, but not the other way around… Most of the time you can work around this by using an ADD statement in the Dockerfile but I often need to populate some data within data-only volume containers before I start other containers that use the data.| A Random Walk Down Tech Street
Sometimes it can be useful to have a docker image with just the bare essentials. Maybe you want to have a container with just enough to run your app or you are using something like data volume containers and want just enough to browse the filesystem. Either way you can create your own minimalist busybox image on Fedora with a pretty simple script. The script below was inspired a little from Marek Goldmann’s post about creating a minimal image for wildfly and a little from the busybox website .| A Random Walk Down Tech Street
Introduction I often find that my tastes for hard drive configurations on my installed systems is a bit outside of the norm. I like playing with thin LVs, BTRFS snapshots, or whatever new thing there is around the corner. The Anaconda UI has been adding support for these fringe cases but I still find it hard to get Anaconda to do what I want in certain cases. An example of this happened most recently when I went to reformat and install Fedora 20 on my laptop.| A Random Walk Down Tech Street
Introduction Some time ago I wrote a few posts ( 1, 2 ) on how to use script to record a terminal session and then scriptreplay to play it back. This functionality can be very useful by enabling you the power to show others what happens when you do insert anything here. I have been happy with this solution for a while until one day Wolfgang Richter commented on my original post and shared a project he has been working on known as TermRecord.| A Random Walk Down Tech Street
Introduction Docker is an emerging technology that has garnered a lot of momentum in the past year. I have been busy with a move to NYC and a job change (now officially a Red Hatter), so I am just now getting around to getting my feet wet with Docker. Last night I sat down and decided to bang out some steps for installing wordpress in a docker container. Eventually I plan to move this site into a container so I figured this would be a good first step.| A Random Walk Down Tech Street
Introduction I have been running my home desktop on thin logical volumes for a while now. I have enjoyed the flexibility of this setup and I like taking a snapshot before making any big changes to my setup. Recently I decided to update to Fedora 20 from Fedora 19 and I hit some trouble along the way because the Fedora 20 initramfs (images/pxeboot/upgrade.img) that is used by fedup for the upgrade does not have support for thin logical volumes.| A Random Walk Down Tech Street
Introduction I decided this year to take part in the Fedora Virtualization Test Day on October 8th. In order to take part I needed a system with Fedora 20 installed so that I could then create VMs on top. Since I like my current setup and I didn’t have a hard drive laying around that I wanted to wipe I decided to give nested virtualization a shot. Most of the documentation I have seen for nested virtualization has come from Kashyap Chamarthy.| A Random Walk Down Tech Street
Introduction I have been using BTRFS snapshots for a while now on my laptop to incrementally save the state of my machine before I perform system updates or run some harebrained test. I quickly ran into a problem though, as on a smaller filesystem I was running out of space. I then wanted to be able to look at each snapshot and easily determine how much space I could recover if I deleted each snapshot.| A Random Walk Down Tech Street
I ran across a great PDF from this year’s Red Hat Summit in Boston. Hosted by Christoph Doerbech and Jonathan Brassow the lab covers the following topics:\ What is LVM? What are filesystems? etc.. Creating PVs, VGs, LVs. LVM Striping and Mirroring. LVM Raid. LVM Snapshots (and reverting). LVM Sparse Volumes (a snapshot of /dev/zero). LVM Thin LVs and new snapshots. Check out the PDF here . If that link ceases to work at some point I have it hosted here as well.| A Random Walk Down Tech Street
Introduction Want to take advantage of the efficiency and improved snapshotting of thin LVs on an existing system? It will take a little work but it is possible. The following steps will show how to convert a CentOS 6.4 basic installation to use thin logical volumes for the root device (containing the root filesystem). Preparation To kick things off there are few preparation steps we need that seem a bit unreleated but will prove useful.| A Random Walk Down Tech Street
What are RPM file colors? When building a package rpm will tag each file within the package with a file color. Usually the file color will fit into one of four categories as described by Jeff Johnson here. These categories are:\ 0 is unknown or other 1 is Elf32 2 is Elf64 3 is (contains) both So why does rpm do this? The short answer is “for multilib support”. Basically so we can install both the 32bit and 64bit version of a package on the system and have some hopes of everything still wo...| A Random Walk Down Tech Street
Traditionally with LVM snapshots you need to be especially careful when choosing how big to make your snapshots; if it is too small it will fill up and become invalid. If taking many snapshots with limited space then it becomes quite difficult to decide which snapshots need more space than others. One approach has been to leave some extra space in the VG and let dmeventd periodically poll and lvextend the snapshot if necessary (I covered this in a previous post ).| A Random Walk Down Tech Street
Ever needed to find the IP address of a particular guest? Of course, the answer is “yes”. For the most part I have either resorted to going in through the console of the VM to find this information or used some nifty little script like the one described here by Richard Jones. However, if you have qemu Guest Agent set up ( I covered this briefly in a previous post ), then you can just query this information using the guest-network-get-interfaces qemu-ga command:| A Random Walk Down Tech Street
In an earlier post I walked through reclaiming disk space from guests using FSTRIM and in a follow up I showed how to do the same thing with thin Logical Volumes as the sparse backing storage for the disk images. In both of the previous posts I logged in to the guest first and then executed the fstrim command in order to release the free blocks back to the underlying block devices.| A Random Walk Down Tech Street
In my last post I showed how to recover space from disk images backed by sparse files. As a small addition I’d like to also show how to do the same with a guest disk image that is backed by a thinly provisioned Logical Volume. First things first, I modified the /etc/lvm/lvm.conf file to have the issue_discards = 1 option set. I’m not 100% sure this is needed but I did it at the time so I wanted to include it here.| A Random Walk Down Tech Street
Sparse guest disk image files are a dream. I can have many guests on a small amount of storage because they are only using what they need. Of course, if each guest were to suddenly use all of the space in their filesystems then the host filesystem containing the guest disk images would fill up as well. However, since filesystems grow over time rather than overnight, with proper monitoring you can foresee this event and add more storage as needed.| A Random Walk Down Tech Street
getopt is extremely useful for quickly being able to add options and arguments to your program without having to worry much about the parsing yourself. There are getopt libraries for many languages but what about BASH? It turns out there are actually two versions of getopt that you can use in your BASH scripts; a command line utility getopt provided by the util-linux package, and a bash builtin getopts. I have provided a brief overview of each in the following sections.| A Random Walk Down Tech Street
Sometimes you just want to boot Anaconda from a software raid device that houses both the stage1 (initrd.img) and stage2 (install.img) images. There are various reasons to do this some of which include: Booting Anaconda into rescue mode from hard drive (RAID 1) Installing directly from hard drive (RAID 1) Running PreUpgrade (Now Deprecated) Running Anaconda from a RAID 1 device is unsupported at least up until the rhel 6.4 version of Anaconda and is documented in BZ #500004 (note that this is...| A Random Walk Down Tech Street
I recently decided to try out the snapshotting capabilities of the relatively new BTRFS filesystem. I have been using the snapshot and rollback capability of LVM (using lvconvert --merge) for a while now so I figured I would check out BTRFS to see how it stacks up. To get up to speed on how to use BTRFS I found the BTRFS Fun web page a good reference. I converted an existing Fedora 17 virtual machine to use BTRFS for the filesystems (I may cover how I did this in a later post).| A Random Walk Down Tech Street
Benchmarking software can be invaluable when testing new hardware/software configurations. The Phoronix Test Suite is a collection of open source software benchmarks that are fairly easy to use and the results are presented in a such a way that is easy to understand; even if you don’t understand the tests that were run. Today I’ll give a brief run down of how to install the test suite and run the benchmarks.| A Random Walk Down Tech Street
Update: A future post explains how to do this even easier without PXELINUX. Introduction Occasionally I have a need to test out a PXE install workflow. All of this is super easy if you have a permanent PXE infrastructure you maintain which traditionally has consisted of DHCP, TFTP and HTTP/FTP servers. What if I just have my laptop and want to test something in a VM? It turns out it’s pretty easy to do using libvirt and a simple http server.| A Random Walk Down Tech Street