Details
-
Epic
-
Resolution: Unresolved
-
Medium
-
None
-
None
-
None
-
ip2nets and routes deprecation
-
3
-
9223372036854775807
Description
LNet currently supports network and routing configuration via kernel module parameters (ip2nets= and routes=) supplied at module load time (e.g. via modprobe.conf). This approach is being deprecated in favor of Dynamic LNet Config (DLC) which uses user-space parsing of YAML + netlink.
This ticket covers the transition plan: deprecating the legacy module parameters and moving users to the YAML path while maintaining a safe compatibility window.
Goals
- Introduce a controlled deprecation of ip2nets and routes.
- Provide a seamless migration path (automatic translation where feasible).
- Reduce kernel parsing complexity and future maintenance burden.
- Ensure no regression in boot-time provisioning or automated deployment workflows.
- Establish a clear removal timeline (documented and communicated).
Proposed Approach (High-Level)
Phase 1 - Deprecation Introduction:
- Targeting Lustre 2.17
- Documentation updates:
- Mark ip2nets and routes as deprecated in docs.
- Document examples of legacy ip2nets/routes converted to YAML format
- Comprehensive documentation of YAML format
- Tracked by LUDOC-554
- LNet Deprecation
- If LNet sees that ip2nets/routes parameters are supplied, log a deprecation warning upon module initialization.
- Update the module parameter description in LNet to note their deprecation
- Wrap relevant code in a version macro so that it will disable itself for Lustre 2.18
- Tracked by LU-19485
- Implement a script to convert legacy ip2nets/routes to YAML format
- Tracked by LU-19502
- Optionally, we could perform some automatic conversion
- lnetctl lnet configure --all is invoked
- ip2nets/routes parameters are populated
- lnetctl invokes the conversion script, outputs to /tmp
- informs user of tmp file
- reads the tmp file to emplace LNet configuration
- Lustre test-framework
- t-f needs updates to check for yaml configuration file in some standard location (probably /etc/lnet.conf which is where lnet.service looks for it)
- `lnetctl configure -a` is used in various places to load the "default" lnet configuration. We'll want to change this to omit the -a if an /etc/lnet.conf exists (containing anything other than # comments), and instead consume the lnet.conf file.
Phase 2 - Removal:
- Targeting Lustre 2.18
- Remove ip2nets/routes parameter parsing logic from kernel.
- Remove documentation for ip2nets/routes parameters.
- Remove test cases that rely on ip2nets/routes module parameters.