Low: libcrmcommon: Ensure crm_schema_init() initializes only once
Test: libcrmcommon: Clean up pcmk__xe_copy_attrs() unit tests
Refactor: libcrmcommon: Return EINVAL from pcmk__xe_copy_attrs()
Refactor: libcrmcommon: pcmk__{cib -> xml}_test_setup_group
Low: libcib: Fix handling of return values in CIB attr update/delete
Test: libcrmcommon: Add more unit tests for pcmk__xe_copy_attrs()
Low: tools: Fix cibadmin sync call return code logic
API: libcib: New cib_score_update cib_call_options value
Test: libcrmcommon: Avoid memory leak in pcmk__xe_set_score() unit tests
Test: libcrmcommon: Check rc in pcmk__xe_set_score() unit tests
Low: tools: Unset crm_attribute promotion_score if attr name is given
Feature: tools: --score option for cibadmin and crm_attribute
Test: cts-cli: Update tests for --score options
Refactor: libcrmcommon: PCMK__{XA -> XE}_CIB_UPDATE_DIFF
Feature: tools: Deprecate score expansion by default in cibadmin
Feature: tools: Deprecate score expansion by default in crm_attribute
Merge pull request #3403 from nrwahl2/nrwahl2-xml_attrs2
From , sbd uses and but only if
API: libcrmcommon: add pcmk_resource_id()
API: libcrmcommon: add pcmk_resource_is_managed()
API: libcrmcommon: deprecate pcmk_rsc_methods_t, struct…
Merge pull request #3439 from kgaillot/T790
API: libcrmcommon: deprecate resource_alloc_functions_s and…
API: libcrmcommon: deprecate direct access to struct pe_resource_s and its…
I suspect the use case for this feature was being able to set an explicit value in one block of meta-attributes, then have another rule-based block of attributes that resets the value to the default. Simply omitting the meta-attribute from the rule-based block wouldn't cause the explicit value to be removed.
kgaillot added a parent task for
T817: Deprecate --sync-call cibadmin option:
Unknown Object (Maniphest Task).
From the GitHub discussion:
API: libcrmcommon: add pcmk_node_is_online()
API: libcrmcommon: add pcmk_node_is_pending()
API: libcrmcommon: add pcmk_node_is_shutting_down()
API: libcrmcommon: add pcmk_node_is_clean()
API: libcrmcommon: add pcmk_foreach_active_resource()
API: libcrmcommon: add pcmk_node_is_in_maintenance()
API: libcrmcommon: deprecate enum node_type and all its values
API: libcrmcommon: deprecate enum pe_discover_e and all its values
Merge pull request #3436 from kgaillot/T789
API: libcrmcommon: deprecate struct pe_node_shared_s and all its members
API: libcrmcommon: deprecate struct pe_node_s and all its members
deprecate (via doxygen comments)
On that note, considering that Corosync has been the only supported cluster type for a long time now, I wonder to what extent this stuff even needs to be public. We can always add public API functions again after branching to 3.0.0. Might even make some naming issues easier in the interim, if we can work with things internally without introducing new public names yet.
: deprecate this name and create an equivalent (the enum value names are fine and do not need to be deprecated)
Refactor: scheduler: Simplify pe__name_and_nvpairs_xml.
Low: scheduler: Check return code in node_xml.
Merge pull request #3435 from clumens/simplify-nvpairs
Refactor: libcrmcommon: functionize getting highest schema entry
API: libcrmcommon: deprecate xml_latest_schema()
Test: cts-cli: update expected output for log message change
Refactor: libcrmcommon: drop redundant code in pcmk__find_x_0_schema_index()
Refactor: libcrmcommon: get X.0 schema as entry instead of index
Refactor: libcrmcommon,tools: use pcmk__validate_xml()
Refactor: libcrmcommon: make internal validation functions return bool
API: libcrmcommon: deprecate validate_xml()
API: libcrmcommon: deprecate validate_xml_verbose()
Test: cts-cli: update expected output for recent change
API: libcrmcommon: deprecate get_schema_version()
Refactor: libcrmcommon: avoid function call for original schema name
Test: cts-cli: update expected output for log message change
Refactor: scheduler: track schema instead of index in cli_config_update()
API: libcrmcommon: deprecate get_schema_name()
API: libcrmcommon: deprecate cli_config_update()
Refactor: libcrmcommon: use bool in pcmk__update_configured_schema()
Merge pull request #3434 from kgaillot/schema2
Refactor: libcrmcommon: drop schemas.h and schemas_compat.h
Refactor: libcrmcommon: simplify update_validation() loop
Refactor: libcrmcommon: drop unnecessary variable in update_validation()
Logs: libcrmcommon: simplify update_validation() logs
Test: cts-cli: update expected outputs for log message changes
Refactor: libcrmcommon: simplify update_validation() loop
Refactor: libcrmcommon: use schema instead of index to track best schema
API: libcrmcommon: deprecate update_validation()
Test: cts-cli: update expected outputs for function name change
Refactor: libcrmcommon: make pcmk__update_schema() return a standard code
Refactor: libcrmcommon: make pcmk__update_schema() take bool
Refactor: libcrmcommon: drop best argument from pcmk__update_schemas()
Test: cts-cli: update expected output for log message change