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'...
NOTE: this guide exists for Upgrading from v3.16 to v3.17 as well --> here With the current version, the official documentation is quite good and can be referenced. I would recommend executing all of these commands in a tmux session so that your session will remain on the server in case anything happens to your workstation. Start by checking for running tasks that would prohibit an update: [root@katello01 ~]# foreman-rake katello:upgrade_check Next, update the katello host and reboot if yum tells you to: [root@katello01 ~]# dnf -y --refresh upgrade [root@katello01 ~]# dnf needs-restarting -r If there were any updates to foreman-related packages, make sure foreman is in a consistent state: [root@katello01 ~]# foreman-maintain service stop [root@katello01 ~]# foreman-installer --scenario katello When the katello services have started again, upgrade the release-rpms: [root@katello01 ~]# dnf -y --refresh upgrade https:/...