diff --git a/.travis.yml b/.travis.yml index 2e5f1050ee..73f62eca60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,110 +1,112 @@ # Copyright 2012-2019 the Pacemaker project contributors # # The version control history for this file may have further details. # Control file for the Travis autobuilder # https://docs.travis-ci.com/user/customizing-the-build/ language: c # We build with both gcc and clang. If MAINT_EXTRA=1 (gcc only), the # schema regression tests will additionally be run. matrix: include: - compiler: gcc env: MAINT_EXTRA=1 arch: amd64 - compiler: clang env: MAINT_EXTRA=0 arch: amd64 - compiler: gcc env: MAINT_EXTRA=0 arch: ppc64le cache: directories: - xml/.relaxng.org # sudo add-apt-repository ppa:hotot-team before_install: - if [ "$TRAVIS_ARCH" == "ppc64le" ]; then sudo add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports/ trusty main"; sudo apt-get update -qq; fi - if [ "$TRAVIS_ARCH" == "amd64" ]; then sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ trusty main"; sudo apt-get update -qq; fi # To switch to Travis-CI's containerized (non-sudo) architecture, # all our dependencies need to be on Travis's whitelist: # https://github.com/travis-ci/apt-package-whitelist # # The only ones that aren't already are: # - cluster-glue-dev: see open issue: # https://github.com/travis-ci/apt-package-whitelist/issues/2936 # - resource-agents: see open issue: # https://github.com/travis-ci/apt-package-whitelist/issues/4261 # - libdbus-1-dev: see multiple open issues: # https://github.com/travis-ci/apt-package-whitelist/issues?utf8=%E2%9C%93&q=is%3Aissue+libdbus+-1-dev # (a workaround is to install libdbus-glib-1-dev, which depends on it and is whitelisted) install: - sudo apt-get install -qq automake autoconf libtool python python-dev libbz2-dev libdbus-1-dev libglib2.0-dev libgnutls-dev libltdl-dev libncurses5-dev libpam0g-dev libxml2-dev libxslt1-dev uuid-dev libqb-dev libcfg-dev libcmap-dev libcorosync-common-dev libcpg-dev libquorum-dev libsam-dev libtotem-pg-dev libvotequorum-dev cluster-glue-dev resource-agents - test $MAINT_EXTRA -eq 0 || sudo apt-get install -qq libxml2-utils xsltproc before_script: # some tests (e.g. cts-exec-helper) require actual system-wide credentials - ./autogen.sh - - ./configure --with-daemon-user=nobody --with-daemon-group=nobody + - ./configure --with-daemon-user=nobody --with-daemon-group=nogroup + --libexecdir=/usr/lib/pacemaker + --with-configdir=/etc/default script: # Create directories needed by commands used by regression tests - sudo make install-exec-local || true - make - make check - ./cts/cts-cli -V - ./cts/cts-scheduler -V - sudo ./cts/cts-exec -V --force-wait - test $MAINT_EXTRA -eq 0 || { { echo 'looking for presence of control characters...'; { git ls-files | grep -v tap-driver.sh | xargs grep -Ensv "^([^[:cntrl:]]*|$(printf '\t'))*$"||:; } 2>/dev/null | { ! grep -Ev '^Binary file' && echo 'ALL OK'; }; } && ( cd xml; ./regression.sh && ./regression.sh -B && ./regression.sh -S && { schemas=; for schema in *.rng; do case ${schema} in *cibtr*);; *)schemas="${schemas} ${schema}";; esac; done; test -s .relaxng.org/relaxng.rng 2>/dev/null || curl --create-dirs -SsLo .relaxng.org/relaxng.rng 'https://raw.githubusercontent.com/relaxng/relaxng.org/master/relaxng.rng'; xmllint --noout --relaxng .relaxng.org/relaxng.rng ${schemas}; } ); } #after_script: #after_success: after_failure: - lsb_release -a - sudo cat /etc/apt/sources.list - whoami - env | sort - cat include/config.h notifications: irc: "irc.freenode.org#pcmk" # email: # recipients: # - developers@clusterlabs.org # whitelist branches: only: - master - "1.1" - "2.0" diff --git a/ChangeLog b/ChangeLog index 45aad015e2..74e74de9f5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2957 +1,2947 @@ -* Mon Nov 16 2020 Chris Lumens Pacemaker-2.0.5-rc3 -- Changesets: 6 -- Diff: 4 files changed, 28 insertions(+), 10 deletions(-) - -- Changes since Pacemaker-2.0.5-rc2 - + build: Fix python2 vs. python3 packaging problems on openSUSE Tumbleweed - + build: Update pkgconfig files for CI testing - + tools: Use bash in cibsecret - -* Tue Oct 27 2020 Chris Lumens Pacemaker-2.0.5-rc2 -- Changesets: 16 -- Diff: 19 files changed, 348 insertions(+), 145 deletions(-) - -- Changes since Pacemaker-2.0.5-rc1 - + Prevent the bypassing of ACLs by direct IPC (CVE-2020-25654) - + scheduler: fix build when DEFAULT_CONCURRENT_FENCING_TRUE is set - + scheduler: Remove pe_print_expanded_xml print option. - + tools: Revert some crm_resource string-related checks on variables - that aren't strings. - + xml: Mark new crm_mon attributes as optional in schema - -* Mon Oct 19 2020 Chris Lumens Pacemaker-2.0.5-rc1 -- Changesets: 497 -- Diff: 285 files changed, 22704 insertions(+), 14458 deletions(-) +* 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. - 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