om svc create

Create a new service.

--color=<string>

Colorize output. Possible values are:

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

--config=<string>

The configuration to use as template when creating or installing a service. The value can be - or /dev/stdin to read the json-formatted configuration from stdin, or a file path, or uri pointing to a ini-formatted configuration, or a service selector expression (ATTENTION with cloning existing live services that include more than containers, volumes and backend ip addresses ... this could cause disruption on the cloned service).

--daemon

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

--debug

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

--disable-rollback

If set, don't try to rollback resources activated before a start action interrupts on error.

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

--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

--leader

Switch the provision action behaviour to leader, ie provision shared resources that are not provisionned by default.

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

--provision

Provision the service resources after config file creation. Defaults to False.

--resource

A resource definition in json dictionary format fed to create or update. The rtype key point the driver group name, and the type key the driver name (translated to type in the configuration file section).

--restore

Keep the same service id as the template or config file referenced by the create action. The default behaviour is to generate a new id.

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

--template=<string>

The configuration file template name or id, served by the collector, to use when creating or installing a service.

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

-i, --interactive

Prompt the user for a choice instead of using defaults, or failing if no default is defined.

-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