Skip to content

Commit

Permalink
Merge pull request #844 from kgaillot/1.1
Browse files Browse the repository at this point in the history
Release 1.1.14-rc1
  • Loading branch information
kgaillot committed Dec 8, 2015
2 parents 5b41ae1 + 64ccc3a commit a1356ee
Show file tree
Hide file tree
Showing 18 changed files with 140 additions and 16 deletions.
65 changes: 65 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,69 @@

* Tue Dec 08 2015 Ken Gaillot <[email protected]> Pacemaker-1.1.14-rc1-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


* Wed Jun 24 2015 Andrew Beekhof <[email protected]> Pacemaker-1.1.13-1
- Update source tarball to revision: 2a1847e
- Changesets: 750
Expand Down
2 changes: 1 addition & 1 deletion GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ www: all global doxygen

summary:
@printf "\n* `date +"%a %b %d %Y"` `git config user.name` <`git config user.email`> $(NEXT_RELEASE)-1"
@printf "\n- Update source tarball to revision: `git id`"
@printf "\n- Update source tarball to revision: `git log --pretty=format:%h -n 1`"
@printf "\n- Changesets: `git log --pretty=format:'%h' $(LAST_RELEASE)..HEAD | wc -l`"
@printf "\n- Diff: "
@git diff -r $(LAST_RELEASE)..HEAD --stat include lib mcp pengine/*.c pengine/*.h cib crmd fencing lrmd tools xml | tail -n 1
Expand Down
5 changes: 5 additions & 0 deletions crmd/control.c
Original file line number Diff line number Diff line change
Expand Up @@ -893,6 +893,8 @@ pe_cluster_option crmd_opts[] = {
" To ensure these changes take effect, we can optionally poll the cluster's status for changes."
},

#ifdef RHEL7_COMPAT
/* this interface is expected to change but was released in RHEL 7 */
{ "notification-agent", NULL, "string", NULL, "/dev/null", &check_script,
"Notification script or tool to be called after significant cluster events",
"Full path to a script or binary that will be invoked when resources start/stop/fail, fencing occurs or nodes join/leave the cluster.\n"
Expand All @@ -902,6 +904,7 @@ pe_cluster_option crmd_opts[] = {
"Destination for notifications (Optional)",
"Where should the supplied script send notifications to. Useful to avoid hard-coding this in the script."
},
#endif

{ "load-threshold", NULL, "percentage", NULL, "80%", &check_utilization,
"The maximum amount of system resources that should be used by nodes in the cluster",
Expand Down Expand Up @@ -992,9 +995,11 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void

verify_crmd_options(config_hash);

#ifdef RHEL7_COMPAT
script = crmd_pref(config_hash, "notification-agent");
value = crmd_pref(config_hash, "notification-recipient");
crmd_enable_notifications(script, value);
#endif

value = crmd_pref(config_hash, XML_CONFIG_ATTR_DC_DEADTIME);
election_trigger->period_ms = crm_get_msec(value);
Expand Down
2 changes: 1 addition & 1 deletion doc/Pacemaker_Explained/en-US/Book_Info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
changes (pacemaker), and PUBSNUMBER for
simple textual changes (corrections, translations, etc.).
-->
<edition>5</edition>
<edition>6</edition>
<pubsnumber>0</pubsnumber>
<abstract>
<para>
Expand Down
7 changes: 7 additions & 0 deletions doc/Pacemaker_Explained/en-US/Ch-Advanced-Resources.txt
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,13 @@ Options inherited from <<s-resource-options,primitive>> resources:
indexterm:[clone-node-max,Clone Option]
indexterm:[Clone,Option,clone-node-max]

|clone-min
|1
|Require at least this number of clone instances to be runnable before allowing
resources depending on the clone to be runnable '(since 1.1.14)'
indexterm:[clone-min,Clone Option]
indexterm:[Clone,Option,clone-min]

|notify
|true
|When stopping or starting a copy of the clone, tell all the other
Expand Down
23 changes: 21 additions & 2 deletions doc/Pacemaker_Explained/en-US/Ch-Stonith.txt
Original file line number Diff line number Diff line change
Expand Up @@ -550,7 +550,7 @@ Some possible uses of topologies include:
* Initiate a kdump and then poweroff the node

.Properties of Fencing Levels
[width="95%",cols="1m,6<",options="header",align="center"]
[width="95%",cols="1m,3<",options="header",align="center"]
|=========================================================

|Field
Expand All @@ -562,10 +562,22 @@ Some possible uses of topologies include:
indexterm:[Fencing,fencing-level,id]

|target
|The node to which this level applies
|The name of a single node to which this level applies
indexterm:[target,fencing-level]
indexterm:[Fencing,fencing-level,target]

|target-pattern
|A regular expression matching the names of nodes to which this level applies
'(since 1.1.14)'
indexterm:[target-pattern,fencing-level]
indexterm:[Fencing,fencing-level,target-pattern]

|target-attribute
|The name of a node attribute that is set for nodes to which this level applies
'(since 1.1.14)'
indexterm:[target-attribute,fencing-level]
indexterm:[Fencing,fencing-level,target-attribute]

|index
|The order in which to attempt the levels.
Levels are attempted in ascending order 'until one succeeds'.
Expand Down Expand Up @@ -871,3 +883,10 @@ be logged but ignored.
When a reboot operation is remapped, any action-specific timeout for the
remapped action will be used (for example, +pcmk_off_timeout+ will be used when
executing the +off+ command, not +pcmk_reboot_timeout+).

[NOTE]
====
In Pacemaker versions 1.1.13 and earlier, reboots will not be remapped in the
second case. To achieve the same effect, separate fencing devices for off and
on actions must be configured.
====
12 changes: 12 additions & 0 deletions doc/Pacemaker_Explained/en-US/Revision_History.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,18 @@
</simplelist>
</revdescription>
</revision>
<revision>
<revnumber>6-0</revnumber>
<date>Tue Dec 8 2015</date>
<author><firstname>Ken</firstname><surname>Gaillot</surname><email>[email protected]</email></author>
<revdescription>
<simplelist>
<member>
Update for Pacemaker 1.1.14
</member>
</simplelist>
</revdescription>
</revision>
</revhistory>
</simpara>
</appendix>
2 changes: 1 addition & 1 deletion doc/Pacemaker_Remote/en-US/Book_Info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
changes (OS, pacemaker, corosync, pcs), and PUBSNUMBER for
simple textual changes (corrections, translations, etc.).
-->
<edition>4</edition>
<edition>5</edition>
<pubsnumber>0</pubsnumber>
<abstract>
<para>
Expand Down
5 changes: 5 additions & 0 deletions doc/Pacemaker_Remote/en-US/Ch-Intro.txt
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,11 @@ It is recommended to run Pacemaker 1.1.12 or later when using pacemaker_remote
due to important bug fixes. An overview of changes in pacemaker_remote
capability by version:

.1.1.14
* Resources that create guest nodes can be included in groups
* reconnect_interval option for remote nodes
* Bug fixes, including a memory leak

.1.1.13
* Support for maintenance mode
* Remote nodes can recover without being fenced when the cluster node
Expand Down
12 changes: 9 additions & 3 deletions doc/Pacemaker_Remote/en-US/Ch-Options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,19 @@ Descriptions of these instance attributes can be retrieved using the following
`pcs` command:
----
# pcs resource describe remote
ocf:pacemaker:remote -


ocf:pacemaker:remote - remote resource agent

Resource options:
server: Server location to connect to. This can be an ip address or hostname.
port: tcp port to connect to.
reconnect_interval: Time in seconds to wait before attempting to reconnect to
a remote node after an active connection to the remote
node has been severed. This wait is recurring. If
reconnect fails after the wait period, a new reconnect
attempt will be made after observing the wait time. When
this option is in use, pacemaker will keep attempting to
reach out and connect to the remote node indefinitely
after each wait interval.
----

When defining a remote node's connection resource, it is common and recommended
Expand Down
7 changes: 6 additions & 1 deletion doc/Pacemaker_Remote/en-US/Revision_History.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@
<author><firstname>Ken</firstname><surname>Gaillot</surname><email>[email protected]</email></author>
<revdescription><simplelist><member>Targeted CentOS 7.1 and Pacemaker 1.1.12+, updated for current terminology and practice</member></simplelist></revdescription>
</revision>
<revision>
<revnumber>5-0</revnumber>
<date>Tue Dec 8 2015</date>
<author><firstname>Ken</firstname><surname>Gaillot</surname><email>[email protected]</email></author>
<revdescription><simplelist><member>Updated for Pacemaker 1.1.14</member></simplelist></revdescription>
</revision>
</revhistory>
</simpara>
</appendix>

2 changes: 1 addition & 1 deletion lib/cib/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ noinst_HEADERS =
libcib_la_SOURCES = cib_ops.c cib_utils.c cib_client.c cib_native.c cib_attrs.c
libcib_la_SOURCES += cib_file.c cib_remote.c

libcib_la_LDFLAGS = -version-info 4:2:0 -L$(top_builddir)/lib/pengine/.libs
libcib_la_LDFLAGS = -version-info 5:0:1 -L$(top_builddir)/lib/pengine/.libs
libcib_la_LIBADD = $(CRYPTOLIB) $(top_builddir)/lib/pengine/libpe_rules.la $(top_builddir)/lib/common/libcrmcommon.la
libcib_la_CFLAGS = -I$(top_srcdir)

Expand Down
2 changes: 1 addition & 1 deletion lib/fencing/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include \
lib_LTLIBRARIES = libstonithd.la

libstonithd_la_SOURCES = st_client.c
libstonithd_la_LDFLAGS = -version-info 3:3:1
libstonithd_la_LDFLAGS = -version-info 4:0:2
libstonithd_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la

AM_CFLAGS = $(AM_CPPFLAGS)
2 changes: 1 addition & 1 deletion lib/pengine/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ libpe_rules_la_LDFLAGS = -version-info 2:5:0
libpe_rules_la_SOURCES = rules.c common.c
libpe_rules_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la

libpe_status_la_LDFLAGS = -version-info 9:0:5
libpe_status_la_LDFLAGS = -version-info 10:0:0
libpe_status_la_SOURCES = status.c unpack.c utils.c complex.c native.c group.c clone.c rules.c common.c
libpe_status_la_LIBADD = @CURSESLIBS@ $(top_builddir)/lib/common/libcrmcommon.la

Expand Down
2 changes: 1 addition & 1 deletion lib/services/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ lib_LTLIBRARIES = libcrmservice.la
noinst_HEADERS = upstart.h systemd.h services_private.h

libcrmservice_la_SOURCES = services.c services_linux.c
libcrmservice_la_LDFLAGS = -version-info 3:0:0
libcrmservice_la_LDFLAGS = -version-info 4:0:1
libcrmservice_la_CFLAGS = $(GIO_CFLAGS) -DOCF_ROOT_DIR=\"@OCF_ROOT_DIR@\"
libcrmservice_la_LIBADD = $(GIO_LIBS) $(top_builddir)/lib/common/libcrmcommon.la $(DBUS_LIBS)

Expand Down
2 changes: 1 addition & 1 deletion pacemaker.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@

Name: pacemaker
Summary: Scalable High-Availability cluster resource manager
Version: 1.1.13
Version: 1.1.14
Release: %{pcmk_release}%{?dist}
License: GPLv2+ and LGPLv2+
Url: http://www.clusterlabs.org
Expand Down
2 changes: 1 addition & 1 deletion pengine/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ endif
noinst_HEADERS = allocate.h utils.h pengine.h
#utils.h pengine.h

libpengine_la_LDFLAGS = -version-info 9:0:5
libpengine_la_LDFLAGS = -version-info 10:0:0
# -L$(top_builddir)/lib/pils -lpils -export-dynamic -module -avoid-version
libpengine_la_SOURCES = pengine.c allocate.c utils.c constraints.c
libpengine_la_SOURCES += native.c group.c clone.c master.c graph.c utilization.c
Expand Down
2 changes: 1 addition & 1 deletion version.m4
Original file line number Diff line number Diff line change
@@ -1 +1 @@
m4_define([VERSION_NUMBER], [1.1.13])
m4_define([VERSION_NUMBER], [1.1.14])

0 comments on commit a1356ee

Please sign in to comment.