Page MenuHomeClusterLabs Projects

Deprecate direct access to scheduler node structs
Closed (Released)Public

Assigned To
Authored By
kgaillot
Mar 27 2024, 2:30 PM
Tags
  • Restricted Project
  • Restricted Project
  • Restricted Project
Referenced Files
None
Subscribers

Description

For 2.1.8 (this task), deprecate (via doxygen comments) direct access to all members of struct pe_node_s and struct pe_node_shared_s.

We will need new public APIs that SBD can be updated to use (T794) instead of direct access. We will need to keep the members SBD uses around until we no longer support any OSes shipping an older version.

  • struct pe_node_s
    • For 3.0.0 (T795), we can rename it to something like struct pcmk__scored_node, and replace all members except details with a void *private member pointing to a new internal struct for the replaced members
  • struct pe_node_shared_s
    • Define new public APIs for "is node online/pending/unclean/shutdown/maintenance" that get the value of the named members
    • Define a new public API to get the value of running_rsc (or alternatively, a "foreach running_rsc" API)
    • For 3.0.0, we can rename it to struct pcmk__node, and replace all members except those above with a void *private member pointing to a new internal struct for the replaced members
  • enum node_type and enum pe_discover_e: for 2.1.8, we can deprecate public access to these; for 3.0.0, we can make them internal
  • pcmk__node_name() and pcmk__same_node() are mistakenly in a public header; move to an internal header for 3.0.0

Event Timeline

kgaillot created this task.
kgaillot created this object with edit policy "Restricted Project (Project)".
kgaillot added a project: Restricted Project.
kgaillot moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
kgaillot edited projects, added Restricted Project; removed Restricted Project.Mar 27 2024, 2:46 PM
kgaillot edited projects, added Restricted Project; removed Restricted Project.Mar 27 2024, 3:01 PM
kgaillot edited projects, added Restricted Project; removed Restricted Project.Mar 27 2024, 3:15 PM
kgaillot renamed this task from Make definition of scheduler node structs internal to Deprecate direct access to scheduler node structs.Mar 27 2024, 6:32 PM
kgaillot updated the task description. (Show Details)
kgaillot removed a project: Restricted Project.
kgaillot changed the task status from Open to WIP.Apr 25 2024, 4:27 PM
kgaillot claimed this task.
kgaillot changed the task status from Merged to Released.Aug 8 2024, 7:13 PM