Skip to content

Conversation

@opoplawski
Copy link
Contributor

@opoplawski opoplawski commented Sep 23, 2025

Linked Items

Fixes #3409 #3406 #1881

Description

Current network config for "complicated" network configuration relies heavily on generating ifcfg files in post_install_network_config. ifcfg files have been deprecated for a long time and I think are essentially gone as of EL10. So, we should try to make use of anaconda's network configuration as much as possible, and nmcli where it is not.

This is an initial step in that direction.

One note - for a long time anaconda's network --dev option can accept a MAC address instead of a device id. For now at least I've left in place cobbler's code to see if a MAC address exists on the machine. I'm not yet sure which would be the best approach.

Behaviour changes

Old: network_config would either generate some basic network config if no MAC addresses were present, otherwise would include config generated in %pre by pre_install_network_config. post_install_network_config would generate some more complicated network configs

New: network_config simply includes the network config generated by pre_install_network_config. This moves configuration into one place and allows use to see what devices actually exist on the system.

Currently this adds support for basic bridges in the anaconda config and for vlans (untested).

TODO: routing. Others?

Category

This is related to a:

  • Bugfix
  • Feature
  • Packaging
  • Docs
  • Code Quality
  • Refactoring
  • Miscellaneous

Tests

  • Unit-Tests were created
  • System-Tests were created
  • Code is already covered by Unit-Tests
  • Code is already covered by System-Tests
  • No tests required

I'm not sure what the state of current tests if any are in this area. Pointers welcome.

@codacy-production
Copy link

codacy-production bot commented Sep 23, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
+0.00% (target: -1.00%) (target: 70.00%)
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (b71acae) 16217 10868 67.02%
Head commit (051391c) 16217 (+0) 10868 (+0) 67.02% (+0.00%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#3941) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

@opoplawski opoplawski mentioned this pull request Sep 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

Network configuration for RHEL family

1 participant