Prometheus counters don't behave

…when the numbers are not increasing consistently.

The problem

We have moved from httpd + mod_wsgi to launch Packit’s API server with mod_wsgi-express. That change simplified how we run Packit - look at the number of removed lines! But sadly it broke a Grafana chart I used almost daily. The chart shows an amount of traffic from GitHub webhooks Packit processes.

Keep reading

My 2022 Focus

It’s Sunday evening, January 2nd and I finally made myself to start writing this blog post. It was on my plate for more than four weeks: I guess it’s hard to write when you don’t have the frame. I did not really know what I want to achieve with this writing: new year sounded like a great excuse.

This is my first blog post with no technical content. We’ll see if one of many going forward.

Keep reading

Automake in OpenShift

It’s Friday evening, 19:00 (7pm) and I just spent more than an hour resolving a problem in anaconda. The problem was that builds sometimes failed with:

/bin/sh: /sandcastle/docker-io-usercont-sandcastle-prod-20210212-101715691597/missing: No such file or directory

The irony, right? A file called “missing” is actually missing.

Luckily, I was successful and figured it out. Beer incoming.

Keep reading

Open Service as a Service in Practice

This is a follow-up to the open-source-as-a-service blog post of a friend and a colleague of mine, Stef Walter.

TL;DR of Stef’s article is that open source services are hard to contribute to. Any first-time contributor is probably having hard times to try changes locally in the same way the service is deployed in production.

Imagine that you’d be able to contribute to GitHub and try your change in some playground moments later you opened your PR. Freakin’ awesome, right?! I strongly advise you to read Stef’s blog post to understand this concept further.

In this article I’d like to discuss the practical side of this - how can one actually achieve such glorious service contribution model?

Keep reading

Sharing audio to a videoconference using pulseaudio

Since I do all the meetings via videoconferencing software in this pandemic, from time to time I need to do something extra than just sharing my face and voice: share a video from my laptop. Luckily, pulseaudio has your backs, it’s just not that trivial. Before we start, I suggest to read these posts how to share sound and hear it in your headphones: github.com/toadjaune/pulseaudio-config How can I use PulseAudio virtual audio streams to play music over Skype?…

Keep reading

Rootless Podman I/O

A colleague of mine asked me today to prove that rootless podman has worse I/O performance than running podman as root. Which I claimed.

My instinct is that it gotta be worse, because fuse-overlayfs is overlayfs implementation in userspace, so it gotta be less performant than a kernel module. Let’s see.

Keep reading

Ansible Collections: init

sshnaidm gave me an opportunity to play with Ansible Collections today.

Since I was at AnsibleFest 2019 in Atlanta, I heard so much about the collections but never actually used them.

Keep reading