drpcli stages¶
drpcli stages¶
Manage DRP workflow stages that define task execution points
Synopsis¶
Stages are named points in a DRP workflow that define what tasks run, which bootenv to use, and what happens after the tasks complete.
Each stage specifies:
- BootEnv - the boot environment used while in this stage
- Tasks - the ordered list of tasks to execute when the stage is active
- RunnerWait - whether the runner should wait for more tasks after completion
- Reboot - whether the machine should reboot after completing the stage tasks
- Profiles - additional parameter profiles applied while in this stage
- Templates - template overrides specific to this stage
Stages are referenced by workflows to sequence provisioning steps. A machine transitions through stages as it progresses through a workflow. The stage determines the machine's boot behavior and what work gets done.
Common operations:
drpcli stages list- list all stagesdrpcli stages show <name>- display a specific stagedrpcli stages create <json>- create a new stagedrpcli stages update <name> <json>- update an existing stagedrpcli stages destroy <name>- delete a stage
Examples¶
# List all stages
drpcli stages list
# Show a specific stage
drpcli stages show discover
# Create a stage that runs tasks under sledgehammer bootenv
drpcli stages create '{"Name":"my-install","BootEnv":"sledgehammer","Tasks":["disk-wipe","os-install"]}'
# Create a stage from a JSON file
drpcli stages create - < stage.json
# Add a task to an existing stage
drpcli stages update my-install '{"Tasks":["disk-wipe","os-install","post-config"]}'
# Delete a stage
drpcli stages destroy my-install
Options¶
Options inherited from parent commands¶
--ca-cert string CA certificate used to verify the server certs (with the system set)
-c, --catalog string The catalog file to use to get product information (default "https://repo.rackn.io")
--catalog-path string The path to where the catalog file exists on the drp server. By default and historically this has been /files/rebar-catalog. For example, if no catalog urls are provided, the complete path will be https://drp-ip:8090/files/rebar-catalog (default "/files/rebar-catalog")
-S, --catalog-source string A location from which catalog items can be downloaded. For example, in airgapped mode it would be the local catalog
--client-cert string Client certificate to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
--client-key string Client key to use for communicating to the server - replaces RS_KEY, RS_TOKEN, RS_USERNAME, RS_PASSWORD
-C, --colors string The colors for JSON and Table/Text colorization. 8 values in the for 0=val,val;1=val,val2... (default "0=32;1=33;2=36;3=90;4=34,1;5=35;6=95;7=32;8=92")
-d, --debug Whether the CLI should run in debug mode
-D, --download-proxy string HTTP Proxy to use for downloading catalog and content
-E, --endpoint string The Digital Rebar Provision API endpoint to talk to (default "https://127.0.0.1:8092")
-X, --exit-early Cause drpcli to exit if a command results in an object that has errors
--fetch-catalogs all Determines which catalog urls to use to fetch the catalog. If set to all, all the catalog urls defined with catalog_url and catalog_urls as well as the default catalog will be used. If set to server, only the catalog urls defined on the server will be used. If set to cli, then the specific url specified with the -c flag will be used. It defaults to `all`. Allowed values `all, `server`, `cli`. (default "all")
-f, --force When needed, attempt to force the operation - used on some update/patch calls
--force-new-session Should the client always create a new session
-F, --format string The serialization we expect for output. Can be "json" or "yaml" or "text" or "table" (default "json")
--http-request-retry-count int Specifies the number of retries for downloads in case of failure
--http-request-retry-delay-max int Specifies the maximum delay (in seconds) between HTTP/HTTPS retry attempts (default 60)
--ignore-unix-proxy Should the client ignore unix proxies
-N, --no-color Whether the CLI should output colorized strings
-H, --no-header Should header be shown in "text" or "table" mode
-x, --no-token Do not use token auth or token cache
-P, --password string password of the Digital Rebar Provision user (default "r0cketsk8ts")
-p, --platform string Platform to filter details by. Defaults to current system. Format: arch/os
-J, --print-fields string The fields of the object to display in "text" or "table" mode. Comma separated
-r, --ref string A reference object for update commands that can be a file name, yaml, or json blob
--server-verify Should the client verify the server cert
-G, --show-global-help-flags Show global flags in help message
-T, --token string token of the Digital Rebar Provision access
-t, --trace string The log level API requests should be logged at on the server side
-Z, --trace-token string A token that individual traced requests should report in the server logs
-j, --truncate-length int Truncate columns at this length (default 40)
-u, --url-proxy string URL Proxy for passing actions through another DRP
-U, --username string Name of the Digital Rebar Provision user to talk to (default "rocketskates")
SEE ALSO¶
- drpcli - A CLI application for interacting with the DigitalRebar Provision API
- drpcli stages action - Show details for a specific action on the stage
- drpcli stages actions - List all available actions for the stage
- drpcli stages add - Add a parameter to a stage, failing if the key already exists
- drpcli stages addprofile - Add one or more profiles to a stage's profile list
- drpcli stages addtask - Append a task to the end of a stage's task list
- drpcli stages await - Wait for a stage's field to become a value within a number of seconds
- drpcli stages bootenv - Set the
bootenvfor a stage - drpcli stages count - Count all stages
- drpcli stages create - Create a new stage with the passed-in JSON or string key
- drpcli stages destroy - Destroy stage by id
- drpcli stages etag - Get the etag for a stages by id
- drpcli stages exists - See if a stages exists by id
- drpcli stages fieldinfo - Return the documentation for all the fields or the provided field
- drpcli stages generate - Generate an object of stages type in the content directory
- drpcli stages get - Get a single parameter value from a stage
- drpcli stages indexes - Get indexes for stages
- drpcli stages list - List all stages
- drpcli stages meta - Get all metadata key/value pairs for a stage
- drpcli stages params - Get or set all parameters for a stage
- drpcli stages patch - Patch stage by ID using the passed-in JSON Patch
- drpcli stages remove - Remove a parameter from a stage
- drpcli stages removeprofile - Remove one or more profiles from a stage's profile list
- drpcli stages removetask - Remove the first occurrence of a task from a stage's task list
- drpcli stages runaction - Run a plugin action on a stage
- drpcli stages set - Set a parameter on a stage, creating or replacing the value
- drpcli stages show - Show a single stages by id
- drpcli stages update - Unsafely update stage by id with the passed-in JSON
- drpcli stages uploadiso - This will attempt to upload the ISO from the specified ISO URL.
- drpcli stages wait - Wait for a stage's field to become a value within a number of seconds