Releases: ClusterLabs/pacemaker
Releases · ClusterLabs/pacemaker
Pacemaker 1.1.14 - Release Candidate 5
- Changes since Pacemaker-1.1.14-rc4
- update SNMP MIB
- fix various misspellings in log messages
- fencing: use multiple topology levels properly
Pacemaker 1.1.14 - Release Candidate 4
This release was mis-tagged. Please do not use it.
- Update source tarball to revision: 5f8a298
- Changesets: 18
- Diff: 27 files changed, 56 insertions(+), 53 deletions(-)
- Changes since Pacemaker-1.1.14-rc3
- improved support for building on FreeBSD
- libcrmcommon: when caching attrd connection, cache connection flags too
Pacemaker 1.1.14 - Release Candidate 3
- Update source tarball to revision: 97ada31
- Changesets: 7
- Diff: 2 files changed, 7 insertions(+), 2 deletions(-)
- Changes since Pacemaker-1.1.14-rc2
- stonithd: fix issue where deleting a fence device attribute can delete the device
Pacemaker 1.1.14 - Release Candidate 2
- Update source tarball to revision: ce830a7
- Changesets: 1
- Diff: 1 file changed, 2 insertions(+)
- Changes since Pacemaker-1.1.14-rc1
- crmd: ensure compilation works with built-in notifications disabled
Pacemaker 1.1.14 - Release Candidate 1
- Update source tarball to revision: 7cd6dcf
- Changesets: 656
- Diff: 169 files changed, 13014 insertions(+), 7579 deletions(-)
- Features added since Pacemaker-1.1.13
- crm_resource: Indicate common reasons why a resource may not start after a cleanup
- crm_resource: New --force-promote and --force-demote options for debugging
- fencing: Support targeting fencing topologies by node name pattern or node attribute
- fencing: Remap sequential topology reboots to all-off-then-all-on
- pengine: Allow guest remote nodes using containers/vms to be nested in a group resource
- pengine: Allow resources to start and stop as soon as their state is known on all nodes
- pengine: Include a list of all and available nodes with clone notifications
- pengine: Addition of the clone resource clone-min metadata option
- pengine: Support of multiple-active=block for resource groups
- remote: reconnect_interval option for remote nodes to delay reconnect after fence
- Changes since Pacemaker-1.1.13
- fix multiple memory issues (leaks, use-after-free, double free, use-of-NULL) in components and tools
- cib: Do not terminate due to badly behaving clients
- cman: handle corosync-invented node names of the form Node{id} for peers not in its node list
- controld: replace bashism
- crm_node: Display node state with -l and quorum status with -q, if available
- crmd: resources would sometimes be restarted when only non-unique parameters changed
- crmd: fence remote node after connection failure only once
- crmd: handle resources named the same as cluster nodes
- crmd: Pre-emptively fail in-flight actions when lrmd connections fail
- crmd: Record actions in the CIB as failed if we cannot execute them
- crm_report: Enable password sanitizing by default
- crm_report: Allow log file discovery to be disabled
- crm_resource: Allow the resource configuration to be modified for --force-{check,start,..} calls
- crm_resource: Compensate for -C and -p being called with the child resource for clones
- crm_resource: Correctly clean up all children for anonymous cloned groups
- crm_resource: Correctly clean up failcounts for inactive anonymous clones
- crm_resource: Correctly observe --force when deleting and updating attributes
- crm_shadow: Fix "crm_shadow --diff"
- crm_simulate: Prevent segfault on arches with 64bit time_t
- fencing: ensure "required"/"automatic" only apply to "on" actions
- fencing: Return a provider for the internal fencing agent "#watchdog" instead of logging an error
- fencing: ignore stderr output of fence agents (often used for debug messages)
- libcib: potential user input overflow
- libcluster: overhaul peer cache management
- log: make syslog less noisy
- lrmd: cancel currently pending STONITH op if stonithd connection is lost
- lrmd: Finalize all pending and recurring operations when cleaning up a resource
- pengine: Bug cl#5247 - Imply resources running on a container are stopped when the container is stopped
- pengine: cl#5235 - Prevent graph loops that can be introduced by "load_stopped -> migrate_to" ordering
- pengine: Correctly bypass fencing for resources that do not require it
- pengine: do not timeout remote node recurring monitor op failure until after fencing
- pengine: Ensure recurring monitor operations are cancelled when clone instances are de-allocated
- pengine: fixes segfault in pengine when fencing remote node
- pengine: properly handle blocked clone actions
- pengine: ensure failed actions that occurred in node shutdown are displayed
- remote: Correctly display the usage of the ocf:pacemaker:remote resource agent
- remote: do not fail operations because of a migration
- remote: enable reloads for select remote connection options
- resources: allow for top output with or without percent sign in HealthCPU
- resources: Prevent an error message on stopping "Dummy" resource
- systemd: Prevent segfault when logging failed operations
- systemd: Reconnect to System DBus if the connection is closed
- systemd: set systemd resources' timeout values higher than systemd's own default
- tools: Do not send command lines to syslog
- upstart: Ensure pending structs are correctly unreferenced
Pacemaker 1.1.13 - Release Candidate 3
- Changesets: 79
- Diff: 45 files changed, 1253 insertions(+), 436 deletions(-)
- Changes since Pacemaker-1.1.13-rc2
- cib: Ability to upgrade cib validation schema in legacy mode
- cib: Always generate digests for cib diffs in legacy mode
- cib: Enable cib legacy mode for plugin-based clusters
- cib: No need to enforce cib digests for v2 diffs in legacy mode
- cib: Revert d153b86 to instantly get cib synchronized in legacy mode
- common: Increment current and age for lib common as a result of APIs being added
- corosync: Bug cl#5232 - Somewhat gracefully handle nodes with invalid UUIDs
- crmd/pengine: handle on-fail=ignore properly
- crmd: don't update fail count twice for same failure
- crmd: include remote nodes when forcing cluster wide resource reprobe
- crmd: Prevent the old version of DC from being fenced when it shuts down for rolling-upgrade
- crmd: report operation rc as advertised instead of status
- crmd: respect start-failure-is-fatal even for artifically injected events
- fence_legacy: Avoid passing 'port' to cluster-glue agents
- fencing: Correctly make args for fencing agents
- fencing: Gracefully handle invalid metadata from agents
- HealthSMART: OCF_RESKEY_drives could contain multiple values
- lrmd: Hint to child processes that using sd_notify is not required
- lrmd: move isolation wrappers to hidden directory
- mainloop: resolves race condition mainloop poll involving modification of ipc connections
- make targetted reprobe for remote node work, crm_resource -C -N
- pengine: cl#5130 - Choose nodes capable of running all the colocated utilization resources
- pengine: only kill process group on timeout when on-fail does not equal block.
- pengine: Prevent use-after-free in sort_rsc_process_order()
- pengine: process rsc parameters during unpack
- pengine: restart master instances on instance attribute changes
- services: Increment lib service's current version to indicate a new interface is being exported
- xml: Do not dump deleted attributes
- xml: Fix upgrade-1.3.xsl to correctly transform ACL rules with "attribute"
1.1.13 - Release Candidate 2
- Changesets: 58
- Diff: 32 files changed, 354 insertions(+), 178 deletions(-)
- Changes since Pacemaker-1.1.13-rc1
- acl: Do not delay evaluation of added nodes in some situations
- attrd: fixes double free in attrd legacy
- cib: Correctly track node state
- crm_report: More patterns for finding logs on non-DC nodes
- crm_resource: Display the locations of all anonymous clone children when supplying the children's common ID
- docker-wrapper: add demote, promote, and notify actions for multistate rsc
- docker-wrapper: properly forward key value pairs during isolation
- lrmd: do not let isolation wrappers inherit the wrapper attribute, or it makes a loop
- lrmd: isolation wrappers are moved from containers to isolation OCF namepace
- lrmd: report original timeout when systemd operation completes
- lrmd: Use original timestamps when reporting multi-step systemd operations
- pengine: Avoid trailing whitespaces when printing resource state
- pengine: Fix colocation with unmanaged resources
- pengine: handle cloned isolated resources in a sane way
- pengine: handle isolated resource scenario, cloned group of isolated resources
- pengine: pass node name of pcmk host into isolated resources
- pengine: Turn off legacy unpacking of resource options into the meta hashtable
- pengine: cl#5207 - Display "UNCLEAN" for resources running on unclean offline nodes
- stonith-ng: Correctly track node state
- stonith-ng: No reply is needed for CRM_OP_RM_NODE_CACHE
1.1.13 - Release Candidate 1
Changesets | 599 |
Diff | 137 files changed, 9777 insertions(+), 3191 deletions(-) |
- Features added since Pacemaker-1.1.12 - Allow fail-counts to be removed en-mass when the new attrd is in operation - attrd_updater: Allow attributes to be set for other nodes - attrd_updater: support --query and --all options - attrd_updater: support private attributes - crmd: Ensure a watchdog device is in use if stonith-watchdog-timeout is configured - crmd: If configured, trigger the watchdog immediately if we loose quorum and no-quorum-policy=suicide - crm_diff: Support generating a difference without versions details if --no-version/-u is supplied - crm_resource: Implement an intelligent restart capability - crm_resource: Implement a --wait option for scripts to block with until the changes take place - Fencing: Advertise the watchdog device for fencing operations - Fencing: Allow the cluster to recover resources if the watchdog is in use - fencing: cl#5134 - Support random fencing delay to avoid double fencing - mcp: Turn on sbd integration if pacemakerd finds it running - Officially support the resource-discovery attribute for location constraints - penigne: Allow natural ordering of colocation sets - pengine: Per-node control over resource discovery - pengine: Support non-actionable degraded mode for OCF - Support machine panics for some kinds of errors (via sbd if available) - ipc: use server enforced buffer during ipc client send - Changes since Pacemaker-1.1.12 - acl: Correctly implement the 'reference' acl directive - attrd: b22b1fe did uuid test too early - attrd: Clean out the node cache when requested by the admin - attrd: properly write attributes for peers once uuid is discovered - attrd: refresh should force an immediate write-out of all attributes - Bug rhbz#1067544 - Tools: Correctly handle --ban, --move and --locate for master/slave groups - Bug rhbz#1181824 - Ensure the DC can be reliably fenced - cib: Avoid nodeid conflicts we don't care about - cib: Do not update on disk backups if we're just querying them - cib: Ensure file-based backends treat '-o section' consistently with the native backend - cib: Ensure upgrade operations from a non-DC get an acknowledgement - cli: Ensure subsequent unknown long options are correctly detected - corosync: Avoid unnecessary repeated CMAP API calls - crmd: All peers need to track node shutdown requests - crmd: Cached copies of transient attributes cease to be valid once a node leaves the membership - crmd: Disable debug logging that results in significant overhead - crmd: do not remove connection resources during re-probe - crmd: Ensure remote connection resources timeout properly during 'migrate_from' action - crmd: Ensure throttle_mode() does something on Linux - crmd: Fixes crash when remote connection migration fails - crmd: gracefully handle remote node disconnects during op execution - crmd: Handle remote connection failures while executing ops on remote connection - crmd: never stop recurring monitor ops for pcmk remote during incomplete migration - crmd: Prevent use-of-NULL during reprobe - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Reset stonith failcount to recover transitioner when the node rejoins - crmd: Wait for all pending operations to complete before poking the policy engine - crmd: When container's host is fenced, cancel in-flight operations - crmd: Properly record stop args after reload - crm_attribute: Correctly update config options when -o crm_config is specified - crm_mon: add exit reason to resource failure output - crm_mon: Fill CRM_notify_node in traps with node's uname rather than node's id if possible - crm_mon: Repair notification delivery when the v2 patch format is in use - crm_node: Correctly remove nodes from the CIB by nodeid - crm_resource: Allow resource restart operations to be node specific - crm_resource: avoid deletion of lrm cache on node with resource discovery disabled. - crm_resource: Ensure fail-counts are purged when we redetect the state of all resources - dbus: ref count leaks - dbus: Ensure both the read and write queues get dispatched - dbus: handle dispatch queue when multiple replies need to be processed - dbus: Notice when dbus connections get disabled - fencing: If configured, wait stonith-watchdog-timer seconds for self-fencing to complete - fencing: fix stonith ignoring its own messages on heartbeat - lrmd, services: interpret LSB status codes properly - lrmd: add back support for class heartbeat agents - lrmd: cancel pending async connection during disconnect - lrmd: Handle systemd reporting 'done' before a resource is actually stopped or started - lrmd: Log with the correct personality - lrmd: pass exit reason prefix to ocf scripts as env variable - lrmd: Prevent glib assert triggered by timers being removed from mainloop more than once - lrmd: store failed operation exit reason in cib - Membership: Detect and resolve nodes that change their ID - pengine: ability to launch resources in isolated containers - pengine: add #kind=remote for baremetal remote-nodes - pengine: allow baremetal remote-nodes to recover without requiring fencing when cluster-node fails - pengine: allow remote-nodes to be placed in maintenance mode - pengine: ensure if B is colocated with A, B can never run without A - pengine: Do not record duplicate copies of the failed actions - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed - pengine: Fence baremetal remote when recurring monitor op fails - pengine: Fix the behaviors of multi-state resources with asymmetrical ordering - pengine: fixes pengine crash with orphaned remote node connection resource - pengine: fixes segfault caused by malformed log warning - pengine: Handle ordering between stateful and migratable resources - pengine: imply stop in container node resources when host node is fenced - pengine: make resource-discovery work with location rules - pengine: only fence baremetal remote when connection can fails or can not be recovered - pengine: prefer migration target for remote node connections - pengine: properly handle ordering during remote connection partial migration - pengine: properly recover remote-nodes when cluster-node proxy goes offline - ping: Correctly advertise multiplier default - service: Leave synchronous calls to be free'd by the caller - solaris: Disable throttling since /proc doesn't exist - stonith-ng: Correctly observe the watchdog completion timeout - stonith-ng: Reset mainloop source IDs after removing them - systemd: Ensure failed monitor operations always return - systemd: fix crash caused when canceling in-flight operation - systemd: Kindly ask dbus NOT to kill the process if the dbus connection fails - systemd: Perform monitor operations without blocking - systemd: Tell systemd not to take DBus down from underneath us - systemd: Trick systemd into not stopping our services before us during shutdown - crm_mon: make last updated header consistent across formats - xml: add 'require-all' to xml schema for constraints - xml: cl#5231 - Unset the deleted attributes in the resulting diffs - xml: Ensure ACLs are reapplied before calculating what a replace operation changed
Pacemaker 1.1.12 - Final
Details - 1.1.11 - final
Changesets | 795 |
Diff | 195 files changed, 13772 insertions(+), 6176 deletions(-) |
Highlights
- ACLs are now on by default
- Thanks to a new algorithm, the CIB is now two orders of magnitude faster.
Resulting in less CPU usage by the cluster itself and faster failover times
Features added since Pacemaker-1.1.11
- Changes to the ACL schema to support nodes and unix groups
- cib: Check ACLs prior to making the update instead of parsing the diff afterwards
- cib: Default ACL support to on
- cib: Enable the more efficient xml patchset format
- cib: Implement zero-copy status update
- cib: Send all r/w operations via the cluster connection and have all nodes process them
- crmd: Set "cluster-name" property to corosync's "cluster_name" by default for corosync-2
- crm_mon: Display brief output if "-b/--brief" is supplied or 'b' is toggled
- crm_report: Allow ssh alternatives to be used
- crm_ticket: Support multiple modifications for a ticket in an atomic operation
- extra: Add logrotate configuration file for /var/log/pacemaker.log
- Fencing: Add the ability to call stonith_api_time() from stonith_admin
- logging: daemons always get a log file, unless explicitly set to configured 'none'
- logging: allows the user to specify a log level that is output to syslog
- PE: Automatically re-unfence a node if the fencing device definition changes
- pengine: cl#5174 - Allow resource sets and templates for location constraints
- pengine: Support cib object tags
- pengine: Support cluster-specific instance attributes based on rules
- pengine: Support id-ref in nvpair with optional "name"
- pengine: Support per-resource maintenance mode
- pengine: Support site-specific instance attributes based on rules
- tools: Allow crm_shadow to create older configuration versions
- tools: Display pending state in crm_mon/crm_resource/crm_simulate if --pending/-j is supplied (cl#5178)
- xml: Add the ability to have lightweight schema revisions
- xml: Enable resource sets in location constraints for 1.2 schema
- xml: Support resources that require unfencing
Changes since Pacemaker-1.1.11
- acl: Authenticate pacemaker-remote requests with the node name as the client
- acl: Read access must be explicitly granted
- attrd: Ensure attribute dampening is always observed
- attrd: Remove offline nodes from node cache for "peer-remove" requests
- Bug cl#5055 - Improved migration support.
- Bug cl#5184 - Ensure pending probes that ultimately fail are correctly updated
- Bug cl#5196 - pengine: Check values after expanding templates
- Bug cl#5212 - Do not promote instances when quorum is lots and no-quorum-policy=freeze
- Bug cl#5213 - Ensure role colocation with -INFINITY is enforced
- Bug cl#5213 - Limit the scope of the previous commit to the masters role
- Bug cl#5219 - pengine: Allow unrelated resources with a common colocation target to remain promoted
- Bug cl#5222 - cib: Repair rolling update capability
- Bug cl#5222 - Enable legacy mode whenever a broadcast update is detected
- Bug rhbz#1036631 - Stop members of cloned groups when dependancies are stopped
- Bug rhbz#1054307 - cname pattern match should be more restrictive in init script
- Bug rhbz#1057697 - Use native DBus library for systemd/upstart support to avoid problematic use of threads
- Bug rhbz#1097457 - Limit the scope of the previous fix and include a helpful comment
- Bug rhbz#1097457 - Prevent invalid transition when resource are ordered to start after the container they're started in
- cib: allow setting permanent remote-node attributes
- cib: Auto-detect which patchset format to use
- cib: Determine the best value of validate-with if one is not supplied
- cib: Do not disable cib disk writes if on-disk cib is corrupt
- cib: Ensure 'cibadmin -R/--replace' commands get replies
- cib: Erasing the cib is an admin action, bump the admin_epoch instead
- cib: Fix remote cib based on TLS
- cib: Ingore patch failures if we already have their contents
- cib: Validate that everyone still sees the same configuration once all updates have completed
- cibadmin: Allow priviliged clients to perform tasks as unpriviliged users
- cibadmin: Remove dangerous commands that exposed unnecessary implementation internal details
- cluster: Fix segfault on removing a node
- cluster: Prevent search of unames from attempting to create node entries for unknown nodes
- cluster: Remove unknown offline nodes with conflicting unames from node cache
- controld: Do not consider the dlm up until the address list is present
- controld: handling startup fencing within the controld agent, not the dlm
- controld: Return OCF_ERR_INSTALLED instead of OCF_NOT_INSTALLED
- crmd: Ack pending operations that were cancelled due to rsc deletion
- crmd: Actions can only be executed if their pre-requisits completed successfully
- crmd: avoid double free caused by nested hash table removal
- crmd: Avoid spamming the cib by triggering a transition only once per non-status change
- crmd: Correctly react to successful unfencing operations
- crmd: Correctly recognise operation cancellations we initiated
- crmd: Do not erase the status section for unfenced nodes
- crmd: Do not overwrite existing node state when fencing completes
- crmd: Do not start timers for already completed operations
- crmd: Ensure crm_config options are re-read on updates
- crmd: Fenced nodes that return prior to an election do not need to have their status section reset
- crmd: make lrm_state hash table not case sensitive
- crmd: make node_state erase correctly
- crmd: Only write fence_averride if open() returns a positive file descriptor
- crmd: Prevent manual fencing confirmations from attempting to create node entries for unknown nodes
- crmd: Prevent SIGPIPE when notifying CMAN about fencing operations
- crmd: Remove state of unknown nodes with conflicting unames from CIB
- crmd: Remove unknown nodes with conflicting unames from CIB
- crmd: Report unsuccessful unfencing operations
- crm_diff: Allow the generation of xml patchsets without digests
- crm_mon: Allow the file created by --as-html to be world readable
- crm_mon: Ensure resource attributes have been unpacked before displaying connectivity data
- crm_node: Only remove the named resource from the cib
- crm_report: Gracefully handle rediculously large logfiles
- crm_report: Only gather dlm data if dlm_controld is running
- crm_resource: Gracefully handle -EACCESS when querying the cib
- crm_verify: Perform a full set of calculations whenever the status section is present
- fencing: Advertise support for reboot/on/off in the metadata for legacy agents
- fencing: Automatically switch from 'list' to 'status' to 'static-list' if those actions are not advertised in the metadata
- fencing: Cache metadata lookups to avoid repeated blocking during device registration
- fencing: Correctly record which peer performed the fencing operation
- fencing: default to 'off' when agent does not advertise 'reboot' in metadata
- fencing: Do not unregister/register all stonith devices on every resource agent change
- fencing: Execute all required fencing devices regardless of what topology level they are at
- fencing: Fence using all required devices
- fencing: Pass the correct options when looking up the history by node name
- fencing: Update stonith device list only if stonith is enabled
- get_cluster_type: failing concurrent tool invocations on heartbeat
- ignore SIGPIPE when gnutls is in use
- iso8601: Different logic is needed when logging and calculating durations
- iso8601: Fix memory leak in duration calculation
- Logging: Bootstrap daemon logging before processing arguments but configure it afterwards
- lrmd: Cancel recurring operations before stop action is executed
- lrmd: Expose logging variables expected by OCF agents
- lrmd: Handle systemd reporting 'done' before a resource is actually stopped/started
- lrmd: Merge duplicate recurring monitor operations
- lrmd: Prevent OCF agents from logging to random files due to "value" of setenv() being NULL
- lrmd: Provide stderr output from agents if available, otherwise fall back to stdout
- mainloop: Better handle the killing of processes in the act of exiting
- mainloop: Canceling in-flight operations should not fail if child process has already exited.
- mainloop: Fixes use after free in process monitor code
- mcp: Tell systemd not to respawn us if we exit with rc=100
- membership: Avoid duplicate peer entries in the peer cache
- pengine: Allow container nodes to migrate with connection resource
- pengine: avoid assert by searching for stop action on correct node during LogActions
- pengine: Block restart of resources if any dependent resource in a group is unmanaged
- pengine: cl#5186 - Avoid running rsc on two nodes when node is fenced during migration
- pengine: cl#5187 - Prevent resources in an anti-colocation from even temporarily running on a same node
- pengine: cl#5200 - Before migrating utilization-using resources to a node, take off the load that will no longer run there if it's not introducing transition loop
- pengine: Correctly handle origin offsets in the future
- pengine: Correctly observe requires=nothing
- pengine: Default sequential to TRUE for resource sets for consistency with colocation sets
- pengine: Delay unfencing until after we know the state of all resources that require unfencing
- pengine: Do not initiate fencing for unclean nodes when fencing is disabled
- pengine: Ensure instance numbers are preserved for cloned templates
- pengine: Ensure unfencing only happens once, even if the transition is interrupted
- pengine: Fencing devices default to only requiring quorum in order to start
- pengine: fixes invalid transition caused by clones with more than 10 instances
- pengine: Force record pending for migrate_to actions
- pengine: handles edge case where container order con...
Pacemaker 1.1.12 - Release Candidate 4
- Changesets: 49
- Diff: 31 files changed, 403 insertions(+), 100 deletions(-)
- Features added since Pacemaker-1.1.12-rc3
- extra: Add logrotate configuration file for /var/log/pacemaker.log
- Changes since Pacemaker-1.1.12-rc3
- attrd: Remove offline nodes from node cache for "peer-remove" requests
- Bug rhbz#1054307 - cname pattern match should be more restrictive in init script
- cib: cl#5222 - Prevent assert in xml_calculate_changes() on performing cib operations
- cluster: Remove unknown offline nodes with conflicting unames from node cache
- controld: Return OCF_ERR_INSTALLED instead of OCF_NOT_INSTALLED
- crmd: avoid double free caused by nested hash table removal
- crmd: Only write to fence_override if open() returns a positive file descriptor
- crmd: Remove state of unknown nodes with conflicting unames from CIB
- crm_report: Correctly detect large files
- crm_simulate: Remove resource states and transient attributes when a node is marked as down
- crm_verify: Perform a full set of calculations whenever the status section is present
- ignore SIGPIPE if gnutls is in use
- lrmd: Handle systemd reporting 'done' before a resource is actually stopped
- lrmd: Prevent OCF agents from logging to random files due to "value" of setenv() being NULL
- mcp: Let daemons know when they have been respawned by the mcp
- membership: Prevent use-after-free in reap_crm_member()
- pengine: Correctly detect empty tags
- pengine: Correctly observe requires=nothing