Skip to content

Releases: ClusterLabs/sbd

v1.5.2

09 Jan 14:33
cf5c220
Compare
Choose a tag to compare
Changes since 1.5.1:

- fail startup if pacemaker integration is disabled while
  SBD_SYNC_RESOURCE_STARTUP is conflicting (+ hint to overcome)
- improve logs
  - when logging state of SBD_PACEMAKER tell it is just that as
    this might still be overridden via cmdline options
  - log a warning if SBD_PACEMAKER is overridden by -P or -PP option
  - do not warn about startup syncing with pacemaker integration disabled
  - when watchdog-device is busy give a hint on who is hogging it
- improve build environment
  - have --with-runstatedir overrule --runstatedir
  - use new package name for pacemaker devel on opensuse
  - make config location configurable for man-page-creation
  - reverse alloc/de-alloc order to make gcc-12 static analysis happy
- improve test environment
  - have image-files in /dev/shm to assure they are in memory and
    sbd opening the files with O_SYNC doesn't trigger unnecessary
    syncs on a heavily loaded test-machine
    fallback to /tmp if /dev/shm doesn't exist
  - wrapping away libaio and usage of device-mapper for block-device
    simulation can now be passed into make via
    SBD_USE_DM & SBD_TRANSLATE_AIO
  - have variables that configure test-environment be printed
    out prior to running tests
  - finally assure we clean environment when interrupted by a
    signal (bash should have done it with just setting EXIT handler -
    but avoiding bashism might come handy one day)

v1.5.1

16 Nov 06:33
6bb085f
Compare
Choose a tag to compare
Changes since 1.5.0:

- improve/fix cmdline handling
  - tell the actual watchdog device specified with -w
  - tolerate and strip any leading spaces of commandline option values
  - Sanitize numeric arguments
- if start-delay enabled, not explicitly given and msgwait can't be
  read from disk (diskless) use 2 * watchdog-timeout
- avoid using deprecated valloc for disk-io-buffers
- avoid frequent alloc/free of aligned buffers to prevent fragmentation
- fix memory-leak in one-time-allocations of sector-buffers
- fix AIO-API usage: properly destroy io-context
- improve/fix build environment
  - validate configure options for paths
  - remove unneeded complexity of configure.ac hierarchy
  - correctly derive package version from git (regression since 1.5.0)
  - make runstatedir configurable and derive from distribution

v1.5.0

14 Jun 14:44
d7f447d
Compare
Choose a tag to compare

Changes since 1.4.2

  • default to resource-syncing with pacemaker in spec-file and configure.ac
    This default has to match between sbd and pacemaker and
    thus qualifies this release for a minor-version-bump
  • fix some regressions introduced by adding configurability previously
  • adapt description of startup/shutdown sync with pacemaker
  • make watchdog warning messages more understandable

v1.4.2: Changes since 1.4.1:

02 Dec 20:35
Compare
Choose a tag to compare

-- improve build/CI-friendlyness

  • travis: switch to F32 as build-host
    switch to F32 & leap-15.2
    changes for mock-2.0
    turn off loop-devices & device-mapper on x86_64 targets because
    of changes in GCE
  • regressions.sh: get timeouts from disk-header to go with proper defaults
    for architecture
  • use configure for watchdog-default-timeout & others
  • ship sbd.pc with basic sbd build information for downstream packages
    to use
  • add number of commits since version-tag to build-counter

-- add robustness against misconfiguration / improve documentation

  • add environment section to man-page previously just available in
    template-config
  • inform the user to restart the sbd service after disk-initialization
  • refuse to start if any of the configured device names is invalid
  • add handshake to sync startup/shutdown with pacemakerd
    Previously sbd just waited for the cib-connnection to show up/go away
    which isn't robust at all.
    The new feature needs new pacemakerd-api as counterpart.
    Thus build checks for presence of pacemakerd-api.
    To simplify downstream adoption behavior is configurable at runtime
    via configure-file with a build-time-configurable default.
  • refuse to start if qdevice-sync_timeout doesn't match watchdog-timeout
    Needed in particular as qdevice-sync_timeout delays quorum-state-update
    and has a default of 30s that doesn't match the 5s watchdog-timeout
    default.

-- misc fixes

  • Fix: sbd-pacemaker: handle new no_quorum_demote + robustness against new
    policies added
  • Fix: agent: correctly compare string values when calculating timeout
  • Fix: scheduling: overhaul the whole thing
    • prevent possible lockup when format in proc changes
    • properly get and handle scheduler policy & prio
    • on SCHED_RR failing push to the max with SCHED_OTHER

v1.4.1: Changes since 1.4.0:

19 Nov 18:07
Compare
Choose a tag to compare
  • improvements/clarifications in documentation
  • properly finalize cmap connection when disconnected from cluster
  • make handling of cib-connection loss more robust
  • silence some coverity findings
  • overhaul log for reasonable prios and details
  • if current slice doesn't have rt-budget move to root-slice
  • periodically ping corosync daemon for liveness
  • actually use crashdump timeout if configured
  • avoid deprecated names for g_main-loop-funcitons
  • conflict with fence-agents-sbd < 4.5.0
  • rather require corosync-devel provided by most distributions
  • make devices on cmdline overrule those coming via SBD_DEVICE
  • make 15s timeout on s390 be used consistently
  • improve build/test for CI-friendlyness
    • add autogen.sh
    • enable/improve out-of-tree-building
    • make tar generation smarter
    • don't modify sbd.spec
    • make distcheck-target work
    • Add tests/regressions.sh to check-target
    • use unique devmapper names for multiple tests in parallel
    • consistently use serial test-harness for visible progress
    • package tests into separate package (not packaged before)
    • add preload-library to intercept reboots while testing
    • add tests for sbd in daemon-mode & watchdog-dev-handling
    • make tests work in non-privileged containers

v1.4.0: Changes since 1.3.1:

14 Jan 13:31
7f33d1a
Compare
Choose a tag to compare
  • overhaul log-levels
  • add Makefile for copr-builds
  • make tools rather fail if disk-devices can't be accessed
  • add man section for query-watchdog & test-watchdog
  • prevent start of pacemaker & dlm if sbd doesn't come up
  • build against Pacemaker-2.0
  • build issues with glibc 2.25 and with BSD systems
  • prepare for makedev going away in <sys/types.h>
  • respect newer gcc versions being more picky on
    format-string-checking
  • updated travis-CI (ppc64le-build, fedora29, remove need for
    alectolytic-build-container)
  • make watchdog-device-query easier to be handled by an
    SELinux-policy
  • configurable delay value for SBD_DELAY_START
  • use pacemaker's new pe api with constructors/destructors
  • make timeout-action executed by sbd configurable
  • init script for sysv systems