om cfg 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.

–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