Traffic Shapping

Traffic Shaping I got asked a question recently, “How far apart could control plane nodes of a kubernetes cluster be and the cluster remain stable?” The further apart they are geographically, the greater the network latency. How does network latency impact a cluster’s stability? Are there certain deployment architectures that work better when network latency is a factor? How does network latency impact etcd’s ability to reach consensus through obtaining a quorum? How does it impact spinning up workloads? Upgrades? Key rotation? Workload transitions? High-Availability? Disaster recovery? ...

October 17, 2022 · 4 min

Building Multiarch Aware Containers

Building multiarchitecture aware containers Multi-architecture is not something that most people think about - everyone assumes that the only architecture that counts is x86_64, but that’s not the case! In my job at Red Hat I care about making sure that software running on ppc64le, arm64 and s390x behaves just the same as it does on x86_64, which brings me to containers. Did you know that container images are architecture specific? ...

May 6, 2021 · 4 min

Fixing Broken Debian Packages

Fixing broken Debian packages In my job we make use of Vidyo for videoconferencing, but today I ran into an issue after re-imaging my Ubuntu 16.04 desktop. The latest version of vidyodesktop requires libqt4-gui, which doesn’t exist in Ubuntu anymore. This always seems to be a problem with non-free software targeting multiple versions of multiple operating systems. You can work around the issue, doing something like: sudo dpkg -i --ignore-depends=libqt4-gui VidyoDesktopInstaller-*.deb but then you get the dreaded unmet dependencies roadblock which prevents you from future package manager updates and operations, which presents itself like this: ...

October 6, 2016 · 2 min

Mocking Python Objects and Functions

Mocking python objects and object functions using both class-level and function-level mocks I had some fun solving an issue with partitions larger than 2Tb, and came across a little gotcha when it comes to mocking in python when a) you want to mock both an object and a function in that object, and b) when you want to mock.patch.object at both the test class and test method level. Say you have a function you want to test that looks like this: ...

September 20, 2015 · 2 min

Ironic on a Nuc Part2

Ironic on a NUC - part 2 - Running services, building and deploying images, and testing This is a continuation of the previous post on Ironic on a NUC - setting things up. If you’re following along at home, read that first). Creating disk images for deployment Now let’s build some images for use with Ironic. First off, we’ll need a deploy ramdisk image for the initial load, and we’ll also need the image that we want to deploy to the hardware. We can build these using diskimage builder, part of the triple-o effort. ...

September 10, 2015 · 6 min

Ironic on a Nuc Part1

Ironic on a NUC - Part 1 - Setting Things Up Just because a few people have asked, here is what I did to get a standalone Ironic installation going and running in an Intel NUC. Why a NUC? Well, the Intel NUC is a cute little piece of hardware that is well suited as a test lab machine that can sit on my desk. I’m using a DC53427HYE, which is an i5 with vPro. vPro is a summary term for a bunch of Intel technologies, including AMT (Active Management Technology). This allows us to remotely manage this desktop for things like power management - think of this as an analogy to IPMI for servers. ...

September 10, 2015 · 5 min

Virtualenv and Library Fun

Doing python development means using virtualenv, which is wonderful. Still, sometimes you find a gotcha that trips you up. Today, for whatever reason, inside a venv inside a brand new Ubuntu 14.04 install, I could not see a system-wide install of pywsman (installed via sudo apt-get install python-openwsman) For example: mrda@host:~$ python -c 'import pywsman' # Works mrda@host:~$ tox -evenv --notes \ (venv)mrda@host:~$ python -c 'import pywsman' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named pywsman # WAT? Let’s try something else that’s installed system-wide ...

July 23, 2015 · 2 min

Dhcp and Nucs

I’ve put together a little test network at home for doing some Ironic testing on hardware using NUCs. So far it’s going quite well, although one problem that had me stumped for a while was getting the NUC to behave itself when obtaining an IP address with DHCP. Each time I booted the network, a different IP address from the pool was being allocated (i.e. the next one in the DHCP address pool). ...

July 22, 2015 · 2 min

lca2004

linux.conf.au 2004 I’ve backdated this post to when this event occured. Why write this now? An old friend reach out and got in touch in August 2026, which led to me thinking about what we did all those years ago, and the realisation that there is no good record remaining of lca2004, which meant I wanted to write down a few thoughts. The linux.conf.au 2004 conference was held at the University of Adelaide between January 12 and 17, 2004. That’s such a long time ago, but there’s so many good memories of that time. We produced a conference CD that contained a snapshot of what happened, and there’s also the wayback machine’s preservation of the conference website. ...

January 17, 2004 · 2 min