Re: Re: RHEL9 and "ifcfg" network config
"'Bas van der Vlies' via help-cfengine" <[email protected]> Mon, 18 Sep 2023 08:30:48 +0200
| Newsgroups | gmane.comp.sysutils.cfengine.general |
|---|---|
| Message-ID | <[email protected]> |
Just as reference and inspiration, there is ansible playbook for this (build.cfengine.con had a module to run ansible playbooks) * https://galaxy.ansible.com/linux-system-roles/network On 17/09/2023 21:36, Aleksey Tsalolikhin wrote: > Hi David, > > Are you using the Enterprise version of RHEL? As in, with tech support? > > I asked Shell-GPT about how nmcli stores the settings -- to sum, it can > vary based on distro and version -- so my idea was, you could ask tech > support about it, see how far down this rabbit hole goes (i.e., identify > the underlying files, if you haven't already). (You could also identify > them with "strace" or similar.) If it were me, I'd manage using the > underlying text config files as long as I could (as long as I could do > so reliably). > > >>> where is the nmcli backend database stored? > The `nmcli` tool does not have its own backend database. Instead, it > interacts with NetworkManager, which is responsible for managing network > connections and storing network-related information. > > NetworkManager stores its configuration and connection details in > various files and directories on the system. The specific location of > these files can vary depending on the Linux distribution and version you > are using. However, in most cases, the configuration files for > NetworkManager are stored in the `/etc/NetworkManager/` directory. > > Some of the important files related to NetworkManager's configuration > include: > > - `/etc/NetworkManager/NetworkManager.conf`: This file contains the main > configuration settings for NetworkManager. > - `/etc/NetworkManager/system-connections/`: This directory contains > individual connection profiles for different network connections. Each > connection profile is stored as a separate file within this directory. > > It's worth noting that the backend storage for NetworkManager can also > be influenced by additional plugins or modules that are installed on the > system. These plugins can provide alternative storage mechanisms, such > as using a database backend like SQLite or storing connection details in > other formats. > > To get more specific information about the backend database or storage > being used by NetworkManager on your system, you can refer to the > NetworkManager documentation or consult the documentation specific to > your Linux distribution. > >>> > > Best, > Aleksey > > > On Thu, Sep 14, 2023 at 2:39 PM [email protected] > <mailto:[email protected]> <[email protected] > <mailto:[email protected]>> wrote: > > Update: > > The "module" idea has hit a further snag, because of what seems to > be a bug: https://groups.google.com/g/help-cfengine/c/70qc5E83BMA > <https://groups.google.com/g/help-cfengine/c/70qc5E83BMA> > > All the Red Hat documentation about interface configuration seems to > be about using the "nmcli" command rather than about managing the > file. It seems they want to steer away from directly touching those > files. But how is one supposed to manage/promise an interface > attribute using nmcli? (I suppose one could run a command to try > to dig out the attribute, edit the output to obtain it; > conditionally set a class then (conditionally) apply the corrective > command. But that seems rather more tortuous (and thus more fragile > or error-prone) that the CFE file-line bundles such as > "set_variable_values_ini".) > > So there seems no clear way forward, unless I've missed something > obvious. > > -- David Lee > > On Thursday, 7 September 2023 at 18:21:52 UTC+1 > [email protected] <mailto:[email protected]> wrote: > > Nick, > > Many thanks for your summary. It's far better than would have > been any attempt of mine to summarise! > > I think that gives me a decent way to explore forward. Our > existing data is close to "redhat_8" (and earlier, because it's > good old-fashioned "ifcfg"). As I begin to consider the > practicalities, then because of fair amount of data munging > involved, using an external module looks (at this stage at > least) to be the way to attempt. > > Thanks for the note, including references, about the bugs when > editing the last section of an INI file. Based on a sample size > so far of just a single RHEL9 machine (we're right at the start > of this RHEL9 journey), the last section doesn't seem to come > into play. Naturally, I realise that full file replacement > (templates) is generally better than editing. But these > particular files are usually initialised at installation time > with several lines of data, not least a UUID, so that is why we > have generally handled this instance with editing. > > -- David Lee > > On Thursday, 7 September 2023 at 17:37:46 UTC+1 > [email protected] wrote: > > (Nick Anderson had a brief email chat, which was > accidentally not on this list, but haven't yet come to > any significant conclusions.) > > The gist of what I said was to map the source data structure > to the target data structures. Meaning one of: > > * Create a generic data structure, munge the data as > necessary for |redhat_8| or |redhat_9| so that the keys > and values are convenient for rendering the file content > * Model on the structure needed for |redhat_8|, munge for > |redhat_9| so that the keys and values are convenient > for rendering the file content > * Model on the structure needed for |redhat_9|, munge for > |redhat_8| so that the keys and values are convenient > for rendering the file content > > This munging may be achievable directly in policy, or it > might make sense to hand the source data off to a module and > do the necessary munging using a higher level language. > > With respect to the INI format, I believe that there still > exists an issue with respect to being able to select the > /last/ section using |edit_line| (should have been resolved > with https://northerntech.atlassian.net/browse/CFE-452 > <https://northerntech.atlassian.net/browse/CFE-452>, but > some issue remains > https://northerntech.atlassian.net/browse/CFE-3428 > <https://northerntech.atlassian.net/browse/CFE-3428>, > https://northerntech.atlassian.net/browse/CFE-2663 > <https://northerntech.atlassian.net/browse/CFE-2663>) so > that will complicate doing partial file management, but if > you are managing the full file content and know everything > you want, then you should be able to render the INI via > mustache. > > -- > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/help-cfengine/9cdee544-012f-4dca-94de-74c6a16a1074n%40googlegroups.com <https://groups.google.com/d/msgid/help-cfengine/9cdee544-012f-4dca-94de-74c6a16a1074n%40googlegroups.com?utm_medium=email&utm_source=footer>. > > -- > 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] > <mailto:[email protected]>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/help-cfengine/CANNWuVWrXxFyGOCar0CsqML9tr3ODoc2yXAbVBQpZsRDh%2Bsffg%40mail.gmail.com <https://groups.google.com/d/msgid/help-cfengine/CANNWuVWrXxFyGOCar0CsqML9tr3ODoc2yXAbVBQpZsRDh%2Bsffg%40mail.gmail.com?utm_medium=email&utm_source=footer>. -- -- Bas van der Vlies | High Performance Computing & Visualization | SURF| Science Park 140 | 1098 XG Amsterdam | T +31 (0) 20 800 1300 | [email protected] | www.surf.nl | -- 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/b588ff38-5e41-476c-868f-e74487ec23ff%40surf.nl.