DEFAULT ******* .. _DEFAULT.access: :kw:`access` ============ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** rwo **inheritance** head **scope order** specific > generic **candidates** rwo | roo | rwx | rox **depends** kind in vol ================= ================================================================ The access mode of the volume. ``rwo`` is Read Write Once, ``roo`` is Read Only Once, ``rwx`` is Read Write Many, ``rox`` is Read Only Many. ``rox`` and ``rwx`` modes are served by flex volume services. .. _DEFAULT.app: :kw:`app` ========= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** default **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ Used to identify who is responsible for this service, who is billable and provides a most useful filtering key. Better keep it a short code. .. _DEFAULT.aws: :kw:`aws` ========= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The aws cli executable fullpath. If not provided, aws is expected to be found in the PATH. .. _DEFAULT.aws_profile: :kw:`aws_profile` ================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** default **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The profile to use with the AWS api. .. _DEFAULT.blocking_post_provision: :kw:`blocking_post_provision` ============================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`provision` action. Errors interrupt the action. .. _DEFAULT.blocking_post_run: :kw:`blocking_post_run` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`run` action. Errors interrupt the action. .. _DEFAULT.blocking_post_start: :kw:`blocking_post_start` ========================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`start` action. Errors interrupt the action. .. _DEFAULT.blocking_post_startstandby: :kw:`blocking_post_startstandby` ================================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`startstandby` action. Errors interrupt the action. .. _DEFAULT.blocking_post_stop: :kw:`blocking_post_stop` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`stop` action. Errors interrupt the action. .. _DEFAULT.blocking_post_sync_drp: :kw:`blocking_post_sync_drp` ============================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_drp` action. Errors interrupt the action. .. _DEFAULT.blocking_post_sync_nodes: :kw:`blocking_post_sync_nodes` ============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_nodes` action. Errors interrupt the action. .. _DEFAULT.blocking_post_sync_restore: :kw:`blocking_post_sync_restore` ================================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_restore` action. Errors interrupt the action. .. _DEFAULT.blocking_post_sync_resync: :kw:`blocking_post_sync_resync` =============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_resync` action. Errors interrupt the action. .. _DEFAULT.blocking_post_sync_update: :kw:`blocking_post_sync_update` =============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_update` action. Errors interrupt the action. .. _DEFAULT.blocking_post_unprovision: :kw:`blocking_post_unprovision` =============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`unprovision` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_provision: :kw:`blocking_pre_provision` ============================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`provision` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_run: :kw:`blocking_pre_run` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`run` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_start: :kw:`blocking_pre_start` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`start` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_startstandby: :kw:`blocking_pre_startstandby` =============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`startstandby` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_stop: :kw:`blocking_pre_stop` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`stop` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_sync_drp: :kw:`blocking_pre_sync_drp` =========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_drp` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_sync_nodes: :kw:`blocking_pre_sync_nodes` ============================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_nodes` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_sync_restore: :kw:`blocking_pre_sync_restore` =============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_restore` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_sync_resync: :kw:`blocking_pre_sync_resync` ============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_resync` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_sync_update: :kw:`blocking_pre_sync_update` ============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_update` action. Errors interrupt the action. .. _DEFAULT.blocking_pre_unprovision: :kw:`blocking_pre_unprovision` ============================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`unprovision` action. Errors interrupt the action. .. _DEFAULT.bwlimit: :kw:`bwlimit` ============= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic **convert** speed_kps ================= ================================================================ Bandwidth limit in KB applied to all rsync transfers. Leave empty to enforce no limit. .. _DEFAULT.children: :kw:`children` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** list_lower ================= ================================================================ List of services that must be ``avail down`` before allowing this service to be stopped by the daemon monitor. Whitespace separated. .. _DEFAULT.comment: :kw:`comment` ============= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ Helps users understand the role of the service and resources, which is nice to on-call support people having to operate on a service they are not usually responsible for. .. _DEFAULT.comp_schedule: :kw:`comp_schedule` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** ~00:00-06:00 **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The service compliance run schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.constraints: :kw:`constraints` ================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** head **scope order** specific > generic **depends** orchestrate in ha ================= ================================================================ An expression evaluating as a boolean, constraining the service instance placement by the daemon monitor to nodes with the constraints evaluated as True. The constraints are not honored by manual start operations. The constraints value is embedded in the json status. Supported comparison operators are ``==``, ``!=``, ``>``, ``>=``, ``<=``, ``in (e1, e2)``, ``in [e1, e2]``. Supported arithmetic operators are ``*``, ``+``, ``-``, ``/``, ``**``, ``//``, ``%``. Supported binary operators are ``&``, ``|``, ``^``. The negation operator is ``not``. Supported boolean operators are ``and``, ``or``. References are allowed. Strings, and references evaluating as strings, containing dots must be quoted. .. _DEFAULT.container_data_dir: :kw:`container_data_dir` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ If the service has lxc, docker or podman-type container resources and this keyword is set, the service configures a service-private containers data store. This setup is allows stateful service relocalization. .. _DEFAULT.create_pg: :kw:`create_pg` =============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** True **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Use process containers when possible. Containers allow capping memory, swap and cpu usage per service. Lxc containers are naturally containerized, so skip containerization of their startapp. .. _DEFAULT.disable: :kw:`disable` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ A disabled resource will be ignored on service startup and shutdown. Its status is always reported ``n/a``. Set in DEFAULT, the whole service is disabled. A disabled service does not honor :c-action:`start` and :c-action:`stop` actions. These actions immediately return success. :cmd:`om disable` only sets :kw:`DEFAULT.disable`. As resources disabled state is not changed, :cmd:`om enable` does not enable disabled resources. .. _DEFAULT.docker_daemon_args: :kw:`docker_daemon_args` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** [] **inheritance** leaf > head **scope order** specific > generic **convert** shlex ================= ================================================================ If the service has docker-type container resources, the service handles the startup of a private docker daemon. OpenSVC sets the socket and data dir parameters. Admins can set extra parameters using this keyword. For example, it can be useful to set the :opt:`--ip` parameter for a docker registry service. .. _DEFAULT.docker_daemon_private: :kw:`docker_daemon_private` =========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic **convert** boolean ================= ================================================================ If set to ``false``, this service will use the system's shared docker daemon instance. This is parameter is forced to ``false`` on non-Linux systems. .. _DEFAULT.docker_exe: :kw:`docker_exe` ================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ If you have multiple docker versions installed and want the service to stick to a version whatever the ``PATH`` definition, you should set this parameter to the full path to the docker executable. .. _DEFAULT.dockerd_exe: :kw:`dockerd_exe` ================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ If you have multiple docker versions installed and want the service to stick to a version whatever the ``PATH`` definition, you should set this parameter to the full path to the docker daemon executable. .. _DEFAULT.drp_flex_primary: :kw:`drp_flex_primary` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** lower ================= ================================================================ The drpnode in charge of syncing the other drpnodes. :opt:`--cluster` actions on the drp_flex_primary are executed on all drpnodes (ie, not pri nodes). .. _DEFAULT.drpnode: :kw:`drpnode` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** lower ================= ================================================================ The backup node where the service is activated in a DRP situation. This node is also a data synchronization target for :c-res:`sync` resources. .. _DEFAULT.drpnodes: :kw:`drpnodes` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** list_lower ================= ================================================================ Alternate backup nodes, where the service could be activated in a DRP situation if the 'drpnode' is not available. These nodes are also data synchronization targets for :c-res:`sync` resources. .. _DEFAULT.encap: :kw:`encap` =========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Set to ``true`` to ignore this resource in the nodes context and consider it in the encapnodes context. The resource is thus handled by the agents deployed in the service containers. .. _DEFAULT.encapnodes: :kw:`encapnodes` ================ ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** list_lower ================= ================================================================ The list of `containers` handled by this service and with an OpenSVC agent installed to handle the encapsulated resources. With this parameter set, parameters can be scoped with the ``@encapnodes`` suffix. .. _DEFAULT.env: :kw:`env` ========= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **candidates** CERT | DEV | DRP | FOR | INT | MUS | POC | PRA | PRD | PRJ | PPR | PPRD | QUAL | RCT | REC | STG | TMP | TST | UAT ================= ================================================================ A non-PRD service can not be brought up on a PRD node, but a PRD service can be startup on a non-PRD node (in a DRP situation). The default value is the node :kw:`env`. .. _DEFAULT.flex_cpu_high_threshold: :kw:`flex_cpu_high_threshold` ============================= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 100 **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** integer ================= ================================================================ Cluster-wide load average above which flex new service instances will be started. .. _DEFAULT.flex_cpu_low_threshold: :kw:`flex_cpu_low_threshold` ============================ ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 0 **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** integer ================= ================================================================ Cluster-wide load average below which flex service instances will be stopped. .. _DEFAULT.flex_max: :kw:`flex_max` ============== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** integer ================= ================================================================ Maximum number of up instances in the cluster. Above this number the aggregated service status is degraded to warn. ``0`` means unlimited. .. _DEFAULT.flex_min: :kw:`flex_min` ============== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 1 **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** integer ================= ================================================================ Minimum number of up instances in the cluster. Below this number the aggregated service status is degraded to warn.. .. _DEFAULT.flex_primary: :kw:`flex_primary` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** lower ================= ================================================================ The node in charge of syncing the other nodes. :opt:`--cluster` actions on the flex_primary are executed on all peer nodes (ie, not drpnodes). .. _DEFAULT.flex_target: :kw:`flex_target` ================= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **depends** topology in ['flex'] **convert** integer ================= ================================================================ Optimal number of up instances in the cluster. The value must be between :kw:`flex_min` and :kw:`flex_max`. If ``orchestrate=ha``, the monitor ensures the :kw:`flex_target` is met. .. _DEFAULT.hard_affinity: :kw:`hard_affinity` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** set() **inheritance** head **scope order** specific > generic **convert** set ================= ================================================================ A whitespace separated list of services that must be started on the node to allow the monitor to start this service. .. _DEFAULT.hard_anti_affinity: :kw:`hard_anti_affinity` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** set() **inheritance** head **scope order** specific > generic **convert** set ================= ================================================================ A whitespace separated list of services that must not be started on the node to allow the monitor to start this service. .. _DEFAULT.id: :kw:`id` ======== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic ================= ================================================================ A RFC 4122 random uuid generated by the agent. To use as reference in resources definitions instead of the service name, so the service can be renamed without affecting the resources. .. _DEFAULT.lock_timeout: :kw:`lock_timeout` ================== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 60s **inheritance** leaf > head **scope order** specific > generic **convert** duration ================= ================================================================ A duration expression, like ``1m30s``. The maximum wait time for the action lock acquire. The :cmd:`--waitlock` option overrides this parameter. .. _DEFAULT.monitor: :kw:`monitor` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ A down monitored resource will trigger a node suicide if the monitor thinks it should be up and the resource can not be restarted. .. _DEFAULT.monitor_action: :kw:`monitor_action` ==================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic **candidates** reboot | crash | freezestop | switch ================= ================================================================ The action to take when a monitored resource is not up nor standby up, and if the resource restart procedure has failed. .. _DEFAULT.monitor_schedule: :kw:`monitor_schedule` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The service resource monitor schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.no_preempt_abort: :kw:`no_preempt_abort` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ If set to ``true``, OpenSVC will preempt scsi reservation with a preempt command instead of a preempt and and abort. Some scsi target implementations do not support this last mode (esx). If set to ``false`` or not set, :kw:`no_preempt_abort` can be activated on a per-resource basis. .. _DEFAULT.nodes: :kw:`nodes` =========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** nodes_selector ================= ================================================================ A node selector expression specifying the list of cluster nodes hosting service instances. .. _DEFAULT.optional: :kw:`optional` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** true for tasks, syncs and resources tagged 'noaction', else false **inheritance** leaf > head **scope order** specific > generic **convert** tristate ================= ================================================================ Action failures on optional resources are logged but do not stop the action sequence. Also the optional resource status is not aggregated to the instance 'availstatus', but aggregated to the 'overallstatus'. Resource tagged :c-tag:`noaction` and sync resources are automatically considered optional. Useful for resources like dump filesystems for example. .. _DEFAULT.orchestrate: :kw:`orchestrate` ================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** no **inheritance** head **scope order** specific > generic **candidates** ha | start | no **convert** string ================= ================================================================ If set to ``no``, disable service orchestration by the OpenSVC daemon monitor, including service start on boot. If set to ``start`` failover services won't failover automatically, though the service instance on the natural placement leader is started if another instance is not already up. Flex services won't restart the :kw:`flex_target` number of up instances. Resource restart is still active whatever the :kw:`orchestrate` value. .. _DEFAULT.parents: :kw:`parents` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** head **scope order** specific > generic **convert** list_lower ================= ================================================================ List of services or instances expressed as ``[@]`` that must be ``avail up`` before allowing this service to be started by the daemon monitor. Whitespace separated. .. _DEFAULT.pg_blkio_weight: :kw:`pg_blkio_weight` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** integer ================= ================================================================ Block IO relative weight. Value: between 10 and 1000. Kernel default: 1000. .. _DEFAULT.pg_cpu_quota: :kw:`pg_cpu_quota` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] ================= ================================================================ The percent ratio of one core to allocate to the process group if % is specified, else the absolute value to set in the process group parameter. For example, on Linux cgroups, ``-1`` means unlimited, and a positive absolute value means the number of microseconds to allocate each period. ``50%@all`` means 50% of all cores, and ``50%@2`` means 50% of two cores. .. _DEFAULT.pg_cpu_shares: :kw:`pg_cpu_shares` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** integer ================= ================================================================ Kernel default value is used, which usually is 1024 shares. In a cpu-bound situation, ensure the service does not use more than its share of cpu ressource. The actual percentile depends on shares allowed to other services. .. _DEFAULT.pg_cpus: :kw:`pg_cpus` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] ================= ================================================================ Allow service process to bind only the specified cpus. Cpus are specified as list or range : 0,1,2 or 0-2 .. _DEFAULT.pg_mem_limit: :kw:`pg_mem_limit` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** size ================= ================================================================ Ensures the service does not use more than specified memory (in bytes). The Out-Of-Memory killer get triggered in case of tresspassing. .. _DEFAULT.pg_mem_oom_control: :kw:`pg_mem_oom_control` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** integer ================= ================================================================ A flag (0 or 1) that enables or disables the Out of Memory killer for a cgroup. If enabled (0), tasks that attempt to consume more memory than they are allowed are immediately killed by the OOM killer. The OOM killer is enabled by default in every cgroup using the memory subsystem; to disable it, write 1. .. _DEFAULT.pg_mem_swappiness: :kw:`pg_mem_swappiness` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** integer ================= ================================================================ Set a swappiness value for the process group. .. _DEFAULT.pg_mems: :kw:`pg_mems` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] ================= ================================================================ Allow service process to bind only the specified memory nodes. Memory nodes are specified as list or range : 0,1,2 or 0-2 .. _DEFAULT.pg_vmem_limit: :kw:`pg_vmem_limit` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic **depends** create_pg in [True] **convert** size ================= ================================================================ Ensures the service does not use more than specified memory+swap (in bytes). The Out-Of-Memory killer get triggered in case of tresspassing. The specified value must be greater than :kw:`pg_mem_limit`. .. _DEFAULT.placement: :kw:`placement` =============== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** nodes order **inheritance** head **scope order** specific > generic **candidates** none | nodes order | load avg | shift | spread | score ================= ================================================================ Set a service instances placement policy: * ``none`` no placement policy. a policy for dummy, observe-only, services. * ``nodes order`` the left-most available node is allowed to start a service instance when necessary. * ``load avg`` the least loaded node takes precedences. * ``shift`` shift the nodes order ranking by the service prefix converter to an integer. * ``spread`` a spread policy tends to perfect leveling with many services. * ``score`` the highest scoring node takes precedence (the score is a composite indice of load, mem and swap). .. _DEFAULT.pool: :kw:`pool` ========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** head **scope order** specific > generic **depends** kind in vol ================= ================================================================ The name of the pool this volume was allocated from. .. _DEFAULT.post_provision: :kw:`post_provision` ==================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`provision` action. Errors do not interrupt the action. .. _DEFAULT.post_run: :kw:`post_run` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`run` action. Errors do not interrupt the action. .. _DEFAULT.post_start: :kw:`post_start` ================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`start` action. Errors do not interrupt the action. .. _DEFAULT.post_startstandby: :kw:`post_startstandby` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`startstandby` action. Errors do not interrupt the action. .. _DEFAULT.post_stop: :kw:`post_stop` =============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`stop` action. Errors do not interrupt the action. .. _DEFAULT.post_sync_drp: :kw:`post_sync_drp` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_drp` action. Errors do not interrupt the action. .. _DEFAULT.post_sync_nodes: :kw:`post_sync_nodes` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_nodes` action. Errors do not interrupt the action. .. _DEFAULT.post_sync_restore: :kw:`post_sync_restore` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_restore` action. Errors do not interrupt the action. .. _DEFAULT.post_sync_resync: :kw:`post_sync_resync` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_resync` action. Errors do not interrupt the action. .. _DEFAULT.post_sync_update: :kw:`post_sync_update` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`sync_update` action. Errors do not interrupt the action. .. _DEFAULT.post_unprovision: :kw:`post_unprovision` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute after the resource :c-action:`unprovision` action. Errors do not interrupt the action. .. _DEFAULT.postsnap_trigger: :kw:`postsnap_trigger` ====================== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic **convert** shlex ================= ================================================================ Define a command to run after snapshots are created. This is most likely what you need to use plug a script to undo the actions of :kw:`presnap_trigger`. .. _DEFAULT.pre_monitor_action: :kw:`pre_monitor_action` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A script to execute before the :kw:`monitor_action`. For example, if the :kw:`monitor_action` is set to ``freezestop``, the script can decide to crash the server if it detects a situation were the freezestop can not succeed (ex. fs can not be umounted with a dead storage array). .. _DEFAULT.pre_provision: :kw:`pre_provision` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`provision` action. Errors do not interrupt the action. .. _DEFAULT.pre_run: :kw:`pre_run` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`run` action. Errors do not interrupt the action. .. _DEFAULT.pre_start: :kw:`pre_start` =============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`start` action. Errors do not interrupt the action. .. _DEFAULT.pre_startstandby: :kw:`pre_startstandby` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`startstandby` action. Errors do not interrupt the action. .. _DEFAULT.pre_stop: :kw:`pre_stop` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`stop` action. Errors do not interrupt the action. .. _DEFAULT.pre_sync_drp: :kw:`pre_sync_drp` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_drp` action. Errors do not interrupt the action. .. _DEFAULT.pre_sync_nodes: :kw:`pre_sync_nodes` ==================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_nodes` action. Errors do not interrupt the action. .. _DEFAULT.pre_sync_restore: :kw:`pre_sync_restore` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_restore` action. Errors do not interrupt the action. .. _DEFAULT.pre_sync_resync: :kw:`pre_sync_resync` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_resync` action. Errors do not interrupt the action. .. _DEFAULT.pre_sync_update: :kw:`pre_sync_update` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`sync_update` action. Errors do not interrupt the action. .. _DEFAULT.pre_unprovision: :kw:`pre_unprovision` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A command or script to execute before the resource :c-action:`unprovision` action. Errors do not interrupt the action. .. _DEFAULT.presnap_trigger: :kw:`presnap_trigger` ===================== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic **convert** shlex ================= ================================================================ Define a command to run before creating snapshots. This is most likely what you need to use plug a script to put you data in a coherent state (alter begin backup and the like). .. _DEFAULT.priority: :kw:`priority` ============== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 100 **inheritance** leaf > head **scope order** specific > generic **convert** integer ================= ================================================================ A scheduling priority (0 for top priority) used by the monitor thread to trigger actions for the top priority services, so that the :kw:`node.max_parallel` constraint doesn't prevent high priority services to start first. The priority setting is dropped from a service configuration injected via the api by a user not granted the prioritizer role. .. _DEFAULT.prkey: :kw:`prkey` =========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ Defines a specific default persistent reservation key for the service. A prkey set in a resource takes priority. If no prkey is specified in the service nor in the ``DEFAULT`` section, the prkey in ``node.conf`` is used. If ``node.conf`` has no prkey set, the hostid is computed and written in ``node.conf``. .. _DEFAULT.provision: :kw:`provision` =============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** True **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Set to false to skip the resource on provision and unprovision actions. Warning: Provision implies destructive operations like formating. Unprovision destroys service data. .. _DEFAULT.provision_requires: :kw:`provision_requires` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'provision' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.push_schedule: :kw:`push_schedule` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** ~00:00-06:00 **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The service configuration emission to the collector schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.registry_creds: :kw:`registry_creds` ==================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The name of a secret in the same namespace having a config.json key which value is used to login to the container image registry. If not specified, the node-level registry credential store is used. .. _DEFAULT.resinfo_schedule: :kw:`resinfo_schedule` ====================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** @60 **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The service resource info push schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.restart: :kw:`restart` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** 0 **inheritance** leaf > head **scope order** specific > generic **convert** integer ================= ================================================================ The agent will try to restart a resource times before falling back to the monitor action. A resource restart is triggered if :the resource is not disabled and its status is not up, and the node is not frozen, and the service instance is not frozen and its local expect is set to ``started``. If a resource has a restart set to a value >0, its status is evaluated at the frequency defined by :kw:`DEFAULT.monitor_schedule` instead of the frequency defined by :kw:`DEFAULT.status_schedule`. :kw:`restart_delay` defines the interval between two restarts. Standby resources have a particular value to ensure best effort to restart standby resources, default value is 2, and value lower than 2 are changed to 2. .. _DEFAULT.restart_delay: :kw:`restart_delay` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** 0 **inheritance** leaf > head **scope order** specific > generic **convert** duration ================= ================================================================ Define minimum delay between two triggered restarts of a same resource (used when :kw:`restart`is defined). Default value is 0 (no delay). .. _DEFAULT.rollback: :kw:`rollback` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** True **inheritance** leaf > head **scope order** specific > generic **convert** boolean ================= ================================================================ If set to ``false``, the default 'rollback on action error' behaviour is inhibited, leaving the service in its half-started state. The daemon also refuses to takeover a service if rollback is disabled and a peer instance is 'start failed'. .. _DEFAULT.run_requires: :kw:`run_requires` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'run' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.run_schedule: :kw:`run_schedule` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The default task resources schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.scale: :kw:`scale` =========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** head **scope order** specific > generic **convert** integer ================= ================================================================ If set, create and provision the necessary slave services, named ``.``, to meet the target ```` number of started instances. .. _DEFAULT.scaler_slave: :kw:`scaler_slave` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** head **scope order** specific > generic **convert** boolean ================= ================================================================ Automatically set to ``true`` by the daemon monitor when creating new scaler slaves. .. _DEFAULT.scsireserv: :kw:`scsireserv` ================ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ If set to ``true``, OpenSVC will try to acquire a type-5 (write exclusive, registrant only) scsi3 persistent reservation on every path to disks of every disk group attached to this service. Existing reservations are preempted to not block service start-up. If the start-up was not legitimate the data are still protected from being written over from both nodes. If set to ``false`` or not set, :kw:`scsireserv` can be activated on a per-resource basis. .. _DEFAULT.shared: :kw:`shared` ============ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** False **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Set to ``true`` to skip the resource on provision and unprovision actions if the action has already been done by a peer. Shared resources, like vg built on SAN disks must be provisioned once. All resources depending on a shared resource must also be flagged as shared. .. _DEFAULT.show_disabled: :kw:`show_disabled` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** True **inheritance** head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Specifies if the disabled resources must be included in the print status and json status output. .. _DEFAULT.size: :kw:`size` ========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** head **scope order** specific > generic **depends** kind in vol **convert** integer ================= ================================================================ The size of the volume allocated from its pool. .. _DEFAULT.slaves: :kw:`slaves` ============ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** [] **inheritance** head **scope order** specific > generic **convert** list ================= ================================================================ List of services to propagate the :c-action:`start` and :c-action:`stop` actions to. .. _DEFAULT.soft_affinity: :kw:`soft_affinity` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** set() **inheritance** head **scope order** specific > generic **convert** set ================= ================================================================ A whitespace separated list of services that must be started on the node to allow the monitor to start this service. If the local node is the only candidate ignore this constraint and allow start. .. _DEFAULT.soft_anti_affinity: :kw:`soft_anti_affinity` ======================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** set() **inheritance** head **scope order** specific > generic **convert** set ================= ================================================================ A whitespace separated list of services that must not be started on the node to allow the monitor to start this service. If the local node is the only candidate ignore this constraint and allow start. .. _DEFAULT.standby: :kw:`standby` ============= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf > head **scope order** specific > generic **convert** tristate ================= ================================================================ Always start the resource, even on standby instances. The daemon is responsible for starting standby resources. A resource can be set standby on a subset of nodes using keyword scoping. A typical use-case is sync'ed fs on non-shared disks: the remote fs must be mounted to not overflow the underlying fs. .. warning:: Don't set shared resources standby: fs on shared disks for example. .. _DEFAULT.start_requires: :kw:`start_requires` ==================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'start' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.stat_timeout: :kw:`stat_timeout` ================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** 5 **inheritance** leaf > head **scope order** specific > generic **convert** duration ================= ================================================================ The maximum wait time for a stat call to respond. When expired, the resource status is degraded is to warn, which might cause a TOC if the resource is monitored. .. _DEFAULT.status_schedule: :kw:`status_schedule` ===================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** @10 **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The service status evaluation schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.stonith: :kw:`stonith` ============= ================= ================================================================ **scopable** False **required** False **provisioning** False **default** False **inheritance** head **scope order** specific > generic **candidates** True | False **depends** topology in ['failover'] **convert** boolean ================= ================================================================ Stonith the node previously running the service if stale upon start by the daemon monitor. .. _DEFAULT.stop_requires: :kw:`stop_requires` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'stop' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.subset: :kw:`subset` ============ ================= ================================================================ **scopable** True **required** False **provisioning** False **default** None **inheritance** leaf **scope order** specific > generic ================= ================================================================ Assign the resource to a specific subset. .. _DEFAULT.sync_break_requires: :kw:`sync_break_requires` ========================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_break' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.sync_drp_requires: :kw:`sync_drp_requires` ======================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_drp' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.sync_interval: :kw:`sync_interval` =================== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 121 **inheritance** leaf > head **scope order** specific > generic **convert** duration ================= ================================================================ Set the minimum delay between syncs in minutes. If a sync is triggered through a scheduler or manually, it is skipped if last sync occurred less than :kw:`sync_min_delay` ago. The mecanism is enforced by a timestamp created upon each sync completion in ``/services/////last_sync_`` .. _DEFAULT.sync_max_delay: :kw:`sync_max_delay` ==================== ================= ================================================================ **scopable** False **required** False **provisioning** False **default** 1d3h **inheritance** leaf > head **scope order** specific > generic **convert** duration_minute ================= ================================================================ 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 scheduler task frequency should be set between :kw:`sync_min_delay` and :kw:`sync_max_delay`. .. _DEFAULT.sync_nodes_requires: :kw:`sync_nodes_requires` ========================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_nodes' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.sync_restore_requires: :kw:`sync_restore_requires` =========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_restore' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.sync_resync_requires: :kw:`sync_resync_requires` ========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_resync' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.sync_schedule: :kw:`sync_schedule` =================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** 04:00-06:00@121 **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ The default sync resources schedule. See ``usr/share/doc/schedule`` for the schedule syntax. .. _DEFAULT.sync_update_requires: :kw:`sync_update_requires` ========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'sync_update' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states. .. _DEFAULT.tags: :kw:`tags` ========== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic **convert** set ================= ================================================================ 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 :c-tag:`noaction` avoids any state changing action from the driver and implies ``optional=true``, :c-tag:`nostatus` forces the status to n/a. .. _DEFAULT.topology: :kw:`topology` ============== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** failover **inheritance** head **scope order** specific > generic **candidates** failover | flex ================= ================================================================ ``failover`` the service is allowed to be up on one node at a time. ``flex`` the service can be up on :kw:`flex_target` nodes, where :kw:`flex_target` must be in the [flex_min, flex_max] range. .. _DEFAULT.unprovision: :kw:`unprovision` ================= ================= ================================================================ **scopable** True **required** False **provisioning** False **default** True **inheritance** leaf > head **scope order** specific > generic **candidates** True | False **convert** boolean ================= ================================================================ Set to false to skip the resource on unprovision actions. Warning: Unprovision destroys service data. .. _DEFAULT.unprovision_requires: :kw:`unprovision_requires` ========================== ================= ================================================================ **scopable** True **required** False **provisioning** False **default** **inheritance** leaf > head **scope order** specific > generic ================= ================================================================ A whitespace-separated list of conditions to meet to accept running a 'unprovision' action. A condition is expressed as ``(,...)``. If states are omitted, ``up,stdby up`` is used as the default expected states.