##############################################################################
# #
# sync, type btrfssnap #
# #
##############################################################################
[sync#0]
;type = btrfssnap
#
# keyword: name
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A name included in the snapshot name to avoid retention conflicts
# between multiple btrfs snapshot resources. A full snapshot name is
# formatted as <subvol>.<name>.snap.<datetime>. Example:
# data.weekly.snap.2016-03-09.10:09:52
#
;name = weekly
#
# keyword: subvol
# ----------------------------------------------------------------------------
# required: True
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace separated list of <label>:<subvol> to snapshot.
#
;subvol = svc1fs:data svc1fs:log
#
# keyword: keep
# ----------------------------------------------------------------------------
# required: True
# provisioning: False
# default: 3
# candidates: None
# depends: None
# scopable: True
#
# desc: The maximum number of snapshots to retain.
#
;keep = 3
#
# keyword: restart
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: 0
# candidates: None
# depends: None
# scopable: True
#
# desc: The agent will try to restart a resource n times before falling back
# to the monitor action.
#
;restart = 0
#
# keyword: tags
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A list of tags. Arbitrary tags can be used to limit action scope to
# resources with a specific tag. Some tags can influence the driver
# behaviour. For example the 'encap' tag assigns the resource to the
# encapsulated service, 'noaction' avoids any state changing action
# from the driver, 'nostatus' forces the status to n/a.
#
;tags = foo
#
# keyword: subset
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: Assign the resource to a specific subset.
#
;subset = foo
#
# keyword: monitor
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: False
# candidates: True | False
# depends: None
# scopable: True
#
# desc: A monitored resource will trigger a node suicide if the service has
# a heartbeat resource in up state
#
;monitor = False
#
# keyword: disable
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: False
# candidates: True | False
# depends: None
# scopable: True
#
# desc: A disabled resource will be ignored on service startup and shutdown.
#
;disable = False
#
# keyword: disable_on
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: []
# candidates: None
# depends: None
# scopable: False
#
# desc: A whitelist-separated list of nodes to disable the resource on. A
# disabled resource will be ignored on service startup and shutdown.
#
;disable_on = []
#
# keyword: enable_on
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: []
# candidates: None
# depends: None
# scopable: False
#
# desc: A whitelist-separated list of nodes to enable the resource on. Takes
# precedence over disable and disable_on.
#
;enable_on = []
#
# keyword: optional
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: False
# candidates: True | False
# depends: None
# scopable: True
#
# desc: Possible values are 'true' or 'false'. Actions on resource will be
# tried upon service startup and shutdown, but action failures will be
# logged and passed over. Useful for resources like dump filesystems
# for example.
#
;optional = False
#
# keyword: always_on
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: nodes | drpnodes | nodes drpnodes
# depends: None
# scopable: False
#
# desc: Possible values are 'nodes', 'drpnodes' or 'nodes drpnodes', or a
# list of nodes. Sets the nodes on which the resource is always kept
# up. Primary usage is file synchronization receiving on non-shared
# disks. Don't set this on shared disk !! danger !!
#
;always_on = nodes
#
# keyword: pre_unprovision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource unprovision
# action. Errors do not interrupt the action.
#
;pre_unprovision = foo
#
# keyword: post_unprovision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource unprovision
# action. Errors do not interrupt the action.
#
;post_unprovision = foo
#
# keyword: pre_provision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource provision action.
# Errors do not interrupt the action.
#
;pre_provision = foo
#
# keyword: post_provision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource provision action.
# Errors do not interrupt the action.
#
;post_provision = foo
#
# keyword: pre_start
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource start action.
# Errors do not interrupt the action.
#
;pre_start = foo
#
# keyword: post_start
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource start action.
# Errors do not interrupt the action.
#
;post_start = foo
#
# keyword: pre_stop
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource stop action.
# Errors do not interrupt the action.
#
;pre_stop = foo
#
# keyword: post_stop
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource stop action.
# Errors do not interrupt the action.
#
;post_stop = foo
#
# keyword: pre_sync_nodes
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_nodes
# action. Errors do not interrupt the action.
#
;pre_sync_nodes = foo
#
# keyword: post_sync_nodes
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_nodes action.
# Errors do not interrupt the action.
#
;post_sync_nodes = foo
#
# keyword: pre_sync_drp
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_drp action.
# Errors do not interrupt the action.
#
;pre_sync_drp = foo
#
# keyword: post_sync_drp
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_drp action.
# Errors do not interrupt the action.
#
;post_sync_drp = foo
#
# keyword: pre_sync_resync
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_resync
# action. Errors do not interrupt the action.
#
;pre_sync_resync = foo
#
# keyword: post_sync_resync
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_resync
# action. Errors do not interrupt the action.
#
;post_sync_resync = foo
#
# keyword: pre_sync_update
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_update
# action. Errors do not interrupt the action.
#
;pre_sync_update = foo
#
# keyword: post_sync_update
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_update
# action. Errors do not interrupt the action.
#
;post_sync_update = foo
#
# keyword: pre_run
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource run action.
# Errors do not interrupt the action.
#
;pre_run = foo
#
# keyword: post_run
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource run action. Errors
# do not interrupt the action.
#
;post_run = foo
#
# keyword: blocking_pre_unprovision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource unprovision
# action. Errors interrupt the action.
#
;blocking_pre_unprovision = foo
#
# keyword: blocking_post_unprovision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource unprovision
# action. Errors interrupt the action.
#
;blocking_post_unprovision = foo
#
# keyword: blocking_pre_provision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource provision action.
# Errors interrupt the action.
#
;blocking_pre_provision = foo
#
# keyword: blocking_post_provision
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource provision action.
# Errors interrupt the action.
#
;blocking_post_provision = foo
#
# keyword: blocking_pre_start
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource start action.
# Errors interrupt the action.
#
;blocking_pre_start = foo
#
# keyword: blocking_post_start
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource start action.
# Errors interrupt the action.
#
;blocking_post_start = foo
#
# keyword: blocking_pre_stop
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource stop action.
# Errors interrupt the action.
#
;blocking_pre_stop = foo
#
# keyword: blocking_post_stop
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource stop action.
# Errors interrupt the action.
#
;blocking_post_stop = foo
#
# keyword: blocking_pre_sync_nodes
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_nodes
# action. Errors interrupt the action.
#
;blocking_pre_sync_nodes = foo
#
# keyword: blocking_post_sync_nodes
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_nodes action.
# Errors interrupt the action.
#
;blocking_post_sync_nodes = foo
#
# keyword: blocking_pre_sync_drp
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_drp action.
# Errors interrupt the action.
#
;blocking_pre_sync_drp = foo
#
# keyword: blocking_post_sync_drp
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_drp action.
# Errors interrupt the action.
#
;blocking_post_sync_drp = foo
#
# keyword: blocking_pre_sync_resync
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_resync
# action. Errors interrupt the action.
#
;blocking_pre_sync_resync = foo
#
# keyword: blocking_post_sync_resync
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_resync
# action. Errors interrupt the action.
#
;blocking_post_sync_resync = foo
#
# keyword: blocking_pre_sync_update
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource sync_update
# action. Errors interrupt the action.
#
;blocking_pre_sync_update = foo
#
# keyword: blocking_post_sync_update
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource sync_update
# action. Errors interrupt the action.
#
;blocking_post_sync_update = foo
#
# keyword: blocking_pre_run
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute before the resource run action.
# Errors interrupt the action.
#
;blocking_pre_run = foo
#
# keyword: blocking_post_run
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: A command or script to execute after the resource run action. Errors
# interrupt the action.
#
;blocking_post_run = foo
#
# keyword: unprovision_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'unprovision' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;unprovision_requires =
#
# keyword: provision_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'provision' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;provision_requires =
#
# keyword: start_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'start' action. A condition is expressed as <rid>(<state>,...). If
# states are omitted, 'up,stdby up' is used as the default expected
# states.
#
;start_requires =
#
# keyword: stop_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'stop' action. A condition is expressed as <rid>(<state>,...). If
# states are omitted, 'up,stdby up' is used as the default expected
# states.
#
;stop_requires =
#
# keyword: sync_nodes_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'sync_nodes' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;sync_nodes_requires =
#
# keyword: sync_drp_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'sync_drp' action. A condition is expressed as <rid>(<state>,...).
# If states are omitted, 'up,stdby up' is used as the default expected
# states.
#
;sync_drp_requires =
#
# keyword: sync_update_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'sync_update' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;sync_update_requires =
#
# keyword: sync_break_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'sync_break' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;sync_break_requires =
#
# keyword: sync_resync_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'sync_resync' action. A condition is expressed as
# <rid>(<state>,...). If states are omitted, 'up,stdby up' is used as
# the default expected states.
#
;sync_resync_requires =
#
# keyword: run_requires
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default:
# candidates: None
# depends: None
# scopable: True
#
# desc: A whitespace-separated list of conditions to meet to accept running
# a 'run' action. A condition is expressed as <rid>(<state>,...). If
# states are omitted, 'up,stdby up' is used as the default expected
# states.
#
;run_requires =
#
# keyword: schedule
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: None
# candidates: None
# depends: None
# scopable: True
#
# desc: Set the this resource synchronization schedule. See
# usr/share/doc/node.conf for the schedule syntax reference.
#
;schedule = ["00:00-01:00@61 mon", "02:00-03:00@61 tue-sun"]
#
# keyword: sync_max_delay
# ----------------------------------------------------------------------------
# required: False
# provisioning: False
# default: 1440
# candidates: None
# depends: None
# scopable: False
#
# desc: Unit is minutes. This sets to delay above which the sync status of
# the resource is to be considered down. Should be set according to
# your application service level agreement. The cron job frequency
# should be set between 'sync_min_delay' and 'sync_max_delay'.
#
;sync_max_delay = 1440