diff --git a/.gitignore b/.gitignore index 95e1283691..27410f884b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,353 +1,353 @@ # -# Copyright 2011-2023 the Pacemaker project contributors +# Copyright 2011-2024 the Pacemaker project contributors # # The version control history for this file may have further details. # # This source code is licensed under the GNU General Public License version 2 # or later (GPLv2+) WITHOUT ANY WARRANTY. # # Common conventions for files that should be ignored *~ *.bz2 *.diff *.orig *.patch *.rej *.sed *.swp *.tar.gz *.tgz \#* .\#* logs # libtool artifacts *.la *.lo .libs libltdl libtool libtool.m4 ltdl.m4 /m4/argz.m4 /m4/ltargz.m4 /m4/ltoptions.m4 /m4/ltsugar.m4 /m4/ltversion.m4 /m4/lt~obsolete.m4 # autotools artifacts .deps .dirstamp Makefile Makefile.in aclocal.m4 autoconf autoheader autom4te.cache/ automake /confdefs.h config.log config.status configure /conftest* # gettext artifacts /ABOUT-NLS /m4/codeset.m4 /m4/fcntl-o.m4 /m4/gettext.m4 /m4/glibc2.m4 /m4/glibc21.m4 /m4/iconv.m4 /m4/intdiv0.m4 /m4/intl.m4 /m4/intldir.m4 /m4/intlmacosx.m4 /m4/intmax.m4 /m4/inttypes-pri.m4 /m4/inttypes_h.m4 /m4/lcmessage.m4 /m4/lib-ld.m4 /m4/lib-link.m4 /m4/lib-prefix.m4 /m4/lock.m4 /m4/longlong.m4 /m4/nls.m4 /m4/po.m4 /m4/printf-posix.m4 /m4/progtest.m4 /m4/size_max.m4 /m4/stdint_h.m4 /m4/threadlib.m4 /m4/uintmax_t.m4 /m4/visibility.m4 /m4/wchar_t.m4 /m4/wint_t.m4 /m4/xsize.m4 /po/*.gmo /po/*.header /po/*.pot /po/*.sin /po/Makefile.in.in /po/Makevars.template /po/POTFILES /po/Rules-quot /po/stamp-po # configure targets /agents/ocf/ClusterMon /agents/ocf/Dummy /agents/ocf/HealthCPU /agents/ocf/HealthIOWait /agents/ocf/HealthSMART /agents/ocf/Stateful /agents/ocf/SysInfo /agents/ocf/attribute /agents/ocf/controld /agents/ocf/ifspeed /agents/ocf/ping /agents/ocf/remote /agents/stonith/fence_legacy /agents/stonith/fence_watchdog /cts/benchmark/clubench /cts/cluster_test /cts/cts /cts/cts-attrd /cts/cts-cli /cts/cts-exec /cts/cts-fencing /cts/cts-lab /cts/cts-regression /cts/cts-scheduler /cts/cts-schemas /cts/lab/CTS.py /cts/support/LSBDummy /cts/support/cts-support /cts/support/fence_dummy /cts/support/pacemaker-cts-dummyd /cts/support/pacemaker-cts-dummyd@.service /daemons/execd/pacemaker_remote /daemons/execd/pacemaker_remote.service /daemons/fenced/fence_legacy /daemons/fenced/fence_watchdog /daemons/pacemakerd/pacemaker.service /doc/Doxyfile /etc/init.d/pacemaker /etc/logrotate.d/pacemaker /etc/sysconfig/pacemaker /include/config.h /include/config.h.in /include/crm_config.h /maint/bumplibs /python/pacemaker/buildoptions.py /python/setup.py /tools/cluster-clean /tools/cluster-helper /tools/cluster-init /tools/cibsecret /tools/crm_error /tools/crm_failcount /tools/crm_master /tools/crm_mon.service /tools/crm_report /tools/crm_rule /tools/crm_standby /tools/pcmk_simtimes /tools/report.collector /tools/report.common /xml/rng-helper # Compiled targets and intermediary files *.o *.pc *.pyc /daemons/attrd/pacemaker-attrd /daemons/based/pacemaker-based /daemons/controld/pacemaker-controld /daemons/execd/cts-exec-helper /daemons/execd/pacemaker-execd /daemons/execd/pacemaker-remoted /daemons/fenced/cts-fence-helper /daemons/fenced/pacemaker-fenced /daemons/pacemakerd/pacemakerd /daemons/schedulerd/pacemaker-schedulerd /devel/scratch /lib/gnu/stdalign.h /tools/attrd_updater /tools/cibadmin /tools/crmadmin /tools/crm_attribute /tools/crm_diff /tools/crm_mon /tools/crm_node /tools/crm_resource /tools/crm_shadow /tools/crm_simulate /tools/crm_ticket /tools/crm_verify /tools/iso8601 /tools/stonith_admin # Generated XML schema files /xml/crm_mon.rng /xml/pacemaker*.rng /xml/versions.rng /xml/api/api-result*.rng # Working directories for make dist and make export /pacemaker-[a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9][a-f0-9] # Documentation build targets and intermediary files *.7 *.7.xml *.7.html *.8 *.8.xml *.8.html GPATH GRTAGS GTAGS TAGS /daemons/fenced/pacemaker-fenced.xml /daemons/schedulerd/pacemaker-schedulerd.xml /doc/.ABI-build /doc/HTML /doc/abi_dumps /doc/abi-check /doc/api/ /doc/compat_reports /doc/crm_fencing.html /doc/sphinx/*/_build /doc/sphinx/*/conf.py /doc/sphinx/*/generated -/doc/sphinx/build-2.1.txt +/doc/sphinx/build-[0-9]*.txt /doc/sphinx/shared/images/*.png # Test artifacts (from unit tests, regression tests, static analysis, etc.) *.coverity *.gcda *.gcno coverity-* pacemaker_*.info /coverage /cppcheck.out /cts/scheduler/bug-rh-1097457.log /cts/scheduler/bug-rh-1097457.trs /cts/scheduler/shadow.* /cts/schemas/test-*/ref/*.up* /cts/schemas/test-*/ref.err/*.up.err* /cts/test-suite.log /lib/*/fuzzers/*/*_fuzzer /lib/*/tests/*/*.log /lib/*/tests/*/*_test /lib/*/tests/*/*.trs /lib/common/tests/schemas/schemas /test/_test_file.c # Packaging artifacts *.rpm /pacemaker.spec /rpm/[A-LN-Z]* /rpm/build.counter /rpm/mock # Project maintainer artifacts /maint/gnulib /maint/mocked/based /maint/testcc_helper.cc /maint/testcc_*_h # Formerly built files (helps when jumping back and forth in checkout) /.ABI-build /Doxyfile /HTML /abi_dumps /abi-check /agents/ocf/o2cb /build.counter /compat_reports /compile /cts/.regression.failed.diff /attrd /cib /config.guess /config.sub /coverage.sh /crmd /cts/CTS.py /cts/CTSlab.py /cts/CTSvars.py /cts/HBDummy /cts/LSBDummy /cts/OCFIPraTest.py /cts/cts-coverage /cts/cts-log-watcher /cts/cts-support /cts/fence_dummy /cts/lab/CTSlab.py /cts/lab/CTSvars.py /cts/lab/OCFIPraTest.py /cts/lab/cluster_test /cts/lab/cts /cts/lab/cts-log-watcher /cts/lxc_autogen.sh /cts/pacemaker-cts-dummyd /cts/pacemaker-cts-dummyd@.service /daemons/based/cibmon /daemons/fenced/fence_legacy /daemons/fenced/fence_watchdog /daemons/pacemakerd/pacemaker /daemons/pacemakerd/pacemaker.combined.upstart /daemons/pacemakerd/pacemaker.upstart /depcomp /doc/*.build /doc/*/en-US/Ap-*.xml /doc/*/en-US/Ch-*.xml /doc/*/publican.cfg /doc/*/publish /doc/*/tmp/** /doc/Clusters_from_Scratch.txt /doc/Pacemaker_Explained.txt /doc/acls.html /doc/publican-catalog* /doc/shared/en-US/*.xml /doc/shared/en-US/images/pcmk-*.png /doc/shared/en-US/images/Policy-Engine-*.png /extra/*/* /fencing /include/stamp-* /install-sh /lib/common/md5.c /lib/common/tests/flags/pcmk__clear_flags_as /lib/common/tests/flags/pcmk__set_flags_as /lib/common/tests/flags/pcmk_all_flags_set /lib/common/tests/flags/pcmk_any_flags_set /lib/common/tests/operations/parse_op_key /lib/common/tests/strings/pcmk__btoa /lib/common/tests/strings/pcmk__parse_ll_range /lib/common/tests/strings/pcmk__scan_double /lib/common/tests/strings/pcmk__str_any_of /lib/common/tests/strings/pcmk__strcmp /lib/common/tests/strings/pcmk__char_in_any_str /lib/common/tests/utils/pcmk_str_is_infinity /lib/common/tests/utils/pcmk_str_is_minus_infinity /lib/gnu/libgnu.a /lib/pengine/tests/rules/ /lrmd /ltmain.sh /mcp /missing /mock /pacemaker-*.spec /pengine /py-compile /scratch /tools/cluster-init /tools/crm_mon.upstart /test-driver /xml/assets /xml/crm.dtd /xml/version-diff.sh ylwrap diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 09a8961608..c07b3f2923 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,10 @@ # Contributing to the Pacemaker project If you find Pacemaker useful and wish to support the project, you can: -* Spread the word (on blogs, social media, mailing lists, Q&A websites, etc.). -* Join and participate in the [mailing lists](https://clusterlabs.org/mailman/listinfo/). +* Participate in the [ClusterLabs community](https://clusterlabs.org/community/). * Report [bugs and new feature requests](https://bugs.clusterlabs.org/). -* Contribute documentation, bug fixes, or features to the code base. - -If you would like to contribute code base changes, please read -[Pacemaker Development](https://clusterlabs.org/pacemaker/doc/2.1/Pacemaker_Development/html/) -for detailed information about pull requests and policies. +* Contribute documentation, bug fixes, or features to the code base. (Read at + least the FAQ in [Pacemaker + Development](https://clusterlabs.org/projects/pacemaker/doc/3.0/Pacemaker_Development/html/) + for information about pull requests and policies.) diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index 4a4d44cf38..0000000000 --- a/ChangeLog +++ /dev/null @@ -1,4622 +0,0 @@ -* Thu Aug 08 2024 Ken Gaillot Pacemaker-2.1.8 -- 2559 commits with 511 files changed, 46898 insertions(+), 23417 deletions(-) - -- Features added since Pacemaker-2.1.7 - + local options: support PCMK_panic_action="off" or "sync-off" - + local options: deprecate PCMK_dh_min_bits environment variable - + CIB: deprecate omitting validate-with from the CIB or setting it to "none" - or an unknown schema - + CIB: deprecate "default" and "#default" as explicit meta-attribute values - + CIB: deprecate resource-discovery-enabled node attribute - + CIB: deprecate support for multiple top-level rules within a location - constraint (a single rule may still contain multiple sub-rules) - + CIB: deprecate support for node attribute expressions in rules beneath op, - op_defaults, or fence device meta-attributes - + CIB: deprecate support for rkt in bundles - + CIB: drop support for (nonworking) rules based on the #role node attribute - (role-based location constraints may still contain rules) - + CIB manager,controller,fencer,scheduler: deprecate "metadata" command-line - option (instead, use crm_attribute --list-options mentioned below) - + pacemaker-remoted: newer schema files are now downloaded from the cluster, - allowing more command-line tools to work when the Pacemaker Remote node - has an older Pacemaker version than the cluster - + agents: deprecate the ocf:pacemaker:o2cb resource agent - + tools: deprecate --text-fancy command-line option in all tools - + tools: crm_attribute --list-options lists all possible cluster options - + tools: crm_resource --list-options lists all possible primitive - meta-attributes or special fence device parameters - + tools: crm_verify now reports invalid fence topology levels - + tools: new --score option for cibadmin --modify and crm_attribute --update - enables expansion of "++" and "+=" in attribute values without a warning - (using such expansions without --score is now deprecated) - + tools: crm_ticket supports standard --output-as/--output-to arguments - -- Fixes since Pacemaker-2.1.7 - + tools: restore the (deprecated) ability to automatically correct malformed - XML passed via standard input (regression introduced in 2.1.7) - + tools: crm_verify distinguishes configuration warnings and errors - (regression introduced in 2.1.7) - + tools: crm_node -i must initialize nodeid before passing pointer - (regression introduced in 2.1.7) - + CIB manager: avoid memory leak from asynchronous client requests - (regression introduced in 2.1.7) - + scheduler: don't apply colocations twice for promotion priority - (regression introduced in 2.1.7) - + CIB: restore the (deprecated) ability to use validate-with="pacemaker-next" - (regression introduced in 2.1.6) - + controller: avoid zombie children when asynchronous actions exit while a - synchronous meta-data action is in progress - (regression introduced in 2.1.5) - + libcrmcommon: avoid file descriptor leak in asynchronous IPC clients - (regression introduced in 2.1.3) - + scheduler: avoid crash when logging an invalid utilization attribute value - (regression introduced in 2.1.3) - + tools: crm_mon no longer crashes on some platforms when the fencer - connection is lost (regression introduced in 2.1.0) - + attribute manager: write Pacemaker Remote node attributes even if node is - not cached - + attribute manager: avoid use-after-free when remote node in cluster node - cache - + attribute manager: correctly propagate utilization attributes to peers - to avoid the possibility of later being written out as regular node - attributes - + fencer: correctly parse action-specific timeouts with units other than - seconds - + fencer: avoid unnecessary timeouts when the watchdog timeout is greater - than a query timeout, per-device fencing timeout, or stonith-timeout - + libcrmcommon: avoid possible buffer overflows when parsing and formatting - date/times - + libcrmcommon: don't assume next schema will validate when not transforming - + libcrmcommon: when displaying XML, don't show "" for empty attribute - values, and properly escape special characters - + libstonithd: avoid double free when invalid replies are received - + scheduler: if the user specifies a timeout of 0, use the default 20s as - documented - + scheduler: consider group's location constraints when a member is an - explicit dependent in a colocation constraint - + scheduler: sort promotable cloned group instances properly for promotion - + agents: ocf:pacemaker:SysInfo respects attrd_updater dampening - + agents: ocf:pacemaker:HealthSMART properly handles SMART data missing - temperature - + tools: cibadmin, crm_attribute, crm_node, crm_resource, crm_shadow, and - crm_ticket now retry CIB connections after transient failures - + tools: cibadmin --replace now leaves "++" and "+=" unexpanded in XML - attribute values rather than wrongly treat them as 0 - + tools: cibsecret avoids possible truncation issue in process listing - + tools: crm_attribute --node localhost or --node auto works - + tools: crm_resource ignores resource meta-attribute node expressions - for consistency with how the cluster works - + tools: crm_resource honors rules when getting utilization attributes - + tools: crm_verify --output-as=xml includes detailed messages - + tools: crm_mon exits upon loss of an attached pseudo-terminal to avoid - possibility of 100% CPU usage (seen when run via sudo with use_pty - configured) - -- Public API changes since Pacemaker-2.1.7 - + libcib: add cib_score_update cib_call_options value - + libcib: deprecate functions cib_get_generation(), cib_metadata(), - cib_pref(), query_node_uname(), and set_standby() - + libcib: deprecate T_CIB_DIFF_NOTIFY - + libcib: deprecate `` element in CIB create reply - + libcrmcluster: add enum pcmk_cluster_layer - + libcrmcluster: add functions pcmk_cluster_connect(), - pcmk_cluster_disconnect(), pcmk_cluster_layer_text(), - pcmk_cluster_set_destroy_fn(), pcmk_cpg_set_confchg_fn(), - pcmk_cpg_set_deliver_fn(), and pcmk_get_cluster_layer() - + libcrmcluster: add type pcmk_cluster_t - + libcrmcluster: deprecate functions cluster_connect_cpg(), - cluster_disconnect_cpg(), crm_active_peers(), crm_cluster_connect(), - crm_cluster_disconnect(), crm_get_peer(), crm_get_peer_full(), - crm_is_corosync_peer_active(), crm_is_peer_active(), crm_join_phase_str(), - crm_peer_destroy(), crm_peer_init(), crm_peer_uname(), - crm_peer_uuid(), crm_remote_node_cache_size(), - crm_remote_peer_cache_refresh(), crm_remote_peer_cache_remove(), - crm_remote_peer_get(), crm_set_autoreap(), crm_set_status_callback(), - get_cluster_type(), get_local_nodeid(), get_local_node_name(), - get_node_name(), is_corosync_cluster(), name_for_cluster_type(), - pcmk_cpg_membership(), pcmk_message_common_cs(), reap_crm_member(), - send_cluster_message(), send_cluster_text(), and text2msg_type() - + libcrmcluster: deprecate enums crm_ais_msg_types, crm_status_type, - cluster_type_e, crm_ais_msg_class, crm_get_peer_flags, crm_join_phase, - and crm_node_flags, including all their values - + libcrmcluster: deprecate global variables crm_have_quorum, crm_peer_cache, - crm_peer_seq, and crm_remote_peer_cache - + libcrmcluster: deprecate crm_cluster_t and struct crm_cluster_s, including - all its members - + libcrmcluster: deprecate crm_node_t and struct crm_peer_node_s, including - all its members - + libcrmcluster: deprecate constants CRM_NODE_LOST and CRM_NODE_MEMBER - + libcrmcommon: add constants PCMK_ACTION_METADATA, PCMK_META_ALLOW_MIGRATE, - PCMK_META_ALLOW_UNHEALTHY_NODES, PCMK_META_CONTAINER_ATTRIBUTE_TARGET, - PCMK_META_CRITICAL, PCMK_META_GLOBALLY_UNIQUE, PCMK_META_INTERLEAVE, - PCMK_META_INTERVAL, PCMK_META_INTERVAL_ORIGIN, PCMK_META_IS_MANAGED, - PCMK_META_MAINTENANCE, PCMK_META_MULTIPLE_ACTIVE, PCMK_META_NOTIFY, - PCMK_META_ON_FAIL, PCMK_META_ORDERED, PCMK_META_PRIORITY, - PCMK_META_PROMOTABLE, PCMK_META_RECORD_PENDING, PCMK_META_REMOTE_ADDR, - PCMK_META_REMOTE_ALLOW_MIGRATE, PCMK_META_REMOTE_CONNECT_TIMEOUT, - PCMK_META_REMOTE_NODE, PCMK_META_REMOTE_PORT, PCMK_META_REQUIRES, - PCMK_META_RESOURCE_STICKINESS, PCMK_META_START_DELAY, - PCMK_META_TARGET_ROLE, PCMK_META_TIMEOUT, PCMK_META_TIMESTAMP_FORMAT, - PCMK_NODE_ATTR_MAINTENANCE, PCMK_NODE_ATTR_STANDBY, PCMK_OPT_BATCH_LIMIT, - PCMK_OPT_CLUSTER_DELAY, PCMK_OPT_CLUSTER_INFRASTRUCTURE, - PCMK_OPT_CLUSTER_IPC_LIMIT, PCMK_OPT_CLUSTER_NAME, - PCMK_OPT_CLUSTER_RECHECK_INTERVAL, PCMK_OPT_CONCURRENT_FENCING, - PCMK_OPT_DC_DEADTIME, PCMK_OPT_DC_VERSION, PCMK_OPT_ELECTION_TIMEOUT, - PCMK_OPT_ENABLE_ACL, PCMK_OPT_ENABLE_STARTUP_PROBES, - PCMK_OPT_FENCE_REACTION, PCMK_OPT_HAVE_WATCHDOG, - PCMK_OPT_JOIN_FINALIZATION_TIMEOUT, PCMK_OPT_JOIN_INTEGRATION_TIMEOUT, - PCMK_OPT_LOAD_THRESHOLD, PCMK_OPT_MAINTENANCE_MODE, - PCMK_OPT_MIGRATION_LIMIT, PCMK_OPT_NODE_ACTION_LIMIT, - PCMK_OPT_NODE_HEALTH_BASE, PCMK_OPT_NODE_HEALTH_GREEN, - PCMK_OPT_NODE_HEALTH_RED, PCMK_OPT_NODE_HEALTH_STRATEGY, - PCMK_OPT_NODE_HEALTH_YELLOW, PCMK_OPT_NODE_PENDING_TIMEOUT, - PCMK_OPT_NO_QUORUM_POLICY, PCMK_OPT_PE_ERROR_SERIES_MAX, - PCMK_OPT_PE_INPUT_SERIES_MAX, PCMK_OPT_PE_WARN_SERIES_MAX, - PCMK_OPT_PLACEMENT_STRATEGY, PCMK_OPT_PRIORITY_FENCING_DELAY, - PCMK_OPT_SHUTDOWN_ESCALATION, PCMK_OPT_SHUTDOWN_LOCK, - PCMK_OPT_SHUTDOWN_LOCK_LIMIT, PCMK_OPT_STARTUP_FENCING, - PCMK_OPT_START_FAILURE_IS_FATAL, PCMK_OPT_STONITH_ACTION, - PCMK_OPT_STONITH_ENABLED, PCMK_OPT_STONITH_MAX_ATTEMPTS, - PCMK_OPT_STONITH_TIMEOUT, PCMK_OPT_STONITH_WATCHDOG_TIMEOUT, - PCMK_OPT_STOP_ALL_RESOURCES, PCMK_OPT_STOP_ORPHAN_ACTIONS, - PCMK_OPT_STOP_ORPHAN_RESOURCES, PCMK_OPT_SYMMETRIC_CLUSTER, - PCMK_OPT_TRANSITION_DELAY, PCMK_REMOTE_RA_ADDR, PCMK_REMOTE_RA_PORT, - PCMK_REMOTE_RA_RECONNECT_INTERVAL, PCMK_REMOTE_RA_SERVER, - PCMK_ROLE_PROMOTED, PCMK_ROLE_STARTED, PCMK_ROLE_STOPPED, - PCMK_ROLE_UNPROMOTED, PCMK_SCORE_INFINITY, PCMK_VALUE_ALWAYS, - PCMK_VALUE_AND, PCMK_VALUE_BALANCED, PCMK_VALUE_BLOCK, PCMK_VALUE_BOOLEAN, - PCMK_VALUE_CIB_BOOTSTRAP_OPTIONS, PCMK_VALUE_COROSYNC, PCMK_VALUE_CREATE, - PCMK_VALUE_CUSTOM, PCMK_VALUE_DATE_SPEC, PCMK_VALUE_DEFAULT, - PCMK_VALUE_DEFINED, PCMK_VALUE_DELETE, PCMK_VALUE_DEMOTE, PCMK_VALUE_DENY, - PCMK_VALUE_DURATION, PCMK_VALUE_DYNAMIC_LIST, PCMK_VALUE_EQ, - PCMK_VALUE_EXCLUSIVE, PCMK_VALUE_FAILED, PCMK_VALUE_FALSE, - PCMK_VALUE_FENCE, PCMK_VALUE_FENCE_LEGACY, PCMK_VALUE_FENCING, - PCMK_VALUE_FREEZE, PCMK_VALUE_GRANTED, PCMK_VALUE_GREEN, PCMK_VALUE_GT, - PCMK_VALUE_GTE, PCMK_VALUE_HOST, PCMK_VALUE_IGNORE, PCMK_VALUE_IN_RANGE, - PCMK_VALUE_INFINITY, PCMK_VALUE_INTEGER, PCMK_VALUE_LITERAL, - PCMK_VALUE_LT, PCMK_VALUE_LTE, PCMK_VALUE_MANDATORY, PCMK_VALUE_MEMBER, - PCMK_VALUE_META, PCMK_VALUE_MIGRATE_ON_RED, PCMK_VALUE_MINIMAL, - PCMK_VALUE_MINUS_INFINITY, PCMK_VALUE_MODIFY, PCMK_VALUE_MOVE, - PCMK_VALUE_NE, PCMK_VALUE_NEVER, PCMK_VALUE_NONE, - PCMK_VALUE_NONNEGATIVE_INTEGER, PCMK_VALUE_NOTHING, - PCMK_VALUE_NOT_DEFINED, PCMK_VALUE_NUMBER, PCMK_VALUE_OFFLINE, - PCMK_VALUE_ONLINE, PCMK_VALUE_ONLY_GREEN, PCMK_VALUE_OPTIONAL, - PCMK_VALUE_OR, PCMK_VALUE_PANIC, PCMK_VALUE_PARAM, PCMK_VALUE_PENDING, - PCMK_VALUE_PERCENTAGE, PCMK_VALUE_PLUS_INFINITY, PCMK_VALUE_PORT, - PCMK_VALUE_PROGRESSIVE, PCMK_VALUE_QUORUM, PCMK_VALUE_READ, - PCMK_VALUE_RED, PCMK_VALUE_REMOTE, PCMK_VALUE_RESTART, - PCMK_VALUE_RESTART_CONTAINER, PCMK_VALUE_REVOKED, PCMK_VALUE_SCORE, - PCMK_VALUE_SELECT, PCMK_VALUE_SERIALIZE, PCMK_VALUE_STANDBY, - PCMK_VALUE_STATIC_LIST, PCMK_VALUE_STATUS, PCMK_VALUE_STOP, - PCMK_VALUE_STOP_ONLY, PCMK_VALUE_STOP_START, PCMK_VALUE_STOP_UNEXPECTED, - PCMK_VALUE_STRING, PCMK_VALUE_SUCCESS, PCMK_VALUE_TIMEOUT, - PCMK_VALUE_TRUE, PCMK_VALUE_UNFENCING, PCMK_VALUE_UNKNOWN, - PCMK_VALUE_UTILIZATION, PCMK_VALUE_VERSION, PCMK_VALUE_WRITE, - PCMK_VALUE_YELLOW, PCMK_XA_ACTION, PCMK_XA_ACTIVE, PCMK_XA_ADD_HOST, - PCMK_XA_ADMIN_EPOCH, PCMK_XA_ADVANCED, PCMK_XA_AGENT, PCMK_XA_API_VERSION, - PCMK_XA_ATTRIBUTE, PCMK_XA_AUTHOR, PCMK_XA_AUTOMATIC, PCMK_XA_BLOCKED, - PCMK_XA_BOOLEAN_OP, PCMK_XA_BUILD, PCMK_XA_CACHED, PCMK_XA_CALL, - PCMK_XA_CIB_LAST_WRITTEN, PCMK_XA_CIB_NODE, PCMK_XA_CLASS, PCMK_XA_CLIENT, - PCMK_XA_CODE, PCMK_XA_COMMENT, PCMK_XA_COMPLETED, PCMK_XA_CONTROL_PORT, - PCMK_XA_COUNT, PCMK_XA_CRMD, PCMK_XA_CRM_DEBUG_ORIGIN, - PCMK_XA_CRM_FEATURE_SET, PCMK_XA_CRM_TIMESTAMP, PCMK_XA_DAYS, - PCMK_XA_DC_UUID, PCMK_XA_DEFAULT, PCMK_XA_DELEGATE, PCMK_XA_DESCRIPTION, - PCMK_XA_DEST, PCMK_XA_DEVICE, PCMK_XA_DEVICES, PCMK_XA_DISABLED, - PCMK_XA_DURATION, PCMK_XA_END, PCMK_XA_EPOCH, PCMK_XA_EXEC, - PCMK_XA_EXECUTION_CODE, PCMK_XA_EXECUTION_DATE, PCMK_XA_EXECUTION_MESSAGE, - PCMK_XA_EXEC_TIME, PCMK_XA_EXITCODE, PCMK_XA_EXITREASON, - PCMK_XA_EXITSTATUS, PCMK_XA_EXIT_REASON, PCMK_XA_EXPECTED, - PCMK_XA_EXPECTED_UP, PCMK_XA_EXTENDED_STATUS, PCMK_XA_FAILED, - PCMK_XA_FAILURE_IGNORED, PCMK_XA_FAIL_COUNT, PCMK_XA_FEATURES, - PCMK_XA_FEATURE_SET, PCMK_XA_FILE, PCMK_XA_FIRST, PCMK_XA_FIRST_ACTION, - PCMK_XA_FOR, PCMK_XA_FUNCTION, PCMK_XA_GENERATED, PCMK_XA_HASH, - PCMK_XA_HAVE_QUORUM, PCMK_XA_HEALTH, PCMK_XA_HOST, PCMK_XA_HOST_INTERFACE, - PCMK_XA_HOST_NETMASK, PCMK_XA_HOURS, PCMK_XA_ID, PCMK_XA_ID_AS_RESOURCE, - PCMK_XA_ID_REF, PCMK_XA_IMAGE, PCMK_XA_INDEX, PCMK_XA_INFLUENCE, - PCMK_XA_INSTANCE, PCMK_XA_INTERNAL_PORT, PCMK_XA_INTERVAL, - PCMK_XA_IP_RANGE_START, PCMK_XA_IS_DC, PCMK_XA_KIND, PCMK_XA_LANG, - PCMK_XA_LAST_FAILURE, PCMK_XA_LAST_GRANTED, PCMK_XA_LAST_RC_CHANGE, - PCMK_XA_LAST_UPDATED, PCMK_XA_LOCKED_TO, PCMK_XA_LOCKED_TO_HYPHEN, - PCMK_XA_LOSS_POLICY, PCMK_XA_MAINTENANCE, PCMK_XA_MAINTENANCE_MODE, - PCMK_XA_MANAGED, PCMK_XA_MESSAGE, PCMK_XA_MINUTES, PCMK_XA_MIXED_VERSION, - PCMK_XA_MONTHDAYS, PCMK_XA_MONTHS, PCMK_XA_MULTI_STATE, PCMK_XA_NAME, - PCMK_XA_NETWORK, PCMK_XA_NEXT_ROLE, PCMK_XA_NODE, PCMK_XA_NODEID, - PCMK_XA_NODES_RUNNING_ON, PCMK_XA_NODE_ATTRIBUTE, PCMK_XA_NODE_NAME, - PCMK_XA_NODE_PATH, PCMK_XA_NO_QUORUM_PANIC, PCMK_XA_NO_QUORUM_POLICY, - PCMK_XA_NUMBER, PCMK_XA_NUMBER_RESOURCES, PCMK_XA_NUM_UPDATES, - PCMK_XA_OBJECT_TYPE, PCMK_XA_ONLINE, PCMK_XA_ON_TARGET, PCMK_XA_OP, - PCMK_XA_OPERATION, PCMK_XA_OPTIONS, PCMK_XA_OP_KEY, PCMK_XA_ORIGIN, - PCMK_XA_ORPHAN, PCMK_XA_ORPHANED, PCMK_XA_PACEMAKERD_STATE, PCMK_XA_PATH, - PCMK_XA_PENDING, PCMK_XA_PORT, PCMK_XA_PRESENT, - PCMK_XA_PRIORITY_FENCING_DELAY_MS, PCMK_XA_PROGRAM, PCMK_XA_PROMOTABLE, - PCMK_XA_PROMOTED_MAX, PCMK_XA_PROMOTED_ONLY, PCMK_XA_PROVIDER, - PCMK_XA_QUEUED, PCMK_XA_QUEUE_TIME, PCMK_XA_QUORUM, PCMK_XA_RANGE, - PCMK_XA_RC, PCMK_XA_RC_TEXT, PCMK_XA_REASON, PCMK_XA_REFERENCE, - PCMK_XA_RELOADABLE, PCMK_XA_REMAIN_STOPPED, PCMK_XA_REMOTE_CLEAR_PORT, - PCMK_XA_REMOTE_NODE, PCMK_XA_REMOTE_TLS_PORT, PCMK_XA_REPLICAS, - PCMK_XA_REPLICAS_PER_HOST, PCMK_XA_REQUEST, PCMK_XA_REQUIRE_ALL, - PCMK_XA_RESOURCE, PCMK_XA_RESOURCES_RUNNING, PCMK_XA_RESOURCE_AGENT, - PCMK_XA_RESOURCE_DISCOVERY, PCMK_XA_RESULT, PCMK_XA_ROLE, PCMK_XA_RSC, - PCMK_XA_RSC_PATTERN, PCMK_XA_RSC_ROLE, PCMK_XA_RULE_ID, PCMK_XA_RUNNING, - PCMK_XA_RUNNING_ON, PCMK_XA_RUN_COMMAND, PCMK_XA_SCOPE, PCMK_XA_SCORE, - PCMK_XA_SCORE_ATTRIBUTE, PCMK_XA_SECONDS, PCMK_XA_SEQUENTIAL, - PCMK_XA_SHUTDOWN, PCMK_XA_SOURCE, PCMK_XA_SOURCE_DIR, - PCMK_XA_SOURCE_DIR_ROOT, PCMK_XA_SPEC, PCMK_XA_STANDARD, PCMK_XA_STANDBY, - PCMK_XA_STANDBY_ONFAIL, PCMK_XA_START, PCMK_XA_STATE, PCMK_XA_STATUS, - PCMK_XA_STONITH_ENABLED, PCMK_XA_STONITH_TIMEOUT_MS, - PCMK_XA_STOP_ALL_RESOURCES, PCMK_XA_SYMMETRICAL, - PCMK_XA_SYMMETRIC_CLUSTER, PCMK_XA_SYS_FROM, PCMK_XA_TAG, PCMK_XA_TARGET, - PCMK_XA_TARGET_ATTRIBUTE, PCMK_XA_TARGET_DIR, PCMK_XA_TARGET_PATTERN, - PCMK_XA_TARGET_ROLE, PCMK_XA_TARGET_VALUE, PCMK_XA_TASK, PCMK_XA_TEMPLATE, - PCMK_XA_THEN, PCMK_XA_THEN_ACTION, PCMK_XA_TICKET, PCMK_XA_TIME, - PCMK_XA_TYPE, PCMK_XA_UNAME, PCMK_XA_UNCLEAN, PCMK_XA_UNHEALTHY, - PCMK_XA_UNIQUE, PCMK_XA_UNMANAGED, PCMK_XA_UPDATE_CLIENT, - PCMK_XA_UPDATE_ORIGIN, PCMK_XA_UPDATE_USER, PCMK_XA_USER, PCMK_XA_VALID, - PCMK_XA_VALIDATE_WITH, PCMK_XA_VALUE, PCMK_XA_VALUE_SOURCE, - PCMK_XA_VERSION, PCMK_XA_WATCHDOG, PCMK_XA_WEEKDAYS, PCMK_XA_WEEKS, - PCMK_XA_WEEKYEARS, PCMK_XA_WEIGHT, PCMK_XA_WHEN, PCMK_XA_WITH_QUORUM, - PCMK_XA_WITH_RSC, PCMK_XA_WITH_RSC_ROLE, PCMK_XA_XPATH, PCMK_XA_YEARDAYS, - PCMK_XA_YEARS, PCMK_XE_ACLS, PCMK_XE_ACL_GROUP, PCMK_XE_ACL_PERMISSION, - PCMK_XE_ACL_ROLE, PCMK_XE_ACL_TARGET, PCMK_XE_ACTION, PCMK_XE_ACTIONS, - PCMK_XE_AGENT, PCMK_XE_AGENTS, PCMK_XE_AGENT_STATUS, PCMK_XE_ALERT, - PCMK_XE_ALERTS, PCMK_XE_ALLOCATIONS, PCMK_XE_ALLOCATIONS_UTILIZATIONS, - PCMK_XE_ATTRIBUTE, PCMK_XE_BAN, PCMK_XE_BANS, PCMK_XE_BUNDLE, - PCMK_XE_CAPACITY, PCMK_XE_CHANGE, PCMK_XE_CHANGE_ATTR, - PCMK_XE_CHANGE_LIST, PCMK_XE_CHANGE_RESULT, PCMK_XE_CHECK, PCMK_XE_CIB, - PCMK_XE_CLONE, PCMK_XE_CLUSTER_ACTION, PCMK_XE_CLUSTER_INFO, - PCMK_XE_CLUSTER_OPTIONS, PCMK_XE_CLUSTER_PROPERTY_SET, - PCMK_XE_CLUSTER_STATUS, PCMK_XE_COMMAND, PCMK_XE_CONFIGURATION, - PCMK_XE_CONSTRAINTS, PCMK_XE_CONTENT, PCMK_XE_CRM_CONFIG, PCMK_XE_CRM_MON, - PCMK_XE_CRM_MON_DISCONNECTED, PCMK_XE_CURRENT_DC, PCMK_XE_DATE_SPEC, - PCMK_XE_DC, PCMK_XE_DEPRECATED, PCMK_XE_DIFF, PCMK_XE_DIGEST, - PCMK_XE_DIGESTS, PCMK_XE_DOCKER, PCMK_XE_DURATION, PCMK_XE_ERROR, - PCMK_XE_ERRORS, PCMK_XE_EXPRESSION, PCMK_XE_FAILURE, PCMK_XE_FAILURES, - PCMK_XE_FEATURE, PCMK_XE_FEATURES, PCMK_XE_FENCE_EVENT, - PCMK_XE_FENCE_HISTORY, PCMK_XE_FENCING_ACTION, PCMK_XE_FENCING_LEVEL, - PCMK_XE_FENCING_TOPOLOGY, PCMK_XE_GROUP, PCMK_XE_INJECT_ATTR, - PCMK_XE_INJECT_SPEC, PCMK_XE_INSTANCE_ATTRIBUTES, PCMK_XE_INSTRUCTION, - PCMK_XE_ITEM, PCMK_XE_LAST_CHANGE, PCMK_XE_LAST_FENCED, - PCMK_XE_LAST_UPDATE, PCMK_XE_LIST, PCMK_XE_LONGDESC, PCMK_XE_METADATA, - PCMK_XE_META_ATTRIBUTES, PCMK_XE_MODIFICATIONS, PCMK_XE_MODIFY_NODE, - PCMK_XE_MODIFY_TICKET, PCMK_XE_NETWORK, PCMK_XE_NODE, PCMK_XE_NODES, - PCMK_XE_NODES_CONFIGURED, PCMK_XE_NODE_ACTION, PCMK_XE_NODE_ATTRIBUTES, - PCMK_XE_NODE_HISTORY, PCMK_XE_NODE_INFO, PCMK_XE_NODE_WEIGHT, - PCMK_XE_NVPAIR, PCMK_XE_OBJ_REF, PCMK_XE_OP, PCMK_XE_OPERATION, - PCMK_XE_OPERATIONS, PCMK_XE_OPERATION_HISTORY, PCMK_XE_OPTION, - PCMK_XE_OP_DEFAULTS, PCMK_XE_OUTPUT, PCMK_XE_OVERRIDE, PCMK_XE_OVERRIDES, - PCMK_XE_PACEMAKERD, PCMK_XE_PACEMAKER_RESULT, PCMK_XE_PARAMETER, - PCMK_XE_PARAMETERS, PCMK_XE_PODMAN, PCMK_XE_PORT_MAPPING, - PCMK_XE_POSITION, PCMK_XE_PRIMITIVE, PCMK_XE_PROMOTION_SCORE, - PCMK_XE_PROVIDER, PCMK_XE_PROVIDERS, PCMK_XE_PSEUDO_ACTION, - PCMK_XE_REASON, PCMK_XE_RECIPIENT, PCMK_XE_REPLICA, PCMK_XE_RESOURCE, - PCMK_XE_RESOURCES, PCMK_XE_RESOURCES_CONFIGURED, PCMK_XE_RESOURCE_AGENT, - PCMK_XE_RESOURCE_AGENT_ACTION, PCMK_XE_RESOURCE_CONFIG, - PCMK_XE_RESOURCE_HISTORY, PCMK_XE_RESOURCE_REF, PCMK_XE_RESOURCE_SET, - PCMK_XE_RESULT_CODE, PCMK_XE_REVISED_CLUSTER_STATUS, - PCMK_XE_ROLE, PCMK_XE_RSC_ACTION, PCMK_XE_RSC_COLOCATION, - PCMK_XE_RSC_DEFAULTS, PCMK_XE_RSC_LOCATION, PCMK_XE_RSC_ORDER, - PCMK_XE_RSC_TICKET, PCMK_XE_RULE, PCMK_XE_RULE_CHECK, PCMK_XE_SELECT, - PCMK_XE_SELECT_ATTRIBUTES, PCMK_XE_SELECT_FENCING, PCMK_XE_SELECT_NODES, - PCMK_XE_SELECT_RESOURCES, PCMK_XE_SHADOW, PCMK_XE_SHORTDESC, - PCMK_XE_SOURCE, PCMK_XE_SPECIAL, PCMK_XE_STACK, PCMK_XE_STATUS, - PCMK_XE_STORAGE, PCMK_XE_STORAGE_MAPPING, PCMK_XE_SUMMARY, PCMK_XE_TAG, - PCMK_XE_TAGS, PCMK_XE_TARGET, PCMK_XE_TEMPLATE, PCMK_XE_TICKET, - PCMK_XE_TICKETS, PCMK_XE_TIMING, PCMK_XE_TIMINGS, PCMK_XE_TRANSITION, - PCMK_XE_UTILIZATION, PCMK_XE_UTILIZATIONS, PCMK_XE_VALIDATE, - PCMK_XE_VERSION, PCMK_XE_XML, and PCMK_XE_XML_PATCHSET - + libcrmcommon: add functions pcmk_action_text(), pcmk_find_node(), - pcmk_foreach_active_resource(), pcmk_get_dc(), pcmk_parse_interval_spec(), - pcmk_get_no_quorum_policy(), pcmk_has_quorum(), - pcmk_node_is_clean(), pcmk_update_configured_schema(), - pcmk_node_is_in_maintenance(), pcmk_node_is_online(), - pcmk_node_is_pending(), pcmk_node_is_shutting_down(), pcmk_on_fail_text(), - pcmk_parse_action(), pcmk_parse_role(), pcmk_resource_id(), - pcmk_resource_is_managed(), pcmk_role_text(), and pcmk_set_scheduler_cib() - + libcrmcommon: add type pcmk_rule_input_t - + libcrmcommon: deprecate globals crm_log_level, crm_trace_nonlog, - was_processing_error, and was_processing_warning - + libcrmcommon: deprecate functions add_message_xml(), add_node_copy(), - can_prune_leaf(), cli_config_update(), copy_in_properties(), copy_xml(), - create_hello_message(), pcmk_parse_action(), create_reply(), - create_reply_adv(), create_request(), create_request_adv(), - create_xml_node(), crm_map_element_name(), crm_next_same_xml(), - crm_parse_interval_spec(), crm_xml_escape(), diff_xml_object(), - dump_xml_formatted(), dump_xml_formatted_with_text(), - dump_xml_unformatted(), expand_plus_plus(), filename2xml(), - find_xml_children(), find_xml_node(), first_named_child(), - fix_plus_plus_recursive(), get_message_xml(), get_schema_name(), - get_schema_version(), get_xpath_object_relative(), ID(), - pcmk_action_text(), pcmk_create_html_node(), pcmk_create_xml_text_node(), - pcmk_hostname(), pcmk_on_fail_text(), purge_diff_markers(), - replace_xml_child(), stdin2xml(), string2xml(), subtract_xml_object(), - update_validation(), update_xml_child(), validate_xml(), - validate_xml_verbose(), write_xml_fd(), write_xml_file(), - xml_latest_schema(), and xml_remove_prop() - + libcrmcommon: deprecate constants CIB_OPTIONS_FIRST, CRM_INFINITY_S, - CRM_MINUS_INFINITY_S, CRM_OP_LOCAL_SHUTDOWN, CRM_PLUS_INFINITY_S, - CRM_SCORE_INFINITY, F_CLIENTNAME, F_CRM_DATA, F_CRM_DC_LEAVING, - F_CRM_ELECTION_AGE_S, F_CRM_ELECTION_AGE_US, F_CRM_ELECTION_ID, - F_CRM_ELECTION_OWNER, F_CRM_HOST_FROM, F_CRM_HOST_TO, F_CRM_JOIN_ID, - F_CRM_MSG_TYPE, F_CRM_ORIGIN, F_CRM_REFERENCE, F_CRM_SYS_FROM, - F_CRM_SYS_TO, F_CRM_TASK, F_CRM_TGRAPH, F_CRM_TGRAPH_INPUT, - F_CRM_THROTTLE_MAX, F_CRM_THROTTLE_MODE, F_CRM_USER, F_CRM_VERSION, - F_ORIG, F_SEQ, F_SUBTYPE, F_TYPE, F_XML_TAGNAME, INFINITY, INFINITY_S, - MINUS_INFINITY_S, OFFLINESTATUS, ONLINESTATUS, - PCMK_XA_PROMOTED_MAX_LEGACY, PCMK_XA_PROMOTED_NODE_MAX_LEGACY, - PCMK_XA_TARGET_PATTERN, PCMK_XA_UNAME, PCMK_XE_PROMOTABLE_LEGACY, - SUPPORT_UPSTART, T_ATTRD, T_CRM, XML_ACL_ATTR_ATTRIBUTE, - XML_ACL_ATTR_KIND, XML_ACL_ATTR_REF, XML_ACL_ATTR_REFv1, XML_ACL_ATTR_TAG, - XML_ACL_ATTR_TAGv1, XML_ACL_ATTR_XPATH, XML_ACL_TAG_DENY, - XML_ACL_TAG_GROUP, XML_ACL_TAG_PERMISSION, XML_ACL_TAG_READ, - XML_ACL_TAG_ROLE, XML_ACL_TAG_ROLE_REF, XML_ACL_TAG_ROLE_REFv1, - XML_ACL_TAG_USER, XML_ACL_TAG_USERv1, XML_ACL_TAG_WRITE, - XML_AGENT_ATTR_CLASS, XML_AGENT_ATTR_PROVIDER, XML_ALERT_ATTR_PATH, - XML_ALERT_ATTR_REC_VALUE, XML_ALERT_ATTR_TIMEOUT, - XML_ALERT_ATTR_TSTAMP_FORMAT, XML_ATTR_CRM_VERSION, XML_ATTR_DC_UUID, - XML_ATTR_DESC, XML_ATTR_DIGEST, XML_ATTR_GENERATION, - XML_ATTR_GENERATION_ADMIN, XML_ATTR_HAVE_QUORUM, XML_ATTR_HAVE_WATCHDOG, - XML_ATTR_ID, XML_ATTR_IDREF, XML_ATTR_ID_LONG, XML_ATTR_NAME, - XML_ATTR_NUMUPDATES, XML_ATTR_OP, XML_ATTR_ORIGIN, XML_ATTR_QUORUM_PANIC, - XML_ATTR_REFERENCE, XML_ATTR_REQUEST, XML_ATTR_RESPONSE, - XML_ATTR_STONITH_DEVICES, XML_ATTR_STONITH_INDEX, XML_ATTR_STONITH_TARGET, - XML_ATTR_STONITH_TARGET_ATTRIBUTE, XML_ATTR_STONITH_TARGET_VALUE, - XML_ATTR_TE_NOWAIT, XML_ATTR_TE_TARGET_RC, XML_ATTR_TIMEOUT, - XML_ATTR_TRANSITION_KEY, XML_ATTR_TRANSITION_MAGIC, XML_ATTR_TSTAMP, - XML_ATTR_TYPE, XML_ATTR_UPDATE_CLIENT, XML_ATTR_UPDATE_ORIGIN, - XML_ATTR_UPDATE_USER, XML_ATTR_VALIDATION, XML_ATTR_VERSION, - XML_BOOLEAN_FALSE, XML_BOOLEAN_NO, XML_BOOLEAN_TRUE, XML_BOOLEAN_YES, - XML_CIB_ATTR_PRIORITY, XML_CIB_ATTR_SHUTDOWN, XML_CIB_ATTR_WRITTEN, - XML_CIB_TAG_ACLS, XML_CIB_TAG_ALERT, XML_CIB_TAG_ALERTS, - XML_CIB_TAG_ALERT_ATTR, XML_CIB_TAG_ALERT_ATTRIBUTES, - XML_CIB_TAG_ALERT_FENCING, XML_CIB_TAG_ALERT_NODES, - XML_CIB_TAG_ALERT_RECIPIENT, XML_CIB_TAG_ALERT_RESOURCES, - XML_CIB_TAG_ALERT_SELECT, XML_CIB_TAG_CONFIGURATION, - XML_CIB_TAG_CONSTRAINTS, XML_CIB_TAG_CONTAINER, XML_CIB_TAG_CRMCONFIG, - XML_CIB_TAG_GENERATION_TUPPLE, XML_CIB_TAG_GROUP, XML_CIB_TAG_INCARNATION, - XML_CIB_TAG_LRM, XML_CIB_TAG_NODE, XML_CIB_TAG_NODES, XML_CIB_TAG_NVPAIR, - XML_CIB_TAG_OBJ_REF, XML_CIB_TAG_OPCONFIG, XML_CIB_TAG_PROPSET, - XML_CIB_TAG_RESOURCE, XML_CIB_TAG_RESOURCES, XML_CIB_TAG_RSCCONFIG, - XML_CIB_TAG_RSC_TEMPLATE, XML_CIB_TAG_SECTION_ALL, XML_CIB_TAG_STATE, - XML_CIB_TAG_STATUS, XML_CIB_TAG_TAG, XML_CIB_TAG_TAGS, - XML_CIB_TAG_TICKETS, XML_CIB_TAG_TICKET_STATE, XML_COLOC_ATTR_INFLUENCE, - XML_COLOC_ATTR_NODE_ATTR, XML_COLOC_ATTR_SOURCE, - XML_COLOC_ATTR_SOURCE_INSTANCE, XML_COLOC_ATTR_SOURCE_ROLE, - XML_COLOC_ATTR_TARGET, XML_COLOC_ATTR_TARGET_INSTANCE, - XML_COLOC_ATTR_TARGET_ROLE, XML_CONFIG_ATTR_DC_DEADTIME, - XML_CONFIG_ATTR_ELECTION_FAIL, XML_CONFIG_ATTR_FENCE_REACTION, - XML_CONFIG_ATTR_FORCE_QUIT, XML_CONFIG_ATTR_NODE_PENDING_TIMEOUT, - XML_CONFIG_ATTR_PRIORITY_FENCING_DELAY, XML_CONFIG_ATTR_RECHECK, - XML_CONFIG_ATTR_SHUTDOWN_LOCK, XML_CONFIG_ATTR_SHUTDOWN_LOCK_LIMIT, - XML_CONS_ATTR_SYMMETRICAL, XML_CONS_TAG_RSC_DEPEND, - XML_CONS_TAG_RSC_LOCATION, XML_CONS_TAG_RSC_ORDER, XML_CONS_TAG_RSC_SET, - XML_CONS_TAG_RSC_TICKET, XML_CRM_TAG_PING, XML_DIFF_ATTR, XML_DIFF_CHANGE, - XML_DIFF_LIST, XML_DIFF_MARKER, XML_DIFF_OP, XML_DIFF_PATH, - XML_DIFF_POSITION, XML_DIFF_RESULT, XML_DIFF_VERSION, XML_DIFF_VSOURCE, - XML_DIFF_VTARGET, XML_EXPR_ATTR_ATTRIBUTE, XML_EXPR_ATTR_OPERATION, - XML_EXPR_ATTR_TYPE, XML_EXPR_ATTR_VALUE, XML_EXPR_ATTR_VALUE_SOURCE, - XML_FAILCIB_ATTR_ID, XML_FAILCIB_ATTR_OBJTYPE, XML_FAILCIB_ATTR_OP, - XML_FAILCIB_ATTR_REASON, XML_FAIL_TAG_CIB, XML_GRAPH_TAG_CRM_EVENT, - XML_GRAPH_TAG_DOWNED, XML_GRAPH_TAG_MAINTENANCE, - XML_GRAPH_TAG_PSEUDO_EVENT, XML_GRAPH_TAG_RSC_OP, - XML_LOCATION_ATTR_DISCOVERY, XML_LOC_ATTR_SOURCE, - XML_LOC_ATTR_SOURCE_PATTERN, XML_LRM_ATTR_CALLID, - XML_LRM_ATTR_EXIT_REASON, XML_LRM_ATTR_INTERVAL, XML_LRM_ATTR_INTERVAL_MS, - XML_LRM_ATTR_MIGRATE_SOURCE, XML_LRM_ATTR_MIGRATE_TARGET, - XML_LRM_ATTR_OPSTATUS, XML_LRM_ATTR_OP_DIGEST, XML_LRM_ATTR_OP_RESTART, - XML_LRM_ATTR_OP_SECURE, XML_LRM_ATTR_RC, XML_LRM_ATTR_RESTART_DIGEST, - XML_LRM_ATTR_ROUTER_NODE, XML_LRM_ATTR_RSCID, XML_LRM_ATTR_SECURE_DIGEST, - XML_LRM_ATTR_TARGET, XML_LRM_ATTR_TARGET_UUID, XML_LRM_ATTR_TASK, - XML_LRM_ATTR_TASK_KEY, XML_LRM_TAG_RESOURCE, XML_LRM_TAG_RESOURCES, - XML_LRM_TAG_RSC_OP, XML_NODE_ATTR_RSC_DISCOVERY, XML_NODE_IS_FENCED, - XML_NODE_IS_MAINTENANCE, XML_NODE_IS_REMOTE, XML_NVPAIR_ATTR_NAME, - XML_NVPAIR_ATTR_VALUE, XML_OP_ATTR_ALLOW_MIGRATE, XML_OP_ATTR_DIGESTS_ALL, - XML_OP_ATTR_DIGESTS_SECURE, XML_OP_ATTR_INTERVAL_ORIGIN, - XML_OP_ATTR_ON_FAIL, XML_OP_ATTR_PENDING, XML_OP_ATTR_START_DELAY, - XML_ORDER_ATTR_FIRST, XML_ORDER_ATTR_FIRST_ACTION, XML_ORDER_ATTR_KIND, - XML_ORDER_ATTR_THEN, XML_ORDER_ATTR_THEN_ACTION, XML_PING_ATTR_CRMDSTATE, - XML_PING_ATTR_PACEMAKERDSTATE, XML_PING_ATTR_PACEMAKERDSTATE_INIT, - XML_PING_ATTR_PACEMAKERDSTATE_REMOTE, - XML_PING_ATTR_PACEMAKERDSTATE_RUNNING, - XML_PING_ATTR_PACEMAKERDSTATE_SHUTDOWNCOMPLETE, - XML_PING_ATTR_PACEMAKERDSTATE_SHUTTINGDOWN, - XML_PING_ATTR_PACEMAKERDSTATE_STARTINGDAEMONS, - XML_PING_ATTR_PACEMAKERDSTATE_WAITPING, XML_PING_ATTR_STATUS, - XML_PING_ATTR_SYSFROM, XML_REMOTE_ATTR_RECONNECT_INTERVAL, - XML_RSC_ATTR_CLEAR_INTERVAL, XML_RSC_ATTR_CLEAR_OP, - XML_RSC_ATTR_CONTAINER, XML_RSC_ATTR_CRITICAL, XML_RSC_ATTR_INCARNATION, - XML_RSC_ATTR_INTERLEAVE, XML_RSC_ATTR_INTERNAL_RSC, - XML_RSC_ATTR_MAINTENANCE, XML_RSC_ATTR_MANAGED, XML_RSC_ATTR_MULTIPLE, - XML_RSC_ATTR_NOTIFY, XML_RSC_ATTR_ORDERED, XML_RSC_ATTR_PROMOTABLE, - XML_RSC_ATTR_REMOTE_NODE, XML_RSC_ATTR_REMOTE_RA_ADDR, - XML_RSC_ATTR_REMOTE_RA_PORT, XML_RSC_ATTR_REMOTE_RA_SERVER, - XML_RSC_ATTR_REQUIRES, XML_RSC_ATTR_RESTART, XML_RSC_ATTR_STICKINESS, - XML_RSC_ATTR_TARGET, XML_RSC_ATTR_TARGET_ROLE, XML_RSC_ATTR_UNIQUE, - XML_RSC_OP_LAST_CHANGE, XML_RSC_OP_T_EXEC, XML_RSC_OP_T_QUEUE, - XML_RULE_ATTR_BOOLEAN_OP, XML_RULE_ATTR_ROLE, XML_RULE_ATTR_SCORE, - XML_RULE_ATTR_SCORE_ATTRIBUTE, XML_TAG_ATTRS, XML_TAG_ATTR_SETS, - XML_TAG_CIB, XML_TAG_DIFF, XML_TAG_EXPRESSION, XML_TAG_FAILED, - XML_TAG_FENCING_LEVEL, XML_TAG_FENCING_TOPOLOGY, XML_TAG_GRAPH, - XML_TAG_META_SETS, XML_TAG_OPTIONS, XML_TAG_PARAM, XML_TAG_PARAMS, - XML_TAG_RESOURCE_REF, XML_TAG_RULE, XML_TAG_TRANSIENT_NODEATTRS, - XML_TAG_UTILIZATION, XML_TICKET_ATTR_LOSS_POLICY, and - XML_TICKET_ATTR_TICKET - + libcrmcommon: deprecate direct access to all members of pcmk_scheduler_t, - pcmk_tag_t, and pcmk_ticket_t - + libcrmcommon: deprecate pcmk_rsc_methods_t, pcmk_assignment_methods_t, - struct pe_action_s, struct pe_resource_s, struct resource_alloc_functions_s, - struct resource_object_functions_s, struct pe_node_s, and - struct pe_node_shared_s, including all their members - + libcrmcommon: deprecate enums action_fail_response, action_tasks, - expression_type, node_type, pcmk_rsc_flags, pcmk_scheduler_flags, - pe_action_flags, pe_discover_e, pe_obj_types, rsc_recovery_type, and - rsc_start_requirement, including all their values - + liblrmd: deprecate constants F_LRMD_ALERT, F_LRMD_ALERT_ID, - F_LRMD_ALERT_PATH, F_LRMD_CALLBACK_TOKEN, F_LRMD_CALLDATA, F_LRMD_CALLID, - F_LRMD_CALLOPTS, F_LRMD_CLASS, F_LRMD_CLIENTID, F_LRMD_CLIENTNAME, - F_LRMD_EXEC_RC, F_LRMD_IPC_CLIENT, F_LRMD_IPC_IPC_SERVER, F_LRMD_IPC_MSG, - F_LRMD_IPC_MSG_FLAGS, F_LRMD_IPC_MSG_ID, F_LRMD_IPC_OP, F_LRMD_IPC_USER, - F_LRMD_IS_IPC_PROVIDER, F_LRMD_OPERATION, F_LRMD_OP_STATUS, F_LRMD_ORIGIN, - F_LRMD_PROTOCOL_VERSION, F_LRMD_PROVIDER, F_LRMD_RC, F_LRMD_REMOTE_MSG_ID, - F_LRMD_REMOTE_MSG_TYPE, F_LRMD_RSC, F_LRMD_RSC_ACTION, F_LRMD_RSC_DELETED, - F_LRMD_RSC_EXEC_TIME, F_LRMD_RSC_EXIT_REASON, F_LRMD_RSC_ID, - F_LRMD_RSC_INTERVAL, F_LRMD_RSC_OUTPUT, F_LRMD_RSC_QUEUE_TIME, - F_LRMD_RSC_RCCHANGE_TIME, F_LRMD_RSC_RUN_TIME, F_LRMD_RSC_START_DELAY, - F_LRMD_RSC_USERDATA_STR, F_LRMD_TIMEOUT, F_LRMD_TYPE, F_LRMD_WATCHDOG, - T_LRMD, T_LRMD_IPC_PROXY, T_LRMD_NOTIFY, T_LRMD_REPLY, and T_LRMD_RSC_OP - + libpacemaker: distribute pacemaker.h header to allow high-level API usage - + libpe_rules: deprecate functions find_expression_type(), - pe_evaluate_rules(), pe_eval_expr(), pe_eval_rules(), pe_eval_subexpr(), - pe_expand_re_matches(), pe_test_expression(), and pe_test_rule() - + libpe_rules,libpe_status: move enum expression_type and globals - was_processing_error and was_processing_warning to libcrmcommon - + libpe_rules,libpe_status: deprecate role member of pe_op_eval_data - + libpe_rules,libpe_status: deprecate functions text2task(), fail2text(), - recovery2text(), role2text(), task2text(), and text2role() - + libpe_status: deprecate functions pe_find_node(), pe_pref(), - pe_rsc_is_anon_clone(), pe_rsc_is_bundled(), pe_rsc_is_clone(), - and pe_rsc_is_unique_clone() - + libpe_status: deprecate global resource_class_functions - + libstonithd: deprecate constants T_STONITH_NOTIFY_DISCONNECT, - T_STONITH_NOTIFY_FENCE, T_STONITH_NOTIFY_HISTORY, and - T_STONITH_NOTIFY_HISTORY_SYNCED - -* Tue Dec 19 2023 Ken Gaillot Pacemaker-2.1.7 -- 1388 commits with 358 files changed, 23771 insertions(+), 17219 deletions(-) - -- Features added since Pacemaker-2.1.6 - + build: allow building with libxml2 2.12.0 and greater - + CIB: deprecate "ordering" attribute of "resource_set" - + CIB: new cluster option "node-pending-timeout" (defaulting to 0, meaning - no timeout, to preserve existing behavior) allows fencing of nodes that do - not join Pacemaker's controller group within this much time after joining - the cluster - + controller: PCMK_node_start_state now works with Pacemaker Remote nodes - + tools: crm_verify now supports --quiet option (currently same as default - behavior, but in the future, verbose behavior might become the default, - so script writers are recommended to explicitly add --quiet if they do not - want output) - + tools: crm_node supports standard --output-as/--output-to arguments - + tests: CTSlab.py was renamed to cts-lab - -- Fixes since Pacemaker-2.1.6 - + logging: restore ability to enable XML trace logs by file and function - (regression introduced in 2.1.6) - + scheduler: avoid double free with disabled recurring actions - (regression introduced in 2.1.5) - + tools: consider dampening argument when setting values with attrd_updater - (regression introduced in 2.1.5) - + tools: wait for reply from crm_node -R (regression introduced in 2.0.5) - + agents: handle dampening parameter consistently and correctly - + CIB: be more strict about ignoring colocation elements without an ID - + controller: do not check whether watchdog fencing is enabled - if "stonith-watchdog-timeout" is not configured - + controller: don't try to execute agent action at shutdown - + controller: avoid race condition when updating node state during join - + controller: correctly determine state of a fenced node without a name - + controller: wait a second between fencer connection attempts - + libpacemaker: avoid shuffling clone instances unnecessarily - + libpacemaker: get bundle container's promotion score from correct node - + libpacemaker: role-based colocations now work with bundles - + libpacemaker: clone-node-max now works with cloned groups - + scheduler: compare anti-colocation dependent negative preferences against - stickiness - + scheduler: consider explicit colocations with group members - + scheduler: avoid fencing a pending node without a name - + scheduler: properly evaluate rules in action meta-attributes - + scheduler: properly sort rule-based blocks when overwriting values - + tools: crm_resource --wait will now wait if any actions are pending - (previously it would wait only if new actions were planned) - + tools: crm_verify --output-as=xml now includes detailed messages - + tools: avoid showing pending nodes as having "<3.15.1" feature set in - crm_mon - + tools: fix display of clone descriptions - + tools: crm_resource now reports an error rather than timing out when - trying to restart an unmanaged resource - + tools: crm_resource now properly detects which promoted role name to use - in ban and move constraints - -- Public API changes since Pacemaker-2.1.6 (all API/ABI backward-compatible) - + libcib: cib_t now supports transactions via new cib_api_operations_t - methods, new cib_transaction value in enum cib_call_options, and new - cib_t transaction and user members - + libcib: cib_t now supports setting the ACL user for methods via new - cib_api_operations_t set_user() method - + libcib: deprecate cib_api_operations_t methods inputfd(), noop(), quit(), - set_op_callback(), and signon_raw() - + libcib: deprecate cib_call_options values cib_mixed_update, - cib_scope_local, and cib_zero_copy - + libcib: deprecate cib_t op_callback member - + libcrmcluster: deprecate set_uuid() - + libcrmcluster: send_cluster_message()'s data argument is const - + libcrmcommon: add enum pcmk_rc_e values pcmk_rc_compression, - pcmk_rc_ns_resolution, and pcmk_rc_no_transaction - + libcrmcommon,libpe_rules,libpe_status: many APIs have been moved from - libpe_rules and libpe_status to libcrmcommon, sometimes with new names - (deprecating the old ones), as described below - + libcrmcommon: add (and deprecate) PCMK_DEFAULT_METADATA_TIMEOUT_MS defined - constant - + libcrmcommon: add enum pcmk_rsc_flags - + libcrmcommon: add enum pcmk_scheduler_flags - + libcrmcommon: add pcmk_action_added_to_graph - + libcrmcommon: add pcmk_action_always_in_graph - + libcrmcommon: add pcmk_action_attrs_evaluated - + libcrmcommon: add PCMK_ACTION_CANCEL string constant - + libcrmcommon: add PCMK_ACTION_CLEAR_FAILCOUNT string constant - + libcrmcommon: add PCMK_ACTION_CLONE_ONE_OR_MORE string constant - + libcrmcommon: add PCMK_ACTION_DELETE string constant - + libcrmcommon: add PCMK_ACTION_DEMOTE string constant - + libcrmcommon: add pcmk_action_demote to enum action_tasks - + libcrmcommon: add PCMK_ACTION_DEMOTED string constant - + libcrmcommon: add pcmk_action_demoted to enum action_tasks - + libcrmcommon: add pcmk_action_detect_loop - + libcrmcommon: add PCMK_ACTION_DO_SHUTDOWN string constant - + libcrmcommon: add pcmk_action_fence to enum action_tasks - + libcrmcommon: add pcmk_action_inputs_deduplicated - + libcrmcommon: add PCMK_ACTION_LIST string constant - + libcrmcommon: add PCMK_ACTION_LOAD_STOPPED string constant - + libcrmcommon: add PCMK_ACTION_LRM_DELETE string constant - + libcrmcommon: add PCMK_ACTION_MAINTENANCE_NODES string constant - + libcrmcommon: add PCMK_ACTION_META_DATA string constant - + libcrmcommon: add pcmk_action_migratable - + libcrmcommon: add PCMK_ACTION_MIGRATE_FROM string constant - + libcrmcommon: add PCMK_ACTION_MIGRATE_TO string constant - + libcrmcommon: add pcmk_action_migration_abort - + libcrmcommon: add pcmk_action_min_runnable - + libcrmcommon: add PCMK_ACTION_MONITOR string constant - + libcrmcommon: add pcmk_action_monitor to enum action_tasks - + libcrmcommon: add PCMK_ACTION_NOTIFIED string constant - + libcrmcommon: add pcmk_action_notified to enum action_tasks - + libcrmcommon: add PCMK_ACTION_NOTIFY string constant - + libcrmcommon: add pcmk_action_notify to enum action_tasks - + libcrmcommon: add PCMK_ACTION_OFF string constant - + libcrmcommon: add PCMK_ACTION_ON string constant - + libcrmcommon: add PCMK_ACTION_ONE_OR_MORE string constant - + libcrmcommon: add pcmk_action_on_dc - + libcrmcommon: add pcmk_action_optional - + libcrmcommon: add PCMK_ACTION_PROMOTE string constant - + libcrmcommon: add pcmk_action_promote to enum action_tasks - + libcrmcommon: add PCMK_ACTION_PROMOTED string constant - + libcrmcommon: add pcmk_action_promoted to enum action_tasks - + libcrmcommon: add pcmk_action_pseudo - + libcrmcommon: add PCMK_ACTION_REBOOT string constant - + libcrmcommon: add PCMK_ACTION_RELOAD string constant - + libcrmcommon: add PCMK_ACTION_RELOAD_AGENT string constant - + libcrmcommon: add pcmk_action_reschedule - + libcrmcommon: add pcmk_action_runnable - + libcrmcommon: add PCMK_ACTION_RUNNING string constant - + libcrmcommon: add pcmk_action_shutdown to enum action_tasks - + libcrmcommon: add PCMK_ACTION_START string constant - + libcrmcommon: add pcmk_action_start to enum action_tasks - + libcrmcommon: add pcmk_action_started to enum action_tasks - + libcrmcommon: add PCMK_ACTION_STATUS string constant - + libcrmcommon: add PCMK_ACTION_STONITH string constant - + libcrmcommon: add PCMK_ACTION_STOP string constant - + libcrmcommon: add pcmk_action_stop to enum action_tasks - + libcrmcommon: add PCMK_ACTION_STOPPED string constant - + libcrmcommon: add pcmk_action_stopped to enum action_tasks - + libcrmcommon: add pcmk_action_t type - + libcrmcommon: add pcmk_action_unspecified to enum action_tasks - + libcrmcommon: add PCMK_ACTION_VALIDATE_ALL string constant - + libcrmcommon: add pcmk_assignment_methods_t type - + libcrmcommon: add PCMK_DEFAULT_ACTION_TIMEOUT_MS defined constant - + libcrmcommon: add pcmk_log_xml_as() - + libcrmcommon: add PCMK_META_CLONE_MAX string constant - + libcrmcommon: add PCMK_META_CLONE_MIN string constant - + libcrmcommon: add PCMK_META_CLONE_NODE_MAX string constant - + libcrmcommon: add PCMK_META_FAILURE_TIMEOUT string constant - + libcrmcommon: add PCMK_META_MIGRATION_THRESHOLD string constant - + libcrmcommon: add PCMK_META_PROMOTED_MAX string constant - + libcrmcommon: add PCMK_META_PROMOTED_NODE_MAX string constant - + libcrmcommon: add pcmk_multiply_active_block to enum rsc_recovery_type - + libcrmcommon: add pcmk_multiply_active_restart to enum rsc_recovery_type - + libcrmcommon: add pcmk_multiply_active_stop to enum rsc_recovery_type - + libcrmcommon: add pcmk_multiply_active_unexpected to enum rsc_recovery_type - + libcrmcommon: add PCMK_NODE_ATTR_TERMINATE string constant - + libcrmcommon: add pcmk_node_t type - + libcrmcommon: add pcmk_node_variant_cluster - + libcrmcommon: add pcmk_node_variant_remote - + libcrmcommon: add pcmk_no_action_flags - + libcrmcommon: add pcmk_no_quorum_demote - + libcrmcommon: add pcmk_no_quorum_fence - + libcrmcommon: add pcmk_no_quorum_freeze - + libcrmcommon: add pcmk_no_quorum_ignore - + libcrmcommon: add pcmk_no_quorum_stop - + libcrmcommon: add pcmk_on_fail_ban to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_block to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_demote to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_fence_node to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_ignore to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_reset_remote to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_restart to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_restart_container to enum action_fail_response - + libcrmcommon: add pcmk_on_fail_standby_node to action_fail_response - + libcrmcommon: add pcmk_on_fail_stop to enum action_fail_response - + libcrmcommon: add pcmk_probe_always to enum pe_discover_e - + libcrmcommon: add pcmk_probe_exclusive to enum pe_discover_e - + libcrmcommon: add pcmk_probe_never to enum pe_discover_e - + libcrmcommon: add pcmk_requires_fencing to enum rsc_start_requirement - + libcrmcommon: add pcmk_requires_nothing to enum rsc_start_requirement - + libcrmcommon: add pcmk_requires_quorum to enum rsc_start_requirement - + libcrmcommon: add pcmk_resource_t type - + libcrmcommon: add pcmk_role_promoted to enum rsc_role_e - + libcrmcommon: add pcmk_role_started to enum rsc_role_e - + libcrmcommon: add pcmk_role_stopped to enum rsc_role_e - + libcrmcommon: add pcmk_role_unknown to enum rsc_role_e - + libcrmcommon: add pcmk_role_unpromoted to enum rsc_role_e - + libcrmcommon: add pcmk_rsc_match_anon_basename - + libcrmcommon: add pcmk_rsc_match_basename - + libcrmcommon: add pcmk_rsc_match_clone_only - + libcrmcommon: add pcmk_rsc_match_current_node - + libcrmcommon: add pcmk_rsc_match_history - + libcrmcommon: add pcmk_rsc_methods_t type - + libcrmcommon: add pcmk_rsc_variant_bundle - + libcrmcommon: add pcmk_rsc_variant_clone - + libcrmcommon: add pcmk_rsc_variant_group - + libcrmcommon: add pcmk_rsc_variant_primitive - + libcrmcommon: add pcmk_rsc_variant_unknown - + libcrmcommon: add pcmk_scheduler_t type - + libcrmcommon: add pcmk_tag_t type - + libcrmcommon: add pcmk_ticket_t type - + libcrmcommon: add PCMK_XA_FORMAT string constant - + libcrmcommon: crm_ipc_send()'s message argument is now const - + libcrmcommon: deprecate action_demote in enum action_tasks - + libcrmcommon: deprecate action_demoted in enum action_tasks - + libcrmcommon: deprecate action_fail_block in enum action_fail_response - + libcrmcommon: deprecate action_fail_demote in enum action_fail_response - + libcrmcommon: deprecate action_fail_fence in enum action_fail_response - + libcrmcommon: deprecate action_fail_ignore in enum action_fail_response - + libcrmcommon: deprecate action_fail_migrate in enum action_fail_response - + libcrmcommon: deprecate action_fail_recover in enum action_fail_response - + libcrmcommon: deprecate action_fail_reset_remote in enum action_fail_response - + libcrmcommon: deprecate action_fail_standby in enum action_fail_response - + libcrmcommon: deprecate action_fail_stop in action_fail_response - + libcrmcommon: deprecate action_notified in enum action_tasks - + libcrmcommon: deprecate action_notify in enum action_tasks - + libcrmcommon: deprecate action_promote in enum action_tasks - + libcrmcommon: deprecate action_promoted in enum action_tasks - + libcrmcommon: deprecate action_restart_container in enum action_fail_response - + libcrmcommon: deprecate CRMD_ACTION_CANCEL string constant - + libcrmcommon: deprecate CRMD_ACTION_DELETE string constant - + libcrmcommon: deprecate CRMD_ACTION_DEMOTE string constant - + libcrmcommon: deprecate CRMD_ACTION_DEMOTED string constant - + libcrmcommon: deprecate CRMD_ACTION_METADATA string constant - + libcrmcommon: deprecate CRMD_ACTION_MIGRATE string constant - + libcrmcommon: deprecate CRMD_ACTION_MIGRATED string constant - + libcrmcommon: deprecate CRMD_ACTION_NOTIFIED string constant - + libcrmcommon: deprecate CRMD_ACTION_NOTIFY string constant - + libcrmcommon: deprecate CRMD_ACTION_PROMOTE string constant - + libcrmcommon: deprecate CRMD_ACTION_PROMOTED string constant - + libcrmcommon: deprecate CRMD_ACTION_RELOAD string constant - + libcrmcommon: deprecate CRMD_ACTION_RELOAD_AGENT string constant - + libcrmcommon: deprecate CRMD_ACTION_START string constant - + libcrmcommon: deprecate CRMD_ACTION_STARTED string constant - + libcrmcommon: deprecate CRMD_ACTION_STATUS string constant - + libcrmcommon: deprecate CRMD_ACTION_STOP string constant - + libcrmcommon: deprecate CRMD_ACTION_STOPPED string constant - + libcrmcommon: deprecate CRMD_METADATA_CALL_TIMEOUT defined constant - + libcrmcommon: deprecate crm_action_str() - + libcrmcommon: deprecate CRM_DEFAULT_OP_TIMEOUT_S string constant - + libcrmcommon: deprecate crm_element_name() - + libcrmcommon: deprecate CRM_OP_FENCE string constant - + libcrmcommon: deprecate CRM_OP_RELAXED_CLONE string constant - + libcrmcommon: deprecate CRM_OP_RELAXED_SET string constant - + libcrmcommon: deprecate crm_xml_replace() - + libcrmcommon: deprecate enum pe_link_state - + libcrmcommon: deprecate getDocPtr() - + libcrmcommon: deprecate monitor_rsc in enum action_tasks - + libcrmcommon: deprecate node_member - + libcrmcommon: deprecate node_remote - + libcrmcommon: deprecate no_action in enum action_tasks - + libcrmcommon: deprecate no_quorum_demote - + libcrmcommon: deprecate no_quorum_freeze - + libcrmcommon: deprecate no_quorum_ignore - + libcrmcommon: deprecate no_quorum_stop - + libcrmcommon: deprecate no_quorum_suicide - + libcrmcommon: deprecate pcmk_log_xml_impl() - + libcrmcommon: deprecate pcmk_scheduler_t localhost member - + libcrmcommon: deprecate pe_action_dangle - + libcrmcommon: deprecate pe_action_dc - + libcrmcommon: deprecate pe_action_dedup - + libcrmcommon: deprecate pe_action_dumped - + libcrmcommon: deprecate pe_action_have_node_attrs - + libcrmcommon: deprecate pe_action_implied_by_stonith - + libcrmcommon: deprecate pe_action_migrate_runnable - + libcrmcommon: deprecate pe_action_optional - + libcrmcommon: deprecate pe_action_print_always - + libcrmcommon: deprecate pe_action_processed - + libcrmcommon: deprecate pe_action_pseudo - + libcrmcommon: deprecate pe_action_requires_any - + libcrmcommon: deprecate pe_action_reschedule - + libcrmcommon: deprecate pe_action_runnable - + libcrmcommon: deprecate pe_action_tracking - + libcrmcommon: deprecate pe_clone - + libcrmcommon: deprecate pe_container - + libcrmcommon: deprecate pe_discover_always in enum pe_discover_e - + libcrmcommon: deprecate pe_discover_exclusive in enum pe_discover_e - + libcrmcommon: deprecate pe_discover_never in enum pe_discover_e - + libcrmcommon: deprecate pe_find_anon - + libcrmcommon: deprecate pe_find_any - + libcrmcommon: deprecate pe_find_clone - + libcrmcommon: deprecate pe_find_current - + libcrmcommon: deprecate pe_find_inactive - + libcrmcommon: deprecate pe_find_renamed - + libcrmcommon: deprecate pe_group - + libcrmcommon: deprecate pe_native - + libcrmcommon: deprecate pe_unknown - + libcrmcommon: deprecate recovery_block in enum rsc_recovery_type - + libcrmcommon: deprecate recovery_stop_only in enum rsc_recovery_type - + libcrmcommon: deprecate recovery_stop_start in enum rsc_recovery_type - + libcrmcommon: deprecate recovery_stop_unexpected in enum rsc_recovery_type - + libcrmcommon: deprecate RSC_CANCEL string constant - + libcrmcommon: deprecate RSC_DELETE string constant - + libcrmcommon: deprecate RSC_DEMOTE string constant - + libcrmcommon: deprecate RSC_DEMOTED string constant - + libcrmcommon: deprecate RSC_METADATA string constant - + libcrmcommon: deprecate RSC_MIGRATE string constant - + libcrmcommon: deprecate RSC_MIGRATED string constant - + libcrmcommon: deprecate RSC_NOTIFIED string constant - + libcrmcommon: deprecate RSC_NOTIFY string constant - + libcrmcommon: deprecate RSC_PROMOTE string constant - + libcrmcommon: deprecate RSC_PROMOTED string constant - + libcrmcommon: deprecate rsc_req_nothing in enum rsc_start_requirement - + libcrmcommon: deprecate rsc_req_quorum in enum rsc_start_requirement - + libcrmcommon: deprecate rsc_req_stonith in enum rsc_start_requirement - + libcrmcommon: deprecate RSC_ROLE_PROMOTED in enum rsc_role_e - + libcrmcommon: deprecate RSC_ROLE_STARTED in enum rsc_role_e - + libcrmcommon: deprecate RSC_ROLE_STOPPED in enum rsc_role_e - + libcrmcommon: deprecate RSC_ROLE_UNKNOWN in enum rsc_role_e - + libcrmcommon: deprecate RSC_ROLE_UNPROMOTED - + libcrmcommon: deprecate RSC_START string constant - + libcrmcommon: deprecate RSC_STARTED string constant - + libcrmcommon: deprecate RSC_STATUS string constant - + libcrmcommon: deprecate RSC_STOP string constant - + libcrmcommon: deprecate RSC_STOPPED string constant - + libcrmcommon: deprecate shutdown_crm in enum action_tasks - + libcrmcommon: deprecate started_rsc in enum action_tasks - + libcrmcommon: deprecate start_rsc in enum action_tasks - + libcrmcommon: deprecate stonith_node in enum action_tasks - + libcrmcommon: deprecate stopped_rsc in enum action_tasks - + libcrmcommon: deprecate stop_rsc in enum action_tasks - + libcrmcommon: deprecate TYPE() macro - + libcrmcommon: deprecate XML_ATTR_VERBOSE string constant - + libcrmcommon: deprecate XML_CIB_ATTR_SOURCE string constant - + libcrmcommon: deprecate XML_CIB_TAG_DOMAINS string constant - + libcrmcommon: deprecate xml_has_children() - + libcrmcommon: deprecate XML_NODE_EXPECTED string constant - + libcrmcommon: deprecate XML_NODE_IN_CLUSTER string constant - + libcrmcommon: deprecate XML_NODE_IS_PEER string constant - + libcrmcommon: deprecate XML_NODE_JOIN_STATE string constant - + libcrmcommon: deprecate XML_RSC_ATTR_FAIL_STICKINESS string constant - + libcrmcommon: deprecate XML_RSC_ATTR_FAIL_TIMEOUT string constant - + libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_MAX string constant - + libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_MIN string constant - + libcrmcommon: deprecate XML_RSC_ATTR_INCARNATION_NODEMAX string constant - + libcrmcommon: deprecate XML_RSC_ATTR_PROMOTED_MAX string constant - + libcrmcommon: deprecate XML_RSC_ATTR_PROMOTED_NODEMAX string constant - + libcrmcommon: deprecate XML_TAG_DIFF_ADDED string constant - + libcrmcommon: deprecate XML_TAG_DIFF_REMOVED string constant - + libcrmcommon: deprecate XML_TAG_FRAGMENT - + libcrmcommon: dump_xml_formatted()'s argument is now const - + libcrmcommon: dump_xml_formatted_with_text()'s argument is const - + libcrmcommon: dump_xml_unformatted()'s argument is now const - + libcrmcommon: save_xml_to_file()'s xml argument is now const - + libcrmcommon: validate_xml_verbose()'s xml_blob argument is const - + libcrmcommon: write_xml_fd()'s xml argument is now const - + libcrmcommon: write_xml_file()'s xml argument is now const - + libcrmcommon: xml_top argument of xpath_search() is now const - + libcrmcommon,libpe_rules,libpe_status: move enum pe_ordering, struct - pe_action_wrapper_s, struct pe_tag_s, struct pe_ticket_s, struct - resource_object_functions_s, enum node_type, enum pe_action_flags, enum - pe_discover_e, enum pe_find, enum pe_link_state, enum pe_obj_types, enum - pe_quorum_policy, enum pe_restart, struct pe_action_s, struct pe_node_s, - struct pe_node_shared_s, struct pe_resource_s, struct pe_working_set_s, - enum action_fail_response, enum action_tasks, enum pe_print_options, enum - rsc_recovery_type, enum rsc_role_e, and enum rsc_start_requirement to - libcrmcommon - + libpacemaker,libpe_rules,libpe_status: use pcmk_action_t instead of - pe_action_t, pcmk_node_t instead of pe_node_t, pcmk_resource_t instead of - pe_resource_t, and pcmk_scheduler_t instead of pe_working_set_t in all API - structs and functions - + libpacemaker: add pcmk_list_alternatives(), pcmk_list_providers(), - pcmk_list_standards(), and pcmk_list_agents() for functionality equivalent - to crm_resource --list-ocf-alternatives, --list-ocf-providers, - --list-standards, and --list-agents - + libpe_rules,libpe_status: deprecate pe_action_t type - + libpe_rules,libpe_status: deprecate pe_action_wrapper_t - + libpe_rules,libpe_status: deprecate pe_node_t type - + libpe_rules,libpe_status: deprecate pe_resource_t type - + libpe_rules,libpe_status: deprecate pe_tag_t - + libpe_rules,libpe_status: deprecate pe_ticket_t - + libpe_rules,libpe_status: deprecate pe_working_set_t type - + libpe_rules,libpe_status: deprecate resource_alloc_functions_t type - + libpe_rules,libpe_status: deprecate resource_object_functions_t - + libpe_status,libpe_rules: deprecate enum pe_ordering and all its values - + libpe_status,libpe_rules: deprecate RSC_ROLE_MAX - + libpe_status,libpe_rules: deprecate RSC_ROLE_PROMOTED_LEGACY_S string constant - + libpe_status,libpe_rules: deprecate RSC_ROLE_PROMOTED_S string constant - + libpe_status,libpe_rules: deprecate RSC_ROLE_STARTED_S string constant - + libpe_status,libpe_rules: deprecate RSC_ROLE_STOPPED_S string constant - + libpe_status,libpe_rules: deprecate RSC_ROLE_UNKNOWN_S - + libpe_status,libpe_rules: deprecate RSC_ROLE_UNPROMOTED_LEGACY_S string constant - + libpe_status,libpe_rules: deprecate RSC_ROLE_UNPROMOTED_S string constant - + libpe_status: deprecate enum pe_check_parameters - + libpe_status: deprecate pe_flag_check_config - + libpe_status: deprecate pe_flag_concurrent_fencing - + libpe_status: deprecate pe_flag_enable_unfencing - + libpe_status: deprecate pe_flag_have_quorum - + libpe_status: deprecate pe_flag_have_remote_nodes - + libpe_status: deprecate pe_flag_have_status - + libpe_status: deprecate pe_flag_have_stonith_resource - + libpe_status: deprecate pe_flag_maintenance_mode - + libpe_status: deprecate pe_flag_no_compat - + libpe_status: deprecate pe_flag_no_counts - + libpe_status: deprecate pe_flag_quick_location - + libpe_status: deprecate pe_flag_sanitized - + libpe_status: deprecate pe_flag_show_scores - + libpe_status: deprecate pe_flag_show_utilization - + libpe_status: deprecate pe_flag_shutdown_lock - + libpe_status: deprecate pe_flag_startup_fencing - + libpe_status: deprecate pe_flag_startup_probes - + libpe_status: deprecate pe_flag_start_failure_fatal - + libpe_status: deprecate pe_flag_stonith_enabled - + libpe_status: deprecate pe_flag_stop_action_orphans - + libpe_status: deprecate pe_flag_stop_everything - + libpe_status: deprecate pe_flag_stop_rsc_orphans - + libpe_status: deprecate pe_flag_symmetric_cluster - + libpe_status: deprecate pe_rsc_allow_migrate - + libpe_status: deprecate pe_rsc_allow_remote_remotes - + libpe_status: deprecate pe_rsc_assigning - + libpe_status: deprecate pe_rsc_block - + libpe_status: deprecate pe_rsc_critical - + libpe_status: deprecate pe_rsc_detect_loop - + libpe_status: deprecate pe_rsc_failed - + libpe_status: deprecate pe_rsc_failure_ignored - + libpe_status: deprecate pe_rsc_fence_device - + libpe_status: deprecate pe_rsc_is_container - + libpe_status: deprecate pe_rsc_maintenance - + libpe_status: deprecate pe_rsc_managed - + libpe_status: deprecate pe_rsc_merging - + libpe_status: deprecate pe_rsc_needs_fencing - + libpe_status: deprecate pe_rsc_needs_quorum - + libpe_status: deprecate pe_rsc_needs_unfencing - + libpe_status: deprecate pe_rsc_notify - + libpe_status: deprecate pe_rsc_orphan - + libpe_status: deprecate pe_rsc_orphan_container_filler - + libpe_status: deprecate pe_rsc_promotable - + libpe_status: deprecate pe_rsc_provisional - + libpe_status: deprecate pe_rsc_reload - + libpe_status: deprecate pe_rsc_replica_container - + libpe_status: deprecate pe_rsc_restarting - + libpe_status: deprecate pe_rsc_runnable - + libpe_status: deprecate pe_rsc_start_pending - + libpe_status: deprecate pe_rsc_stop - + libpe_status: deprecate pe_rsc_stop_unexpected - + libpe_status: deprecate pe_rsc_unique - -* Wed May 24 2023 Ken Gaillot Pacemaker-2.1.6 -- 1124 commits with 402 files changed, 25220 insertions(+), 14751 deletions(-) - -- Features added since Pacemaker-2.1.5 - + CIB: deprecate "moon" in date_spec elements in rules - + CIB: deprecate support for Nagios resources - + CIB: utilization attributes may be set as transient - + CIB: alerts and alert recipients support an "enabled" meta-attribute - + All daemons support --output-as/--output-to options including - XML output with interactive options - + tools: attrd_updater supports --wait parameter that can be set to - "no" (return immediately after submitting request, which is - the default and previous behavior), "local" (return after the - new value has taken effect on the local node), or "cluster" (return - after new value has taken effect on all nodes) - + tools: attrd_updater supports -z/--utilization to modify utilization - attributes - + tools: attrd_updater supports --pattern to affect all attributes - matching a given pattern - + tools: crm_attribute supports --pattern with permanent node attributes - (in addition to previous support for transient attributes) - + tools: crm_mon displays resource descriptions if --show-description or - --show-detail is given - + tools: crm_mon shows maintenance mode when enabled per-resource - + tools: crm_mon --interval can be used to update XML and text output - (in addition to previous support for HTML) - + tools: crm_mon fencing history includes microseconds in timestamps - + tools: crm_mon shows which node it was run on - + tools: crm_mon shows whether Pacemaker or Pacemaker Remote is running or - shutting down - + tools: deprecate crm_mon --simple-status - + tools: crm_resource --element option can be used with --get-parameter, - --set-parameter, and --delete-parameter to modify resource - properties such as class, provider, type, and description - + tools: crm_resource --list shows resource descriptions better - (including when --output-as=xml is used) - + tools: crm_shadow supports standard --output-as/--output-to arguments - -- Fixes since Pacemaker-2.1.5 - + pacemakerd: -S should wait for cluster to shut down before returning - (regression introduced in 2.1.1) - + Pacemaker Remote: remote nodes wait for all-clear from cluster before - shutting down (regression introduced in 2.1.5) - + tools: attrd_updater --query without --node shows attributes from all - nodes instead of local node (regression introduced in 2.1.5) - + pacemaker-attrd: Preserve a Pacemaker Remote node's transient attributes - if its connection to the cluster is lost but reconnects - + CIB manager: successful CIB schema upgrade always forces a write - + controller: avoid election storm when joining node has CIB newer than DC - can accept - + controller: avoid election storm due to incompatible CIB - + controller: avoid use-after-free when disconnecting proxy IPCs during shutdown - + controller: avoid double-incrementing failcount for simulated failures - + controller: avoid reprobing remote nodes when target is a cluster node - + controller: delay join finalization if a transition is in progress - + controller: initial fencing timeout includes any priority-fencing-delay - + controller: shutdown gracefully if scheduler connection is interrupted - during shutdown - + fencer: avoid crash during shutdown when action is pending - + fencer: calculate fencing timeout correctly when watchdog is used with - topology - + fencer: apply priority-fencing-delay only to first device tried - + fencer: total and per-device fencing timeouts include any - priority-fencing-delay and pcmk_delay_base - + scheduler: fix a number of corner cases with colocations, including - preventing a resource from starting if it has a mandatory - colocation with a group whose start is blocked, preventing - optional anti-colocation from overriding infinite stickiness, - and correctly considering a group's colocation dependents - when the group is itself colocated with a clone - + scheduler: honor as many mandatory colocations as possible before - considering any optional ones - + scheduler: ensure earlier group member starts occur after later member stops - + scheduler: handle orderings with bundles more correctly - + scheduler: ensure expired results never affect resource state - + scheduler: handle cleaned migrate_from history correctly - + scheduler: prevent pending monitor of one clone instance from causing - unexpected stop of other instances - + scheduler: prevent inactive clone instances from starting if probe is - unrunnable on any node - + agents: SysInfo calculates cpu_load correctly - + tools: cibadmin --scope accepts status - + tools: crm_attribute -p "" works same as -p when called from resource agent - + tools: crm_attribute recognizes "-INFINITY" as value instead of options - + tools: crm_mon avoids displaying recurring monitors as pending if first - attempt fails - + tools: crm_mon --daemonize shows disconnected message when CIB connection - is lost instead of continuing to display last known state - + tools: crm_mon avoids crash when built without curses library support - + tools: crm_mon supports --output-as=none correctly - + tools: crm_resource --ban or --move works with single-replica bundles - + tools: crm_shadow --commit now works with CIB_file - + tools: crm_simulate failure injection avoids crash if node name is unknown - -- Public API changes since Pacemaker-2.1.5 - + Python: New "pacemaker" Python module (packaged as python3-pacemaker in - RPMs built with "make rpm") contains supported public API with - BuildOptions and ExitStatus classes - + libcib: add client_id() method member to cib_api_operations_t - + libcib: deprecate cib_database - + libcib: deprecate cib_quorum_override - + libcib: deprecate the cib_api_operations_t:update() method - + libcrmcluster: add pcmk_cluster_new() - + libcrmcluster: add crm_join_nack_quiet - + libcrmcluster: add pcmk_cluster_free() - + libcrmcluster: node argument to send_cluster_message() is now const - + libcrmcluster: node argument to send_cluster_text() is now const - + libcrmcommon: add crm_time_usecs - + libcrmcommon: add PCMK_META_ENABLED - + libcrmcommon: add pcmk_pacemakerd_state_remote - + libcrmcommon: add pcmk_rc_bad_xml_patch - + libcrmcommon: add pcmk_rc_bad_input - + libcrmcommon: add pcmk_rc_disabled - + libcrmcommon: deprecate add_xml_nocopy() - + libcrmcommon: deprecate log_data_element() - + libcrmcommon: deprecate PCMK_RESOURCE_CLASS_NAGIOS - + libcrmcommon: deprecate PCMK_RESOURCE_CLASS_UPSTART - + libcrmcommon: deprecate XML_ATTR_UUID - + libcrmcommon: deprecate XML_CIB_ATTR_REPLACE - + libcrmcommon: deprecate xml_log_changes() - + libcrmcommon: deprecate xml_log_options enum - + libcrmcommon: deprecate xml_log_patchset() - + libcrmcommon: argument to pcmk_xe_is_probe() is now const - + libcrmcommon: argument to pcmk_xe_mask_probe_failure() is now const - + libcrmcommon: patchset argument of xml_log_patchset() is now const - + libcrmcommon: rsc_op_expected_rc() argument is now const - + libcrmcommon: second argument to copy_in_properties() is now const - + libcrmcommon: xml argument of xml_log_changes() is now const - + libcrmservice: deprecate enum nagios_exitcode - + libpacemaker: add pcmk_query_node_info() - + libpacemaker: add pcmk_query_node_name() - + libpacemaker: multiple arguments to pcmk_simulate() are now const - + libpacemaker: node argument to pcmk_resource_digests() is now const - + libpacemaker: node_types argument to pcmk_list_nodes() is now const - + libpacemaker: pcmk_controller_status() node name arg is now const - + libpe_rules: last argument to pe_expand_re_matches() is now const - + libpe_rules: rule_data argument to pe_eval_nvpairs() is now const - + libpe_rules: second argument to pe_eval_expr() and pe_eval_subexpr() is now const - + libpe_rules: second argument to pe_eval_rules() is now const - + libpe_rules: second argument to pe_unpack_nvpairs() is now const - + libpe_status: add pe_rsc_detect_loop - + libpe_status: add pe_rsc_replica_container - + libpe_status: deprecate fixed member of pe_node_t - + libpe_status: argument to pe_rsc_is_bundled() is now const - + libpe_status: argument to rsc_printable_id() is now const - + libpe_status: first argument to calculate_active_ops() is now const - + libpe_status: first argument to pe_find_node() is now const - + libpe_status: first argument to pe_find_node_any() is now const - + libpe_status: first argument to pe_find_node_id() is now const - + libpe_status: first argument to resource_object_functions_t:is_filtered() is now const - -* Wed Dec 7 2022 Ken Gaillot Pacemaker-2.1.5 -- 1287 commits with 447 files changed, 33546 insertions(+), 21518 deletions(-) - -- Features added since Pacemaker-2.1.4 - + CIB: access control lists (ACLs) for groups are supported - + CIB: ACL target and group XML supports "name" attribute to specify a name - that is not a unique XML ID - + CIB: deprecate pacemaker-next schema - + CIB: deprecate first-instance and then-instance in ordering constraints - and rsc-instance and with-rsc-instance in colocation constraints - (only usable with pacemaker-next schema) - + CIB: deprecate "collocated" and "ordered" meta-attributes for groups - (true is default, and resource sets should be used instead of false) - + build: support building with -D_TIME_BITS=64 - + build: support building with compilers that are strict about void - + build: allow building RPMs from source distribution - + fencer: deprecate stand-alone mode - + agents: ClusterMon, controld, HealthCPU, ifspeed, and SysInfo agents support - OCF 1.1 standard - + agents: non-functional SystemHealth agent has been removed - + tools: non-functional ipmiservicelogd and notifyServicelogEvent tools have - been removed - + tools: crm_attribute supports querying all attributes on a given node - + tools: crm_attribute --query, --delete, and --update support - regular expressions - + tools: crm_error supports standard --output-as/--output-to arguments - + tools: crm_error lists all return codes if none are specified - + tools: crm_mon --show-detail displays the CRM feature set of each node - and makes display of fencing actions more technical - + tools: crm_resource --why checks node health - + tools: crm_resource --constraints now accepts --recursive (equivalent to - --stack) and --force (to show constraints for a group member - instead of the group) - -- Fixes since Pacemaker-2.1.4 - + tools: crm_error does not print spurious output when given a negative - return code argument (regression introduced in 2.0.4) - + tools: avoid crash if crm_resource is given extraneous arguments - (regression introduced in 2.0.5) - + tools: stonith_admin --validate XML output shows correct validation status - and errors (regressions introduced in 2.0.5 and 2.1.2) - + tools: crm_resource --list-operations shows pending operations as pending - instead of complete (regression introduced in 2.1.0) - + controller: move resources if appropriate after they are reordered in CIB - (regression introduced in 2.1.3) - + fencing: allow fence devices to be registered if local node is not in CIB - (regression introduced in 2.1.3) - + tools: crm_mon --one-shot should succeed even if pacemaker is shutting down - (regression introduced in 2.1.3) - + tools: avoid memory leak in crm_mon (regression introduced in 2.1.3) - + tools: crm_attribute --quiet outputs nothing instead of "(null)" if - attribute has no value (regression introduced in 2.1.3) - + tools: accept deprecated and unused attrd_updater --quiet option - (regression introduced in 2.1.3) - + CIB: avoid crashes when XML IDs grow very long - + controller: pre-load agent metadata asynchronously to avoid timeout when - agent's metadata action runs crm_node - + controller: avoid timing issue that increments resource fail count twice - + fencing: unfence all nodes after device configuration changes - + fencing: ignore node that executed action when checking whether actions - are equivalent - + scheduler,controller: calculate secure digest consistently - + scheduler: consider roles when blocking colocation dependents - + scheduler: prioritize group colocations properly - + scheduler: properly consider effect of "with group" colocations - + scheduler: handle corner cases in live migrations - + scheduler: avoid perpetual moving of bundle containers in certain situations - + scheduler: properly calculate resource parameter digests without history - + scheduler: do not enforce stop if newer monitor indicates resource was not - running on target of failed migrate_to - + scheduler: do not enforce stop on rejoined node after failed migrate_to - + scheduler: don't demote on expected node when multiple-active is set to - stop_unexpected - + scheduler: prevent resources running on multiple nodes after partial live - migration - + scheduler: restart resource instead of reload if extra parameters in - operation change - + schemas: Consider days, minutes, seconds, and yeardays in date expressions - valid - + schemas: Consider in_range with an end and duration valid - + schemas: Consider score and score-attribute optional in rules - + tools: crm_resource --digests uses most recent operation history entry - + tools: if multiple return code options are given to crm_error, use the - last one - + tools: crm_resource correctly detects if a resource is unmanaged - or disabled even if there are multiple settings using rules - -- Public API changes since Pacemaker-2.1.4 - + libcib: add cib_api_operations_t:set_primary - + libcib: add cib_api_operations_t:set_secondary - + libcib: deprecate cib_api_operations_t:delete_absolute() - + libcib: deprecate cib_api_operations_t:is_master - + libcib: deprecate cib_api_operations_t:set_master - + libcib: deprecate cib_api_operations_t:set_slave - + libcib: deprecate cib_api_operations_t:set_slave_all - + libcrmcommon: deprecated XML_CIB_TAG_MASTER constant is usable again - (regression introduced in 2.1.0) - + libcrmcommon: pcmk_ipc_api_t supports attribute manager IPC - + libcrmcommon: add pcmk_rc_unpack_error - + libcrmcommon: add CRM_EX_FAILED_PROMOTED - + libcrmcommon: add CRM_EX_NONE - + libcrmcommon: add CRM_EX_PROMOTED - + libcrmcommon: add pcmk_readable_score() - + libcrmcommon: add PCMK_XA_PROMOTED_MAX_LEGACY string constant - + libcrmcommon: add PCMK_XA_PROMOTED_NODE_MAX_LEGACY string constant - + libcrmcommon: argument to crm_time_check() is now const - + libcrmcommon: argument to pcmk_controld_api_replies_expected() is now const - + libcrmcommon: argument to pcmk_xml_attrs2nvpairs() is now const - + libcrmcommon: argument to xml2list() is now const - + libcrmcommon: argument to xml_acl_denied() is now const - + libcrmcommon: argument to xml_acl_enabled() is now const - + libcrmcommon: argument to xml_get_path() is now const - + libcrmcommon: arguments to crm_time_add() are now const - + libcrmcommon: arguments to crm_time_compare() are now const - + libcrmcommon: arguments to crm_time_subtract() are now const - + libcrmcommon: argv argument to crm_log_preinit() is now char *const * - + libcrmcommon: crm_time_calculate_duration() arguments are now const - + libcrmcommon: deprecate CRM_ATTR_RA_VERSION - + libcrmcommon: deprecate crm_destroy_xml() - + libcrmcommon: deprecate crm_ipc_server_error - + libcrmcommon: deprecate crm_ipc_server_info - + libcrmcommon: deprecate CRM_OP_LRM_QUERY - + libcrmcommon: deprecate crm_str() - + libcrmcommon: deprecate PCMK_XE_PROMOTED_MAX_LEGACY string constant - + libcrmcommon: deprecate PCMK_XE_PROMOTED_NODE_MAX_LEGACY constant - + libcrmcommon: deprecate score2char() - + libcrmcommon: deprecate score2char_stack() - + libcrmcommon: deprecate XML_ATTR_RA_VERSION - + libcrmcommon: deprecate xml_get_path() - + libcrmcommon: deprecate XML_PARANOIA_CHECKS - + libcrmcommon: deprecate XML_TAG_OP_VER_ATTRS - + libcrmcommon: deprecate XML_TAG_OP_VER_META - + libcrmcommon: deprecate XML_TAG_RSC_VER_ATTRS - + libcrmcommon: dt argument of crm_time_get_gregorian() is now const - + libcrmcommon: dt argument of crm_time_get_isoweek() is now const - + libcrmcommon: dt argument of crm_time_get_ordinal() is now const - + libcrmcommon: dt argument of crm_time_get_timeofday() is now const - + libcrmcommon: dt argument of crm_time_get_timezone() is now const - + libcrmcommon: first argument to create_reply() is now const - + libcrmcommon: first argument to crm_copy_xml_element() is now const - + libcrmcommon: first argument to find_xml_node() is now const - + libcrmcommon: first argument to get_message_xml() is now const - + libcrmcommon: first argument to pcmk_ipc_name() is now const - + libcrmcommon: first argument to xml_patch_versions() is now const - + libcrmcommon: last argument to crm_write_blackbox() is now const - + libcrmcommon: add pcmk_rc_duplicate_id - + libcrmcommon: add pcmk_result_get_strings() - + libcrmcommon: add pcmk_result_type enum - + libcrmcommon: add PCMK_XE_DATE_EXPRESSION constant - + libcrmcommon: add PCMK_XE_OP_EXPRESSION constant - + libcrmcommon: add PCMK_XE_RSC_EXPRESSION constant - + libcrmcommon: first argument to crm_time_as_string() is now const - + libcrmcommon: crm_time_t argument to crm_time_log_alias() is now const - + libcrmcommon: argument to crm_time_get_seconds() is now const - + libcrmcommon: argument to crm_time_get_seconds_since_epoch() is now const - + libcrmcommon: sixth argument to log_data_element() is now const - + libcrmcommon: source argument to crm_time_set() is now const - + libcrmcommon: source argument to crm_time_set_timet() is now const - + libcrmcommon: source argument to pcmk_copy_time() is now const - + libpacemaker: add pcmk_check_rule() - + libpacemaker: add pcmk_check_rules() - + libpacemaker: add pcmk_show_result_code() - + libpacemaker: add pcmk_list_result_codes() - + libpacemaker: add pcmk_rc_disp_flags enum - + libpacemaker: ipc_name argument to pcmk_pacemakerd_status() is now const - + libpe_rules: deprecate version_expr enum value - + libpe_rules: second argument to pe_eval_nvpairs() is now const - + libpe_status: argument to pe_rsc_is_anon_clone() is now const - + libpe_status: argument to pe_rsc_is_unique_clone() is now const - + libpe_status: deprecate enum pe_graph_flags - + libpe_status: first argument to pe_rsc_is_clone() is now const - + libpe_status: two arguments to get_rsc_attributes() are now const - + libpe_status: second argument to pe_eval_versioned_attributes() is now const - + libpe_status: second argument to pe_rsc_params() is now const - + libstonithd: deprecate stonith_event_t:message - + libstonithd: deprecate stonith_event_t:type - + libstonithd: last argument to stonith_api_operations_t:register_device() - is now const - + libstonithd: last argument to stonith_api_operations_t:register_level() is - now const - + libstonithd: last argument to - stonith_api_operations_t:register_level_full() is now const - + libstonithd: params argument to stonith_api_operations_t:validate() is now - const - -* Mon Jun 13 2022 Ken Gaillot Pacemaker-2.1.4 -- Changesets: 17 -- Diff: 9 files changed, 52 insertions(+), 18 deletions(-) - -- Fixes since Pacemaker-2.1.3 - + fencing: get target-by-attribute working again (regression in 2.1.3) - + fencing: avoid use-after-free when processing self-fencing requests - with topology (regression in 2.1.3) - + resources: typo in HealthSMART meta-data (regression in 2.1.3) - + fencing: avoid memory leaks when processing topology requests - + fencing: delegate shouldn't matter when checking equivalent fencing - + tools: fix CSS syntax error in crm_mon --output-as=html - -* Wed Jun 1 2022 Ken Gaillot Pacemaker-2.1.3 -- Changesets: 814 -- Diff: 332 files changed, 23435 insertions(+), 12137 deletions(-) - -- Features added since Pacemaker-2.1.2 - + Internal failures of resource actions (such as an OCF agent not being - found) are shown with a detailed exit reason in logs, crm_mon output, etc. - + Support for CIB entries with type="ping" is deprecated (this was an - undocumented means of defining a quorum-only node) - + build: configure script supports experimental --enable-nls option to - enable native language translations (currently only Chinese - translations of certain help text are available) - + rpm: crm_attribute is now part of the pacemaker-cli package instead of - the pacemaker package - + CIB: resources support allow-unhealthy-nodes meta-attribute to exempt - the resource from bans due to node health checks (particularly useful - for health monitoring resources themselves) - + CIB: multiple-active cluster property can be set to "stop_unexpected" to - leave the expected instance running and stop only any unexpected ones - + CIB: bundles support resource utilization - + pacemakerd: regularly check that subdaemons are active and accepting IPC - connections so sbd can self-fence a node with a malfunctioning - subdaemon - + pacemaker-schedulerd: support --output-as/--output-to options including - XML output with interactive options - + tools: cibadmin --show-access option to show CIB colorized for ACLs - + tools: crm_attribute supports standard --output-as/--output-to options - + tools: crm_mon output indicates if a node's health is yellow or red - + tools: for probes that failed because the service is not installed or - locally configured, crm_mon displays the resource as stopped rather - than failed - + tools: crm_rule supports standard --output-as/--output-to options, - allows passing multiple -r options, and is no longer experimental - + tools: stonith_admin fencing commands display reasons for failures - + resource agents: HealthSMART supports OCF 1.1 standard and new - OCF_RESKEY_dampen and OCF_RESKEY_smartctl parameters - -- Fixes since Pacemaker-2.1.2 - + build: avoid circular library dependency (regression introduced in 2.1.0) - + systemd: if pacemakerd exits immediately after starting, wait 1 second - before trying to respawn, and allow 5 attempts - + fencer: get fencing completion time correctly - (regression introduced in 2.1.2) - + fencer: avoid memory leak when broadcasting history differences - (regression introduced in 2.1.0) - + controller: correctly match "node down" events so remote nodes don't get - fenced when connection is stopped - (regression introduced in 2.1.2) - + executor: avoid possible double free during notify operation - (regression introduced in 2.1.1) - + tools: get stonith_admin -T/--tag option working again - (regression introduced in 2.0.3) - + resources: use correct syntax in Stateful meta-data - (regression introduced in 2.1.0) - + corosync: repeat corosync_cfg_trackstart if first attempt fails - + libcrmcommon: retry IPC requests after EAGAIN errors - + executor,scheduler: treat "no secrets" fence results as a hard error - + fencing: handle dynamic target query failures better - + fencing: don't set stonith action to pending if fork fails - + pacemakerd: avoid race condition when subdaemaon is checked while exiting - + scheduler: avoid memory leak when displaying clones in certain conditions - + scheduler: properly set data set flags when scheduling actions - + tools: support command-line crm_attribute calls on Pacemaker remote nodes - whose node name in the cluster differs from their local hostname - + tools: prevent possible crm_resource crashes if multiple commands specified - -- Public API changes since Pacemaker-2.1.2 - + libcrmcommon: pcmk_ipc_api_t supports scheduler IPC - + libpacemaker: add pcmk_status() (equivalent to crm_mon) - + libcib: deprecate get_object_parent() - + libcib: deprecate get_object_path() - + libcib: deprecate get_object_root() - + libcrmcommon: add pcmk_cib_parent_name_for() - + libcrmcommon: add pcmk_cib_xpath_for() - + libcrmcommon: add pcmk_find_cib_element() - + libcrmcommon: deprecate crm_xml_add_boolean() - + libpe_status: add pe_flag_check_config - + libpe_status: add pe_node_shared_s:data_set - + libpe_status: add pe_rsc_restarting flag - + libpe_status: add pe_rsc_stop_unexpected flag - + libpe_status: add recovery_stop_unexpected to enum rsc_recovery_type - + libpe_status: deprecate node_ping - + libpe_status: deprecate pe_order_stonith_stop - + libpe_status: deprecate pe_rsc_starting and pe_rsc_stopping - + libstonithd: add exit_reason member to stonith_history_t - + libstonithd: deprecate stonith_t:call_timeout - + libstonithd: stonith_api_del_notification() with NULL second argument - removes all notifications - -* Tue Nov 23 2021 Ken Gaillot Pacemaker-2.1.2 -- Changesets: 462 -- Diff: 223 files changed, 16518 insertions(+), 11743 deletions(-) - -- Features added since Pacemaker-2.1.1 - + build: when built with --with-initdir, Pacemaker uses the value to find - LSB resources (in addition to being where Pacemaker's own - init scripts are installed) - + build: cmocka is new dependency for unit tests ("make check") - + rpm: fence_watchdog now comes with pacemaker package (not pacemaker-cli) - + daemons: metadata for cluster options supports OCF 1.1 standard - + executor: nagios warning results now map to OCF "degraded" result code - + fencing: pcmk_delay_base can optionally specify different delays per node - + fencing: pcmk_host_map supports escaped characters such as spaces in values - + resources: HealthIOWait agent supports OCF 1.1 standard, and validate works - + tools: crm_mon shows exit reasons for actions failed due to internal errors - + tools: crm_mon failed action display is more human-friendly by default - + tools: crm_resource --force-* now outputs exit reasons if available - -- Fixes since Pacemaker-2.1.1 - + pkg-config: return correct value for ocfdir (regression introduced in 2.1.0) - + tools: fix crm_mon --hide-headers and related options - (regression introduced in 2.0.4) - + attrd: check election status upon node loss to avoid election timeout - + controller: improved handling of executor connection failures - + executor: properly detect systemd unit existence - + pacemakerd: recover properly from Corosync crash - + fencing: fencing results are now sorted with sub-second resolution - + fencing: fix fence_watchdog version output, metadata output, and man page - + fencing: mark state as done if remapped "on" times out - + tools: map LSB status to OCF correctly with crm_resource --force-check - -- Public API changes since Pacemaker-2.1.1 - + libcrmcommon: deprecate PCMK_OCF_EXEC_ERROR - + libcrmcommon: deprecate PCMK_OCF_PENDING - + libcrmcommon: deprecate PCMK_OCF_SIGNAL - + libcrmcommon: add CRM_EX_DEGRADED and CRM_EX_DEGRADED_PROMOTED - + libcrmcommon: add enum pcmk_exec_status - + libcrmcommon: add PCMK_EXEC_MAX - + libcrmcommon: add PCMK_EXEC_NO_FENCE_DEVICE - + libcrmcommon: add PCMK_EXEC_NO_SECRETS - + libcrmcommon: add pcmk_exec_status_str() - + libcrmcommon: add pcmk_rc2ocf() - + libcrmcommon: deprecate PCMK_OCF_TIMEOUT - + libcrmservice: add services_result2ocf() - + libcrmservice: deprecate enum op_status - + libcrmservice: deprecate LSB_ROOT_DIR - + libcrmservice: deprecate NAGIOS_NOT_INSTALLED - + libcrmservice: deprecate NAGIOS_STATE_DEPENDENT - + libcrmservice: deprecate services_get_ocf_exitcode() - + libcrmservice: deprecate services_list() and services_action_create() - + libcrmservice: deprecate services_lrm_status_str() - + libpacemaker: add enum pcmk_sim_flags - + libpacemaker: add pcmk_injections_t - + libpacemaker: add pcmk_free_injections() - + libpacemaker: add pcmk_simulate() - + libstonithd: add opaque member to stonith_event_t - + libstonithd: add opaque member to stonith_callback_data_t - -* Thu Sep 09 2021 Ken Gaillot Pacemaker-2.1.1 -- Changesets: 231 -- Diff: - 102 files changed, 4912 insertions(+), 3428 deletions(-) - -- Features added since Pacemaker-2.1.0 - + enhanced support for OCF Resource Agent API 1.1 standard - + ocf:pacemaker:attribute and ocf:pacemaker:ping agents now support 1.1 - + tools: crm_resource passes output format to agents so they will use it if - supported - + tools: crm_resource --validate and --force-check options accept optional - check level to pass to agent - + tools: crm_mon XML output includes stonith-timeout-ms and - priority-fencing-delay-ms cluster properties - + pacemakerd: support --output-as/--output-to options including XML output - with interactive options such as --features - -- Fixes since Pacemaker-2.1.0 - + pacemaker-attrd: avoid repeated unfencing of remote nodes when DC joined - cluster after remote was up - + controller: ensure newly joining node learns the node names of non-DCs - + controller: ensure lost node's transient attributes are cleared without DC - + scheduler: avoid invalid transition when group member is unmanaged - (CLBZ#5423) - + scheduler: don't schedule probes of unmanaged resources on pending nodes - + executor: avoid crash after TLS connection errors - (regression introduced in 2.0.4) - + fencing: avoid repeated attempts to get (nonexistent) meta-data for - watchdog device (regression introduced in 2.1.0) - + fencing: select correct device when pcmk_host_check="dynamic-list" and - pcmk_host_map are both specified (CLBZ#5474) - + tools: crm_attribute supports node attribute values starting with a '-' - again (regression introduced in 2.1.0) - + tools: crm_attribute deprecated --get-value option does not require an - argument (regression introduced in 2.1.0) - + tools: avoid crm_mon memory leaks when filtering by resource or node - (regressions introduced in 2.0.4 and 2.0.5) - + tools: exit with status 0 (not 64) for --version argument to crm_rule, - crm_error, crm_diff, and crm_node (regression introduced in 2.0.4) - and crm_attribute (regression introduced in 2.1.0) - + tools: crm_mon should show active unmanaged resources on offline nodes - without requiring -r/--inactive - + tools: better crm_resource error messages for unsupported resource types - + tools: crm_simulate --show-failcounts includes all relevant information - + tools: crm_mon should not show inactive group members without --inactive - + tools: crm_mon XML output should show members of cloned groups - + libcrmcommon: correctly handle case-sensitive XML IDs - -- Public API changes since Pacemaker-2.1.0 - + libcrmcommon: add pcmk_section_e type - + libcrmcommon: add pcmk_show_opt_e type - + libcrmcommon: add pcmk_pacemakerd_api_shutdown() - + libpe_status: deprecate enum pe_print_options - -* Tue Jun 08 2021 Ken Gaillot Pacemaker-2.1.0 -- Changesets: 849 -- Diff: 327 files changed, 22089 insertions(+), 12633 deletions(-) - -- Features added since Pacemaker-2.0.5 - + support for OCF Resource Agent API 1.1 standard - - allow Promoted and Unpromoted role names in CIB (in addition to Master - and Slave, which are deprecated), and use new role names in output, - logs, and constraints created by crm_resource --ban - - advertise 1.1 support to agents, and provide notify_promoted_* and - notify_unpromoted_* environment variables to agents with notify actions - - support "reloadable" parameter attribute and "reload-agent" action in - agents that advertise 1.1 support - - support 1.1 standard in ocf:pacemaker:Dummy, ocf:pacemaker:remote, and - ocf:pacemaker:Stateful resource agents - - add "promoted-only" (in addition to "master-only", which is deprecated) - in crm_mon XML output for bans - + support for noncritical resources - - colocation constraints accept an "influence" attribute that determines - whether dependent influences main resource's location (the default of - "true" preserves the previous behavior, while "false" makes the - dependent stop if it reaches its migration-threshold in failures rather - than cause both resources to move to another node) - - resources accept a "critical" meta-attribute that serves as default for - all colocation constraints involving the resource as the dependent, as - well as groups involving the resource - + detail log uses millisecond-resolution timestamps when Pacemaker is built - with libqb 2.0 or later - + CIB: deprecate the remove-after-stop cluster property, can_fail action - meta-attribute, and support for Upstart-based resources - + controller: the PCMK_panic_action environment variable may be set to - sync-crash or sync-reboot to attempt to synchronize local - disks before crashing or rebooting, which can be helpful to - record cached log messages but runs the risk of the sync - hanging and leaving the host running after a critical error - + tools: CIB_file="-" can be used to get the CIB from standard input - + tools: crmadmin, crm_resource, crm_simulate, and crm_verify support - standard --output-as/--output-to options (including XML output, - intended for parsing by scripts and higher-level tools) - + tools: crm_attribute accepts -p/--promotion option to operate on - promotion score (replacing crm_master, which is deprecated) - + tools: crm_resource accepts --promoted option (replacing --master, which - is deprecated) - + tools: crm_resource accepts --digests advanced option - + tools: crm_simulate accepts --show-attrs and --show-failcounts options - -- Build process changes since Pacemaker-2.0.5 - + Pacemaker requires newer versions of certain dependencies, including - Python 3.2 or later (support for Python 2 has been dropped), glib 2.32.0 - or later, libqb 0.17.0 or later, GnuTLS 2.12.0 or later (to enable - Pacemaker Remote support), rpm 4.11.0 (if building RPMs), and a C library - that provides setenv() and unsetenv() - + configure: --enable-legacy-links (which is deprecated) defaults to "no", - meaning that symbolic links will not be created for the - Pacemaker 1 daemon names - + configure: --enable-compat-2.0 prevents certain output changes (most - significantly role names) to maintain compatibility with older - tools, scripts, and resource agents that rely on previous output - + configure: --with-resource-stickiness-default sets a resource-stickiness - default in newly created CIBs - + configure: --with-concurrent-fencing-default specifies default for - concurrent-fencing cluster property - + configure: --with-sbd-sync-default specifies default for syncing start-up with sbd - + configure: --with-ocfrapath specifies resource agent directories to search - + configure: --with-ocfrainstalldir specifies where to install ocf:pacemaker agents - + configure: --with-gnutls="no" explicitly disables support for - Pacemaker Remote and the remote-tls-port cluster property - + configure: --with-acl has been removed (support for ACLs is always built) - + configure: deprecated --with-pkgname, --with-pkg-name, --with-brand, - --enable-ansi, and --enable-no-stack options have been removed - + environment variables file (typically /etc/sysconfig/pacemaker or - /etc/default/pacemaker) will be installed when "make install" is run - + documentation has dependency on python3-sphinx instead of publican, and is - generated beneath doc/sphinx - -- Fixes since Pacemaker-2.0.5 - + controller: always refresh agent meta-data after start, in case agent was - updated (regression introduced in 1.1.18) - + tools: avoid crash when running crm_mon in daemonized mode with CGI output - (regression introduced in 2.0.3) - + tools: correctly treat unspecified node as all nodes instead of local node - when attrd_updater --query or crm_resource --cleanup is run on a - Pacemaker Remote node (regressions introduced in 1.1.14 and 1.1.17) - + tools: exit with status 0 (not 64) for --version argument to crm_simulate - (regression introduced in 2.0.4) and crm_resource and crmadmin - (regression introduced in 2.0.5) - + pacemaker-attrd: avoid race condition where transient attributes for a - leaving node could be reinstated when the node rejoins, - potentially causing a node that was just rebooted to exit - the cluster immediately after rejoining - + controller,scheduler: fix year 2038 issues affecting shutdowns, - remote node fencing, last-rc-change, and - ticket last-granted dates - + controller: retry scheduler connection after failure, to avoid cluster - stopping on a node without stopping resources (clbz#5445) - + fencing: avoid pending fencing entry getting "stuck" in history if - originating node was unreachable when result was received - + fencing: retry getting agent meta-data if initial attempt fails - + fencing: detect when devices have been removed from configuration - + scheduler: constrain clone-min, clone-max, clone-node-max, promoted-max, - and promoted-node-max options to non-negative values - + scheduler: constrain resource priorities and node-health-base to score range - + scheduler: treat invalid duration fields in time-based rules as 0, not -1 - + scheduler: node attribute rule expressions with a value-source of "param" - or "meta" work when rsc or rsc-pattern with an inverted match - is given, as well as when rsc-pattern with a regular - match is given - + scheduler: node attribute rule expressions with a value-source of "param" - work with a resource parameter that itself is determined by a - node attribute rule expression - + scheduler: avoid remote connection shutdown hanging when connection - history for node hosting connection is not last in CIB status - + scheduler: route monitor cancellations behind moving remote connections correctly - + libcrmcommon: avoid potential integer overflow when adding seconds to times - + tools: cibsecret syncs to remote nodes and guest nodes as well as - cluster nodes - + tools: show other available cluster information in crm_mon even if - fence history is not available - + tools: retry failed fencer and CIB connections in crm_mon - + tools: crm_mon reports if Pacemaker is waiting for sbd at start-up - + tools: respect rules when showing node attributes in crm_mon - + tools: improve messages when crm_mon is run on disconnected remote node - + tools: constrain node IDs to non-negative values for crm_node -N - + tools: crm_node -l on restarted node works even when Corosync 2 is used - without node names specified in Corosync configuration - + tools: fix issues in calculation of non-sensitive resource parameter - digests that made crm_simulate wrongly think configuration changed - -- C API changes since Pacemaker-2.0.5 - + all: new PCMK_ALLOW_DEPRECATED constant controls API availability - + libcrmcluster: deprecate crm_terminate_member() - + libcrmcluster: deprecate crm_terminate_member_no_mainloop() - + libcrmcommon: add CRMD_ACTION_RELOAD_AGENT string constant - + libcrmcommon: add PCMK_OCF_MAJOR_VERSION string constant - + libcrmcommon: add PCMK_OCF_MINOR_VERSION string constant - + libcrmcommon: add PCMK_OCF_RUNNING_PROMOTED enum value - + libcrmcommon: add PCMK_OCF_VERSION string constant - + libcrmcommon: add PCMK_XE_PROMOTABLE_LEGACY string constant - + libcrmcommon: add PCMK_XE_PROMOTED_MAX_LEGACY string constant - + libcrmcommon: add PCMK_XE_PROMOTED_NODE_MAX_LEGACY string constant - + libcrmcommon: add enum ocf_exitcode (moved from libcrmservice) - + libcrmcommon: deprecate __builtin_expect() - + libcrmcommon: deprecate __likely() - + libcrmcommon: deprecate __unlikely() - + libcrmcommon: deprecate crm_atoi() - + libcrmcommon: deprecate crm_build_path() - + libcrmcommon: deprecate crm_config_error global variable - + libcrmcommon: deprecate crm_config_warning global variable - + libcrmcommon: deprecate crm_ftoa() - + libcrmcommon: deprecate crm_hash_table_size() - + libcrmcommon: deprecate crm_itoa() - + libcrmcommon: deprecate crm_itoa_stack() - + libcrmcommon: deprecate crm_log_cli_init() - + libcrmcommon: deprecate crm_parse_int() - + libcrmcommon: deprecate crm_parse_ll() - + libcrmcommon: deprecate crm_str_hash() - + libcrmcommon: deprecate crm_str_table_dup() - + libcrmcommon: deprecate crm_str_table_new() - + libcrmcommon: deprecate crm_strcase_equal() - + libcrmcommon: deprecate crm_strcase_hash() - + libcrmcommon: deprecate crm_strcase_table_new() - + libcrmcommon: deprecate crm_strip_trailing_newline() - + libcrmcommon: deprecate crm_ttoa() - + libcrmcommon: deprecate EOS constant - + libcrmcommon: deprecate GListPtr type - + libcrmcommon: deprecate g_str_hash_traditional() - + libcrmcommon: deprecate MAX_IPC_DELAY constant - + libcrmcommon: deprecate pcmk_format_named_time() - + libcrmcommon: deprecate pcmk_format_nvpair() - + libcrmcommon: deprecate pcmk_numeric_strcasecmp() - + libcrmcommon: deprecate PCMK_OCF_DEGRADED_MASTER enum value - + libcrmcommon: deprecate PCMK_OCF_FAILED_MASTER enum value - + libcrmcommon: deprecate PCMK_OCF_RUNNING_MASTER enum value - + libcrmcommon: deprecate pcmk_scan_nvpair() - + libcrmcommon: deprecate XML_CIB_TAG_MASTER string constant - + libcrmcommon: deprecate XML_RSC_ATTR_MASTER_MAX string constant - + libcrmcommon: deprecate XML_RSC_ATTR_MASTER_NODEMAX string constant - + libcrmservice: enum ocf_exitcode is obtained from libcrmcommon - + libpacemaker: add pcmk_controller_status() function - + libpacemaker: add pcmk_designated_controller() function - + libpacemaker: add pcmk_list_nodes() function - + libpacemaker: add pcmk_pacemakerd_status() function - + libpacemaker: add pcmk_resource_digests() function - + libpe_status: add parameter_cache member to pe_resource_t - + libpe_status: add pe_order_promoted_implies_first enum value - + libpe_status: add pe_rsc_params() - + libpe_status: add RSC_ROLE_PROMOTED enum value - + libpe_status: add RSC_ROLE_PROMOTED_LEGACY_S string constant - + libpe_status: add RSC_ROLE_PROMOTED_S string constant - + libpe_status: add RSC_ROLE_UNPROMOTED enum value - + libpe_status: add RSC_ROLE_UNPROMOTED_LEGACY_S string constant - + libpe_status: add RSC_ROLE_UNPROMOTED_S string constant - + libpe_status: add priv member to pcmk_working_set_t, for Pacemaker use only - + libpe_status: deprecate pe_order_implies_first_master enum value - + libpe_status: deprecate pe_print_details enum value - + libpe_status: deprecate pe_print_dev enum value - + libpe_status: deprecate pe_print_html enum value - + libpe_status: deprecate pe_print_log enum value - + libpe_status: deprecate pe_print_max_details enum value - + libpe_status: deprecate pe_print_ncurses enum value - + libpe_status: deprecate pe_print_xml enum value - + libpe_status: deprecate pe_resource_t parameters member - + libpe_status: deprecate RSC_ROLE_MASTER enum value - + libpe_status: deprecate RSC_ROLE_MASTER_S string constant - + libpe_status: deprecate RSC_ROLE_SLAVE enum value - + libpe_status: deprecate RSC_ROLE_SLAVE_S string constant - + libpe_status: ignore ->parameter() resource object function's create argument - -* Wed Dec 02 2020 Chris Lumens Pacemaker-2.0.5 -- Changesets: 534 -- Diff: 286 files changed, 23133 insertions(+), 14626 deletions(-) - -- Features added since Pacemaker-2.0.4 - + configuration: Add type="integer" to rule elements, allowing for - specifying 64-bit integers and specifying - double-precision floating point numbers when - type="number". - + daemons: Recognize new OCF agent status codes 190 (degraded) and 191 - (degraded master) to be treated as success but displayed as - errors. - + sbd-integration: support SBD_SYNC_RESOURCE_STARTUP environment - variable to better synchronize Pacemaker start-up - and shutdown with SBD - + scheduler: Add rule-based tests to op_defaults and rsc_defaults. - + scheduler: Add on-fail=demote and no-quorum-policy=demote recovery - policies for promoted resources. - + tools: Add --resource= to filter crm_mon output for a resource. - + tools: Add -P to crmadmin to show pacemakerd status. - + tools: In cibsecret, read value to set from input (or stdin) if not specified. - -- Fixes for regressions introduced in Pacemaker-2.0.4 - + tools: Add the node name back to bundle instances in crm_mon. - + tools: get stonith_admin --list-targets working again - -- Fixes for regressions introduced in Pacemaker-2.0.3 - + tools: Fix adding HTTP headers to crm_mon in daemon mode. - + tools: Show expected score of ping attributes in crm_mon XML output - -- Fixes for regressions introduced in Pacemaker-2.0.1 - + scheduler: require pre-/post-start notifications correctly. - -- Changes since Pacemaker-2.0.4 - + Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654) - + build: Fix a build issue on Fedora s390x. - + build: Fix python2 vs. python3 packaging problems on openSUSE Tumbleweed - + build: Update pkgconfig files for CI testing - + controller: avoid recovery delay when shutdown locks expire - + controller: Log correct timeout for timed-out stonith monitor - + fencer: avoid infinite loop if device is removed during operation - + fencer: avoid possible use-of-NULL when parsing metadata - + libfencing: add `port` or `plug` parameter according to metadata on - `validate` if no `pcmk_host_argument` specified - + libfencing: respect `pcmk_host_argument=none` on `validate` - + scheduler: disallow on-fail=stop for stop operations - + scheduler: don't schedule a dangling migration stop if one already occurred - + scheduler: don't select instance to be promoted on a guest that can't run - + scheduler: fix build when DEFAULT_CONCURRENT_FENCING_TRUE is set - + scheduler: Remove pe_print_expanded_xml print option. - + scheduler: Use pcmk_monitor_timeout as stonith start timeout - + tools: Add management status to crm_mon's group output. - + tools: Add "No active resources" to one case in crm_mon output. - + tools: Allow tags and alerts in cibadmin --scope - + tools: Avoid crm_node on Pacemaker Remote nodes failing when other - executor actions are occurring. - + tools: Avoid pending fence actions getting stuck in crm_mon display - + tools: "Connectivity is lost" may not be displayed even if the ping - communication is lost. - + tools: Display stop-all-resources in crm_mon's cluster options. - + tools: don't use pssh -q option in cibsecret unless supported - + tools: Fix adding the http-equiv header to crm_mon in daemon mode. - + tools: If a clone or group is disabled, display that in crm_mon as part - of the resource's header. - + tools: crm_node -l and -p now work from Pacemaker Remote nodes - + tools: Don't display crm_resource error messages twice. - + tools: Print inactive resources by default with crm_mon xml output. - + tools: properly detect local node name in cibsecret - + tools: Revert some crm_resource string-related checks on variables - that aren't strings. - + tools: Use bash in cibsecret - + xml: Mark new crm_mon attributes as optional in schema - -* Mon Jun 15 2020 Klaus Wenninger Pacemaker-2.0.4 -- Changesets: 515 -- Diff: 269 files changed, 22560 insertions(+), 13726 deletions(-) - -- Features added since Pacemaker-2.0.3 - + build: Add support for glib-based unit tests. - + controller: add new feature 'shutdown-locks' - Optionally allow a gracefully shutdown node to have the resources - locked to it for a configurable time. - So that it can be restarted with exactly the same resources - running as before. - + controller/fencing/scheduler: add new feature 'priority-fencing-delay' - Optionally derive the priority of a node from the resource-priorities - of the resources it is running. - In a fencing-race the node with the highest priority has a certain - advantage over the others as fencing requests for that node are - executed with an additional delay. - controlled via cluster option priority-fencing-delay (default = 0) - + stonith_admin: add --delay option (default = 0) to support enforced - fencing delay - + tools: Add --include= and --exclude= to crm_mon. - + tools: Add --node= to filter crm_mon output for a node (or tag). - + tools: Allow more fine grained filtering of fence-history in crm_mon. - + tools: Allow crm_rule to check some date_specs. - -- Fixes for regressions introduced in Pacemaker-2.0.0 - + tools: ensure that getting the local node name using crm_node - always works from Pacemaker Remote node command line - -- Changes since Pacemaker-2.0.3 - + build: improve checking headers for C++ fitness - + build: restore build on latest OpenSUSE - + fencing: Report an error getting history in output instead of empty history - + fencing: Improve parameter handling for RHCS-style fence-agents - - make parameter `action` shown as not required - - add `port` or `plug` parameter according to metadata - - `plug` parameter shown as non-required in the metadata - + controller: clear leaving node's transient attributes even if there is no DC - + controller: don't ack same request twice - + iso8601: Fix crm_time_parse_offset() to parse offset with plus sign. - + libcrmcommon, libpe: validate interval specs correctly - + libcrmcommon: Add pcmk_str_is_infinity, pcmk_str_is_minus_infinity and - pcmk__unregister_formats. - + libcrmcommon: Extend what pcmk__split_range can do. - + libfencing: Export formatted output functions. - + libpe_status: Add node list arg to output messages preventing weird - behavior + potential segfaults - + libpe_status: Update the maint mode message for HTML output. - + fencing, tools: Fix arguments to stonith-event. - + scheduler: don't incorporate dependencies' colocations multiple times - + scheduler: ensure attenuated scores still have some effect - + scheduler: ignore colocation constraints with 0 score - + scheduler: make sure cluster-wide maintenance-mode=true overrides - per-resource settings - + scheduler: properly detect whether guest node is fenceable - + scheduler: do not differentiate case where all the nodes have equal priority - + tests: Add tests for pe_cron_range_satisfied. - + tests: Add tests for the current behavior of pcmk__split_range. - + tools, lib: Use standard pacemaker return codes in crm_rule. - + tools: Correct stonith-event arguments in crm_mon. - + tools: Fix man pages for crm_mon & crm_diff. - + tools: Make crm_mon --interval understand more formats. - + tools: Fix --html-title= in crm_mon. - + tools: Print errors to stderr for crm_mon's legacy xml. - + tools: use return codes consistently in stonith_admin - + tools: Use glib for cmdline handling in crm_diff, crm_simulate & crm_error - + xml: Add a new version of the tags schema. - + based: populate cib_nodes when 'cibadmin -R -scope=configuration' - + cibsecret: don't use pssh -q option unless supported - + fencing: avoid infinite loop if device is removed during operation - + fencing: avoid possible use-of-NULL when parsing metadata - + fencing: Remove dangling 'pending' for completed DC fencing. (CLBZ#5401) - -* Mon Nov 25 2019 Ken Gaillot Pacemaker-2.0.3 -- Changesets: 601 -- Diff: 227 files changed, 17862 insertions(+), 10471 deletions(-) - -- Features added since Pacemaker-2.0.2 - + controller: new 'fence-reaction' cluster option specifies whether local node - should 'stop' or 'panic' if notified of own fencing - + controller: more cluster properties support ISO 8601 time specifications - + controller: calculate cluster recheck interval dynamically when possible - + Pacemaker Remote: allow file for environment variables when used in bundle - + Pacemaker Remote: allow configurable listen address and TLS priorities - + tools: crm_mon now supports standard --output-as/--output-to options - + tools: crm_mon HTML output supports user-defined CSS stylesheet - + tools: stonith_admin supports HTML output in addition to text and XML - + tools: crm_simulate supports --repeat option to repeat profiling tests - + tools: new pcmk_simtimes tool compares crm_simulate profiling output - + agents: SysInfo supports K, T, and P units in addition to Kb and G - -- Changes since Pacemaker-2.0.2 - + fencer: do not block concurrent fencing actions on a device - (regression since 2.0.2) - + all: avoid Year 2038 issues - + all: allow ISO 8601 strings of form "T