Pacemaker 2.0.0 - Final
kgaillot
released this
06 Jul 22:55
·
2863 commits
to 2.0
since this release
Known regressions introduced in this release
- When run from a Pacemaker Remote node, crm_node might not get the local node name correctly (fixed in 2.0.4)
- Clone notifications can be incorrectly scheduled for a stopped Pacemaker Remote node and block all further cluster actions (fixed in 2.0.1)
- Inccorrect behavior for completing interrupted live migrations (fixed in 2.0.1)
- crm_resource --cleanup could fail to clean up all failures in one run (fixed in 2.0.1)
Deprecated features removed since Pacemaker-1.1.18
- All of these have newer forms, and the cluster will automatically convert most older syntax usage in saved configurations to newer syntax as needed
- Drop support for heartbeat and corosync 1 (whether using CMAN or plugin)
- Drop support for rolling upgrades from Pacemaker versions older than 1.1.11
- Drop support for built-in SMTP and SNMP in crm_mon
- Drop support for legacy option aliases including default-action-timeout, default-resource-stickiness, resource-failure-stickiness,
default-resource-failure-stickiness, is-managed-default, and all names using underbar instead of dash - Drop support for "requires" operation meta-attribute
- Drop support for the pcmk_*_cmd, pcmk_arg_map, and pcmk_poweroff_action fence resource parameters
- Drop support for deprecated command-line options to crmadmin, crm_attribute, crm_resource, crm_verify, crm_mon, and stonith_admin
- Drop support for operation meta-attributes in instance_attributes
- Drop support for PCMK_legacy and LRMD_MAX_CHILDREN environment variables
- Drop support for undocumented resource isolation feature
- Drop support for processing very old saved CIB files (including pre-0.6.0 start failure entries, pre-0.6.5 operation history entries,
pre-0.7 transition keys, pre-1.1.4 migration history entries, pre-1.0 XML configuration schemas, pre-1.1.6 ticket state entries, and
pre-1.1.7 failed recurring operation history entries)
Features added since Pacemaker-1.1.18
- The pacemaker daemons have been renamed to make logs more intuitive and easier to search
- The default location of the Pacemaker detail log is now /var/log/pacemaker/pacemaker.log (instead of being directly in /var/log), and Pacemaker will no longer use Corosync's logging preferences; configure script options are available to change default log locations
- The detail log's message format has been improved
- The master XML tag is deprecated in favor of using a standard clone tag with a new "promotable" meta-attribute set to true, and the "master-max" and "master-node-max" master meta-attributes are deprecated in favor of new "promoted-max" and "promoted-node-max" clone meta-attributes; documentation now refers to these as promotable clones rather than master/slave, stateful, or multistate clones, and refers to promotion scores instead of master scores
- Administration-related documentation has been moved from the "Pacemaker Explained" document to a new "Pacemaker Administration" document
- record-pending now defaults to TRUE (pending actions are shown in status)
- All Python code in Pacemaker now supports both Python 2.7 and Python 3
- The command-line tools now return consistent, well-defined exit codes; crm_error has an --exit option to list these
- Pacemaker's systemd unit files now remove systemd's spawned process limit
- mount, path, and timer systemd unit types are now supported as resources
- A negative stonith-watchdog-timeout now tells the cluster to automatically calculate the value based on SBD_WATCHDOG_TIMEOUT (which was the behavior of 0 before 1.1.15; 0 retains its post-1.1.15 behavior of disabling use of the watchdog as a fencing device)
- The undocumented restart-type and role_after_failure resource meta-attributes are now deprecated
- Regression testing code has been consolidated and overhauled (the most obvious change is new command names)
- build: create /etc/pacemaker directory when installing
- build: improved portability to BSD-based platforms
- tools: crm_resource --cleanup now cleans only failed operation history; crm_resource --reprobe retains the previous behavior of cleaning all
operation history - tools: add stonith_admin --validate option to check device configuration
- tools: crm_node is now in the pacemaker-cli package (instead of pacemaker)
- alerts: add epoch and usec alert variables for improved SNMP alerts
- controller: deprecate "crmd-*" cluster options in favor of new names
- scheduler: deprecate stonith-action value "poweroff" (use "off" instead)
- scheduler: deprecate require-all in rsc_order
- libcrmcluster: prefer corosync name over ring0_addr
- xml: allow local "kind" in resource_set within rsc_order
Changes since Pacemaker-1.1.18
- Restore systemd unit dependency on DBus (regression in 1.1.17)
- CIB: handle mixed-case node names when modifying attributes (regression in 1.1.17)
- scheduler: avoid crash when logging ignored failure timeout (regression in 1.1.17)
- attrd: ensure node name is broadcast at start-up (regression in 1.1.18)
- scheduler: unfence before probing or starting fence devices (regression in 1.1.18)
- tools: treat INFINITY correctly in crm_failcount (regression in 1.1.17)
- tools: show master scores with crm_simulate -sL (regression in 1.1.18)
- tools: crm_master did not work without explicit --lifetime (regression in 1.1.18)
- Numerous changes to public C API of libraries
- Choose current node correctly when a resource is multiply active
- controller,executor,tools: avoid minor memory leaks
- CIB: don't use empty CIB if real CIB has bad permissions
- controller: avoid double free after ACL rejection of resource deletion
- controller: don't record pending clone notifications in CIB
- controller: always write faked failures to CIB whenever possible
- controller: quorum gain without a node join should cause new transition
- executor: handle systemd actions correctly when used with "service:"
- executor: find absolute LSB paths when used with "service:"
- scheduler: handle "requires" of "quorum" or "nothing" properly
- scheduler: ensure orphaned recurring monitors have interval set
- scheduler: handle pending migrations correctly when record-pending is true
- scheduler: don't time out failures that cause fencing until fencing completes
- scheduler: handle globally-unique bundle children correctly
- scheduler: use correct default timeout for monitors
- scheduler: "symmetrical" defaults to "false" for serialize orders
- scheduler: avoid potential use-of-NULL when unpacking ordering constraint
- scheduler: properly cancel recurring monitors
- scheduler: do not schedule notifications for unrunnable actions
- scheduler: ensure stops occur after stopped remote connections come back up
- scheduler: consider only allowed nodes when ordering start after all recovery
- scheduler: avoid graph loop from ordering bundle child stops/demotes after container fencing
- scheduler: remote connection resources are safe to require only quorum
- scheduler: correctly observe colocation with bundles in Master role
- scheduler: restart resource after failed demote when appropriate
- Pacemaker Remote: always use most recent remote proxy
- tools: crm_node now gets correct node name and ID on Pacemaker Remote nodes
- tools: correctly check crm_resource --move for master role
- tools: cibsecret --help/--version doesn't require cluster to be running
- tools: ignore attribute placement when crm_diff compares in cib mode
- tools: prevent notify actions from causing crm_resource --wait to hang
- resources: drop broken configdir parameter from ocf:pacemaker:controld