Page MenuHomeClusterLabs Projects

Improve Pacemaker API initialization
Open, NormalPublic

Assigned To
None
Authored By
kgaillot
Jul 1 2024, 1:35 PM
Tags
  • Restricted Project
  • Restricted Project
Referenced Files
None
Subscribers

Description

Currently, Pacemaker requires crm_log_preinit() and/or crm_log_init() to be called in order for many APIs to work (at all in the case of XML functions, or optimally in the case of functions that log). However these do a lot of things that external users may not need and may even conflict with those users' own usage of glib, libxml2, and/or libqb.

Whenever possible, we should avoid needing external users to call API initialization functions. For example, Pacemaker XML APIs could call pcmk__xml_init() before doing anything, so external users wouldn't need to ensure it was called. However there will still be some initialization needed, since Pacemaker needs something to set as crm_system_name and some verbosity settings.

This is primarily for libcrmcommon, but it's possible another library may need its own initialization.