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}
New Keywords¶
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 innode.conf
. - The
stonith
resource drivers are dropped. The stonith configurations are moved tonode.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
Agent Migration¶
Live migration from 1.8 to 1.9 requires some precaution. This section describes the recommended preliminary actions and services reconfigurations.
- Before Upgrade
- Install python-crypto
- Stop docker services
- Freeze all services
- Unconfigure OpenHA
- Set node.maintenance_grace_period
- Set node.rejoin_grace_period
- Unset DEFAULT.mode
- Set DEFAULT.orchestrate
- Set DEFAULT.placement
- Set DEFAULT.constraints
- Rename DEFAULT.affinity to DEFAULT.hard_affinity
- Rename DEFAULT.anti_affinity` to DEFAULT.hard_anti_affinity
- Remove DEFAULT.autostart_node
- Remove hb sections from service configurations
- Replace optional_on, monitor_on, enable_on and disable_on by their equivalent scoped optional, monitor, enable and disable
- Replace sync[rsync].exclude by their equivalent sync[rsync].options
- Replace DEFAULT.service_env by their equivalent DEFAULT.env
- Set <rid>.provision=false in your templates
- Set DEFAULT.parents and DEFAULT.children
- Set type=docker on docker ip resources
- Verify disk.scsireserv monitor and optional values
- After Upgrade