.. _cfgmgr.action.service_configuration.create: :cmd:`om cfg create` -------------------- Create a new service. :opt:`--color=` +++++++++++++++++++++++ Colorize output. Possible values are: * auto: guess based on tty presence * always|yes: always colorize * never|no: never colorize :opt:`--config=` ++++++++++++++++++++++++ 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). :opt:`--daemon` +++++++++++++++ A flag inhibiting the command daemonization. Set by the daemonization routine. :opt:`--debug` ++++++++++++++ Increase stream and file log verbosity up to the debug level. :opt:`--disable-rollback` +++++++++++++++++++++++++ If set, don't try to rollback resources activated before a start action interrupts on error. :opt:`--dry-run` ++++++++++++++++ Show the action execution plan. :opt:`--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 =`` can be specified. For all other actions. :opt:`--kw` +++++++++++ An expression like ``[
.][@][[]]`` where *
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. * can be: * ``=`` * ``+=`` * ``-=`` 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 :opt:`--leader` +++++++++++++++ Switch the provision action behaviour to leader, ie provision shared resources that are not provisionned by default. :opt:`--local` ++++++++++++++ Execute the service action on the local service instances only, ignoring cluster-wide considerations. :opt:`--master` +++++++++++++++ Limit the action scope to the master service resources. :opt:`--namespace=` +++++++++++++++++++++++++++ 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. :opt:`--node=` ++++++++++++++++++++++ The node to send a request to. If not specified the local node is targeted. :opt:`--nolock` +++++++++++++++ Don't acquire the action lock. Dangerous, but can be useful to set parameters from an action trigger. :opt:`--provision` ++++++++++++++++++ Provision the service resources after config file creation. Defaults to False. :opt:`--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). :opt:`--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. :opt:`--rid=` +++++++++++++++++++++ A resource specifier expression like ``[,]``, where ```` 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 :opt:`--slave=` +++++++++++++++++++++++ Limit the action to the service resources in the specified, comma-separated, slaves. :opt:`--slaves` +++++++++++++++ Limit the action scope to service resources in all slaves. :opt:`--status=` ++++++++++++++++++++++++ Operate only on service with a local instance in the specified availability status (up, down, warn, ...). :opt:`--subsets=` +++++++++++++++++++++++++ Limit the action to the resources in the specified, comma-separated, list of subsets. :opt:`--tags=` ++++++++++++++++++++++ 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. :opt:`--template=` ++++++++++++++++++++++++++ The configuration file template name or id, served by the collector, to use when creating or installing a service. :opt:`--waitlock=` ++++++++++++++++++++++++++ A duration expression like ``5s``. The maximum wait time when acquiring the service action lock. :opt:`-f, --force` ++++++++++++++++++ Force action, ignore sanity checks. :opt:`-h, --help` +++++++++++++++++ Show this help message and exit. :opt:`-i, --interactive` ++++++++++++++++++++++++ Prompt the user for a choice instead of using defaults, or failing if no default is defined. :opt:`-p, --parallel` +++++++++++++++++++++ Start actions on specified services in parallel. :kw:`max_parallel` in node.conf limits the number of parallel running subprocesses. :opt:`-s, VAL, --service=` ++++++++++++++++++++++++++++++++++ A service selector expression ``[!][[!]]`` where: - ``!`` is the expression negation operator - ```` can be: - ``,`` OR expressions - ``+`` AND expressions - ```` can be: - a shell glob on service names - ```` where: - ```` can be: - ``:`` - ``:`` - ``.`` - ``.`` - `` dictionary extended under the 'nodes' key by each instance 'status' and 'config' data>`` - ```` can be: - ``<`` ``>`` ``<=`` ``>=`` ``=`` - ``~`` with regexp 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