Skip to content

Wave deployment with parallel actions

Robert Jack Will edited this page Feb 3, 2014 · 2 revisions

The parallel option -p is available for all commands (e.g. start/stop/update/lock/...) acting on multiple components:

  • -p <p-spec> parallel execution according to p-spec

Formats of the p-spec:

  • -p <number> use number parallel workers for each plan (even nested ones)

    example: start all services with 10 parallel workers

    start service://* -p 10

  • -p "<plan>=<items>_<workers>_<errors>"

    • plan: name of the subplan (use -n to see the actionplan)
    • items: number of items in the given plan to apply the following parameters
    • workers: number of parallel executions on given items
    • errors: tolerated errors during execution
    • an asterisk * translates to up to all remaining items

    example: during an update, start all unaffected services as fast as possible (or: in parallel)

    update -n -p "update/prestart=*_*_0"

    Note: only the prestart plan gets executed in parallel, all other plans (notably the /update/stopupdate/start plan) gets executed sequentially.

  • -p "<plan>=<items>_<workers>_<errors>[:<items>_<workers>_<errors>[...]] [<plan>=...]"

    • more complex specification
    • splits a plan in severall parallel plans, configures multiple plans
  • Complex Example: Pilot Phase Updates

    • try an update on the first chunk, fail on any error
    • try an update on the next 5 chunks with 2 workers, fail on 2nd error
    • update all remaining chunks with 10 workers, fail on an error rate >10%
    update/stopupdatestart=1_1_0:5_2_1:*_10_10%"```
    
Clone this wiki locally