Skip to main content

Posts

Showing posts from May, 2026

NMState - Migrating my Hypervisor from imperative to declarative Network Configuration

I've been working with NMState for quite a bit of time, mostly in OpenShift environments, and I've really grown to like the declarative way of handling network configuration . Since I still mainly use EL9 and NMState is packaged directly in the official repositories, I figured it was time to finally switch my traditional, imperative NetworkManager configuration over . First, let's iron out some basics. NMState doesn't completely replace NetworkManager; it relies on it and generates standard .nmconnection files under the hood. Think of it as a clean, declarative wrapper to configure NetworkManager and manage connections seamlessly. There are two distinct ways you can run NMState : Imperatively with a Failsafe: Best for initial testing and manual updates As a Service on Boot: Automatically enforces your declared configuration during startup (here be dragons). Let's look at the imperative mode first, which features a brilliant safeguard known as a "dead man'...