Page MenuHomeClusterLabs Projects

Deprecate direct access to `pcmk_scheduler_t` members
Open, HighPublic

Assigned To
None
Authored By
kgaillot
Wed, Mar 27, 3:16 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_working_set_s.

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

We need new public APIs to:

  • set input
  • get dc_node
  • get no_quorum_policy
  • find a node (equivalent of pe_find_node(scheduler->nodes, NAME))
  • check whether cluster is quorate (equivalent of pcmk_is_set(data_set->flags, pcmk_sched_quorate))
  • indicate the cluster has a fencing device (equivalent of pcmk__set_scheduler_flags(scheduler, pcmk_sched_have_fencing))

For 3.0.0 (T798), we can rename it to struct pcmk__scheduler, and replace all members except the above with a void *private member pointing to a new internal struct for the replaced members.

Event Timeline

kgaillot created this task.
kgaillot created this object with edit policy "Restricted Project (Project)".
kgaillot moved this task from Restricted Project Column to Restricted Project Column on the Restricted Project board.
kgaillot renamed this task from Make `pcmk_scheduler_t` definition internal to Deprecate direct access to `pcmk_scheduler_t` members.Wed, Mar 27, 6:44 PM
kgaillot updated the task description. (Show Details)
kgaillot removed a project: Restricted Project.