Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-19454

deprecate ip2nets/routes module parameters in favor of user‑space YAML + netlink (Dynamic LNet) configuration

    XMLWordPrintable

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.

      Attachments

        Issue Links

          Activity

            People

              hornc Chris Horn
              hornc Chris Horn
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: