Re: RHEL9 and "ifcfg" network config

"[email protected]" <[email protected]> Thu, 7 Sep 2023 07:27:19 -0700 (PDT)
Newsgroups gmane.comp.sysutils.cfengine.general
Message-ID <[email protected]>
Here's a document from Red Hat about the differences: 
https://www.redhat.com/en/blog/rhel-9-networking-say-goodbye-ifcfg-files-and-hello-keyfiles

The data we store in CFE to configure those machines that need adjustment 
is, at heart, an "slist" of old-style "KEY=value" ("ifcfg" format) items.  
Then a couple of bundles simply maintain (edit) the pre-existing "ifcfg" 
files.

Part of our daily "business as usual" includes re-installing machines and 
VMs (total estate a little under 20,000) with a new OS, e.g. from RHEL7 to 
RHEL8.  Because 7 and 8 both used "ifcfg", that part of such "business as 
usual" change is usually fine.  (And other parts of our CFE config use 
classes such as"redhat_7" and "redhat_8" where needed.)   But we're now 
beginning with RHEL9, which requires this same logical data to be applied 
in a different format (and to a different file).

Ideally this should be transparent: the CFE on the new machine knows the OS 
release, so would automatically apply the appropriate format to the 
appropriate file.  (If pure CFE, then automatic decision-making based on 
classes such as "redhat_8" and "redhat_9" would probably be in the mix.)

I guess we won't be alone in this.

So is there (or are there plans for) something library-like (e.g. MPF 
masterfiles or modules) that can take some form of abstract net-interface 
data (a representation of those "key=value" items +/- the new INI-style 
section names), then apply and maintain them in an OS-appropriate manner?

(Nick Anderson had a brief email chat, which was accidentally not on this 
list, but haven't yet come to any significant conclusions.)

-- David Lee
-- Diamond Light Source  
On Wednesday, 30 August 2023 at 13:56:30 UTC+1 [email protected] 
wrote:

> We're at the early stages of exploring RHEL9.  (My earlier thread "RHEL9?" 
> was simply about the earliest stages of getting CFE started on RHEL9 at 
> all.  This is now reasonably in hand.  This new thread is different: it is 
> about a particular detail in a running RHEL9/CFE.)
>
> RHEL systems up to and including RHEL8 have used "KEY=value" "ifcfg" files 
> in "/etc/sysconfig/network-scripts/".  We could cleanly and easily apply 
> minor adjustments to the existing files via CFEngine, from CFE 
> "slist"/"data".
>
> But at RHEL9 that directory is now empty, and the replacement mechanism 
> seems to be similar files in "/etc/NetworkManager/system-connections/".   
> But these are different.  For example:
>
>    - The file is now in "INI" format with several sections
>    - So different "KEY=value" need to be in *different* sections
>    - It looks as though some "KEY" names have changed, probably also some 
>    values; for instance "ONBOOT={yes,no}" seems to be 
>    "{autoconnect={true,false}"
>    - "KEY" capitalisation seems to have changed from upper-case to 
>    lower-case
>
> This means that local policy now needs to be able to handle two very 
> different ways of working.  Imagine, for instance, gradually upgrading a 
> set of machines from (old) RHEL{6,7,8} to (new RHEL9) while wishing to keep 
> the same logical configuration.  Do we local sysadmins really need to have 
> to maintain the same CFE data in two different formats?
>
> So...
>
> Is there a CFE library that might be able to take a single set of data 
> entries (imagine these as abstracted, relatively high-level)  and 
> automatically apply it (on the ground, low-level) the old way to old 
> RHEL{6,7,8} machines and the new way to new RHEL9 machines?
>
> -- David Lee
> -- Diamond
>

-- 
You received this message because you are subscribed to the Google Groups "help-cfengine" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/help-cfengine/f23eab65-43b0-43f7-b1ed-caf8a4aead21n%40googlegroups.com.