Release Notes

Policy changes

  • The optional resource flag is now used to dispatch resources into the "avail" and "optional" lists, instead of using hardcoded driver groups. Service designers can thus choose what resources contribute to the availabilty state, letting other, optional, resources contribute to the overall status. Note the asynchronous, target-state driven, daemon actions only consider the service instances availstatus. For example, a "start" action tells the daemon to take actions for the service to reach the "up availability state", so a service with optional resources down is already considered on-target and no action will be taken.
  • Resources tagged "noaction" are now automatically set optional. Beware, an encap service should have at least one non-optional resource for an availstatus to be evaluated.
  • The disk.scsireserv resources now inherit their peer resource optional and monitor values.

New Features

  • The agent now runs a daemon implementing heartbeats, quorum, scheduling, a remote OpenSVC actions listener and node/services/resources orchestration.
  • The agent now announce its "compat version" in the heartbeats, so as ensure proper communication with other cluster nodes. A lack of "compat version" alignment temporarily disable automated orchestration, until issue is fixed.
  • Add monitor states to svcmgr print status human-friendly and JSON outputs.
  • The frozen service instance status is not longer honored by the CRM, only by the orchestrator.
  • The node is freezeable. A thawed service instance on a frozen node is not orchestrated.
  • Service are created in frozen state by svcmgr create.
  • svcmon output is now cluster-wide and displays daemon information
  • Most commands have adopted a "forest" representation for their human-friendly output: om node pushasset, om node checks, om node pushdisks, svcmgr print schedule, om node print schedule, ...
  • Support JSON output in om node pushdisks, om node checks, om node pushasset.
  • om node unset --param <section>
  • svcmgr enable and svcmgr disable no longer reorder the service configuration file.
  • Near-synchronous service configuration file swapping amongst cluster nodes.
  • Cluster-wide service logs, and follow mode
  • Pervasive support for converters in keyword values and command line argument values: period (ex: 1h10s), size (10mib), speed (10mib/s), shlex, integer, boolean, list, set.
  • Add a size formatter and use it in most command outputs.
  • Use a denser streamlog format.
  • svcmgr -s now accepts service selection expressions
  • Cap the parallel running subprocesses on svcmgr --parallel commands. node.max_parallel node configuration keyword can be used to change the default value (10).
  • The provision local action now leaves the instance in standby state, instead of started.
  • Support different command for stop, start, check, info actions in a app resource.
  • The <svcname>.stonith and <svcname>.cluster symlinks are no longer necessary, and automatically deleted.
  • The DEFAULT.env parameter is now only used to check for service placement : a PRD node can only run PRD/PPRD services
  • Inter-services start dependencies, intra-cluster, using the DEFAULT.parents keyword.
  • Inter-services stop dependencies, intra-cluster, using the DEFAULT.children keyword.
  • Scaler services
  • PowerDNS remote backend

Warning

om node thaw, om node freeze, svcmgr start, svcmgr stop, svcmgr freeze, svcmgr thaw, svcmgr provision and svcmgr unprovision commands operate cluster wide. svcmgr unprovision would thus delete all services and their data on all cluster nodes.

New Drivers

  • disk.lv (Linux)
  • ip.cni (Linux)
  • fs.docker

New Commands

svcmgr ls
svcmgr abort
svcmgr clear
svcmgr giveback
svcmgr takeover
svcmgr start --upto <drvgrp>
svcmgr stop --downto <drvgrp>
svcmgr set --param <param> --add <member>
svcmgr set --param <param> --remove <member>
svcmgr set --kw <expr> [--kw <expr> ...]
svcmgr set provisioned
svcmgr unset provisioned
svcmgr print devs
svcmgr print exposed devs
svcmgr print sub devs
svcmgr print base devs
svcmgr snooze
svcmgr unsnooze
om node freeze
om node thaw
om node print devs
om node daemon status
om node daemon blacklist
om node daemon join
om node daemon leave
om node daemon running
om node daemon shutdown
om node daemon start
om node daemon stop
om node daemon restart
om node set --param <param> --add <member>
om node set --param <param> --remove <member>
om node ping --node <nodename>
om node snooze
om node unsnooze

New References

{clusternodes}
{clusterdrpnodes}
{clustername}
{exposed_devs}
{exposed_devs}[<n>]
{sub_devs}
{sub_devs}[<n>]
{base_devs}
{base_devs}[<n>]
{dns}
{dnsnodes}
{dnsuxsock}
{dnsuxsockd}
{collector_api}

Deprecated

  • The agent no longer needs a crontrab entry. The package postinstall removes it if present.
  • The hb resource drivers are dropped. The heartbeats are now handled by the daemon and configured in node.conf.
  • The stonith resource drivers are dropped. The stonith configurations are moved to node.conf.
  • sync#i1 internal sync to drp nodes is dropped.
  • *.optional_on
  • *.monitor_on
  • *.enable_on
  • *.disable_on
  • *.always_on (maintained for backward compatibility)
  • sync[rsync].exclude
  • DEFAULT.service_env
  • DEFAULT.autostart_node
  • DEFAULT.mode
  • DEFAULT.cluster_type (renamed to DEFAULT.topology, maintained for backward compatibility)
  • svcmgr boot
  • svcmgr startip
  • svcmgr startdisk
  • svcmgr startfs
  • svcmgr startshare
  • svcmgr startcontainer
  • svcmgr startapp
  • svcmgr stopip
  • svcmgr stopdisk
  • svcmgr stopfs
  • svcmgr stopshare
  • svcmgr stopcontainer
  • svcmgr stopapp
  • svcmgr compliance attach moduleset
  • svcmgr compliance detach moduleset
  • svcmgr compliance attach ruleset
  • svcmgr compliance detach ruleset
  • om node compliance attach moduleset
  • om node compliance detach moduleset
  • om node compliance attach ruleset
  • om node compliance detach ruleset