om svc set

Set a service configuration parameter

--add=<string>

A list member to add to the value pointed by --param. If --index is set, insert the new element at the specified position in the list.

--color=<string>

Colorize output. Possible values are:

  • auto: guess based on tty presence
  • always|yes: always colorize
  • never|no: never colorize

--daemon

A flag inhibiting the command daemonization. Set by the daemonization routine.

--debug

Increase stream and file log verbosity up to the debug level.

--dry-run

Show the action execution plan.

--env

Export the uppercased variable in the os environment.

With the create action only, set a env section parameter in the service configuration file. Multiple --env <key>=<val> can be specified. For all other actions.

--eval

If set with the get action, the printed value of --param is evaluated, scoped and dereferenced. If set with the set action, the current value is evaluated before mangling.

--index=<int>

The position in the list pointed by --param where to add the new list element on a set action

--kw

An expression like [<section>.]<keyword>[@<scope>][[<index>]]<op><value> where

  • <section> can be:
    • a resource id
    • a resource driver group name (fs, ip, ...). For the set and unset actions only, set the keyword for all matching resources.
  • <op> can be:
    • = set as new value
    • -= remove value from the current list
    • += append value to the current list
    • |= append value to the current list if not already included

Multiple --kw can be set to apply multiple configuration change in a file with a single write.

Examples:

  • app.start=false Turn off app start for all app resources
  • app#1.start=true Turn on app start for app#1
  • nodes+=node3 Append node3 to nodes
  • nodes[0]+=node3 Preprend node3 to nodes

--local

Execute the service action on the local service instances only, ignoring cluster-wide considerations.

--master

Limit the action scope to the master service resources.

--namespace=<string>

The namespace to switch to for the action. Namespaces are cluster partitions. A default namespace can be set for the session setting the OSVC_NAMESPACE environment variable.

--node=<string>

The node to send a request to. If not specified the local node is targeted.

--nolock

Don't acquire the action lock. Dangerous, but can be useful to set parameters from an action trigger.

--param=<string>

An expression like [<section>.]<keyword> where

  • <section> can be:
    • a resource id
    • a resource driver group name (fs, ip, ...). For the set and unset actions only, set the keyword for all matching resources.

--remove=<string>

A list member to drop from the value pointed by --param.

--rid=<string>

A resource specifier expression like <spec>[,<spec>], where <spec> can be:

  • A resource id
  • A driver group name (app, fs, disk, ...)

Examples:

  • app all app resources
  • container#1,ip#1 only container#1 and ip#1

--slave=<string>

Limit the action to the service resources in the specified, comma-separated, slaves.

--slaves

Limit the action scope to service resources in all slaves.

--status=<string>

Operate only on service with a local instance in the specified availability status (up, down, warn, ...).

--subsets=<string>

Limit the action to the resources in the specified, comma-separated, list of subsets.

--tags=<string>

A comma-separated list of resource tags to limit action to. The + separator can be used to impose multiple tag conditions. For example, tag1+tag2,tag3 limits the action to resources with both tag1 and tag2, or tag3.

--value=<string>

The value to set for the keyword pointed by --param

--waitlock=<string>

A duration expression like 5s. The maximum wait time when acquiring the service action lock.

-f, --force

Force action, ignore sanity checks.

-h, --help

Show this help message and exit.

-p, --parallel

Start actions on specified services in parallel. max_parallel in node.conf limits the number of parallel running subprocesses.

-s, VAL, --service=<string>

A service selector expression [!]<expr>[<sep>[!]<expr>] where:

  • ! is the expression negation operator
  • <sep> can be:
    • , OR expressions
    • + AND expressions
  • <expr> can be:
    • a shell glob on service names
    • <param><op><value> where:
      • <param> can be:
        • <rid>:
        • <group>:
        • <rid>.<key>
        • <group>.<key>
        • <single value jsonpath expression on the $.monitor.services.<path> dictionary extended under the 'nodes' key by each instance 'status' and 'config' data>
      • <op> can be:
        • < > <= >= =
        • ~ the string or any list element matches the regexp value
        • ~= the string matches regexp value or any list element is the value

Examples:

  • *dns,ha*+app.timeout>1
  • ip:+task:
  • !*excluded
  • $.avail=warn
  • $.nodes.*.status.avail=warn

Note:

  • ! usage requires single quoting the expression to prevent shell history expansion