
This patchset moves most of the documentation for shipyard from markdown to reStructuredText. README.md remains as it is nice for Github consumption and serves as a gateway to the rest of the generated documentation. Change-Id: I8cec38fe0e30e9a545cb6e79ae6de1934f7dfc4e
667 lines
17 KiB
ReStructuredText
667 lines
17 KiB
ReStructuredText
.. _shipyard_cli:
|
|
|
|
Shipyard CLI
|
|
============
|
|
|
|
Environment Variables
|
|
---------------------
|
|
All commands will utilize the following environment variables to
|
|
determine necessary information for execution, unless otherwise noted.
|
|
|
|
Openstack Keystone Authorization environment variables
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
The Shipyard CLI/API Client will check for the presence of appropriate
|
|
environment setup to do authentication on behalf of the user. The openrc
|
|
variables that will be used are as follows:
|
|
|
|
- OS_PROJECT_DOMAIN_NAME ("default" if not specified)
|
|
- OS_USER_DOMAIN_NAME ("default" if not specified)
|
|
- OS_PROJECT_NAME
|
|
- OS_USERNAME
|
|
- OS_PASSWORD
|
|
- OS_AUTH_URL The fully qualified identity endpoint. E.g. http://keystone.ucp.fully.qualified.name:80/v3
|
|
|
|
Openstack Keystone Authorization environment variables *not* used
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
These openstack identity variables are not supported by shipyard.
|
|
|
|
- OS_IDENTITY_API_VERSION
|
|
This value will be ignored as Shipyard only supports version 3 at this time
|
|
|
|
Shipyard command options
|
|
------------------------
|
|
The base shipyard command supports options that determine cross-CLI behaviors.
|
|
These options are positionally immediately following the shipyard command as
|
|
shown here:
|
|
|
|
::
|
|
|
|
shipyard <--these options> subcommands...
|
|
|
|
shipyard
|
|
[--context-marker=<uuid>]
|
|
[--debug/--no-debug]
|
|
[--os-{various}=<value>]
|
|
[--output-format=[format | raw | cli]] (default = cli)
|
|
<subcommands, as noted in this document>
|
|
|
|
|
|
\--context-marker=<uuid>
|
|
Specifies a UUID (8-4-4-4-12 format) that will be used to correlate logs,
|
|
transactions, etc... in downstream activities triggered by this interaction.
|
|
If not specified, Shipyard will supply a new UUID to serve as this marker.
|
|
(optional)
|
|
|
|
\--debug | --no-debug
|
|
Enable/disable debugging of this CLI and API client. Defaults to no debug
|
|
|
|
\--os-<various>=<value>
|
|
See supported Openstack Keystone Authorization Environment variables above
|
|
for the list of supported names, converting to a downcase version of the
|
|
environment variable. E.g.: --os-auth-url=http://keystone.ucp:80/v3
|
|
If not specified, the environment variables matching these options will be
|
|
used instead. The Keystone os-auth-url should reference the exposed
|
|
keystone:port for the target Shipyard environment, as this Keystone will be
|
|
used to discover the instance of Shipyard. For most invocations other than
|
|
help, a valid combination of values must be resolved to authenticate and
|
|
authorize the user's invocation.
|
|
|
|
\--output-format=<format | raw | cli>
|
|
Specifies the desired output formating such that:
|
|
|
|
- format
|
|
Display the raw ouptut from the invoked Shipyard API in a column
|
|
restricted mode.
|
|
- raw
|
|
Display the result from the invoked Shipyard API as-is, without
|
|
modification.
|
|
- cli (default)
|
|
Display results in a plain text interpretation of the response from the
|
|
invoked Shipyard API.
|
|
|
|
Commit Commands
|
|
---------------
|
|
|
|
commit configdocs
|
|
~~~~~~~~~~~~~~~~~
|
|
Attempts to commit the Shipyard Buffer documents, first invoking validation by
|
|
downstream components.
|
|
|
|
::
|
|
|
|
shipyard commit configdocs
|
|
[--force]
|
|
|
|
Example:
|
|
shipyard commit configdocs
|
|
|
|
\--force
|
|
Force the commit to occur, even if validations fail.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
TBD
|
|
|
|
Control commands
|
|
----------------
|
|
|
|
pause, unpause, stop
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Three separate commands with a common format that allow for controlling
|
|
the processing of actions created in Shipyard.
|
|
|
|
pause
|
|
pause something in progress e.g. an executing action
|
|
unpause
|
|
unpause something paused e.g. a paused action
|
|
stop
|
|
stops an executing or paused item e.g. an action
|
|
|
|
::
|
|
|
|
shipyard pause
|
|
<type>
|
|
<id>
|
|
|
|
shipyard unpause
|
|
<type>
|
|
<id>
|
|
|
|
shipyard stop
|
|
<type>
|
|
<id>
|
|
|
|
shipyard
|
|
pause|unpause|stop
|
|
<qualified name>
|
|
|
|
Example:
|
|
|
|
shipyard pause action 01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard unpause action 01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard stop action 01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard pause action/01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
<type>
|
|
The type of entity to take action upon. Currently supports: action
|
|
<id>
|
|
The id of the entity to take action upon.
|
|
<qualified name>
|
|
The qualified name of the item to take the specified action upon
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard pause action/01BZZMEXAVYGG7BT0BMA3RHYY7
|
|
pause successfully submitted for action 01BZZMEXAVYGG7BT0BMA3RHYY7
|
|
|
|
A failed command:
|
|
|
|
::
|
|
|
|
$ shipyard pause action/01BZZK07NF04XPC5F4SCTHNPKN
|
|
Error: Unable to pause action
|
|
Reason: dag_run state must be running, but is failed
|
|
- Error: dag_run state must be running, but is failed
|
|
|
|
Create Commands
|
|
---------------
|
|
|
|
create action
|
|
~~~~~~~~~~~~~
|
|
|
|
Invokes the specified workflow through Shipyard. Returns the
|
|
id of the action invoked so that it can be queried subsequently.
|
|
|
|
::
|
|
|
|
shipyard create action
|
|
<action_command>
|
|
--param=<parameter> (repeatable)
|
|
|
|
Example:
|
|
shipyard create action redeploy_server --param="server-name=mcp"
|
|
|
|
<action_command>
|
|
The action to invoke.
|
|
|
|
\--param=<parameter>
|
|
A parameter to be provided to the action being invoked. (repeatable)
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard create action deploy_site
|
|
Name Action Lifecycle
|
|
deploy_site action/01BZZK07NF04XPC5F4SCTHNPKN None
|
|
|
|
|
|
create configdocs
|
|
~~~~~~~~~~~~~~~~~
|
|
Load documents into the Shipyard Buffer. The use of one or more filename
|
|
or a single directory option must be specified.
|
|
|
|
::
|
|
|
|
shipyard create configdocs
|
|
<collection>
|
|
[--append | --replace]
|
|
--filename=<filename> (repeatable)
|
|
|
|
|
--directory=<directory>
|
|
|
|
Example:
|
|
shipyard create configdocs design --append --filename=site_design.yaml
|
|
|
|
.. note::
|
|
|
|
If neither append nor replace are specified, the Shipyard API default value
|
|
of rejectoncontents will be used.
|
|
|
|
.. note::
|
|
|
|
Either --filename or --directory must be specified, but both may not be
|
|
specified for the same invocation of shipyard.
|
|
|
|
<collection>
|
|
The collection to load.
|
|
|
|
\--append
|
|
Add the collection to the Shipyard Buffer. This will fail if the collection
|
|
already exists.
|
|
|
|
\--replace
|
|
Clear the shipyard buffer and replace it with the specified contents.
|
|
|
|
\--filename=<filename>
|
|
The file name to use as the contents of the collection. (repeatable) If
|
|
any documents specified fail basic validation, all of the documents will
|
|
be rejected. Use of filename parameters may not be used in conjunction
|
|
with the directory parameter.
|
|
|
|
\--directory=<directory>
|
|
A directory containing documents that will be joined and loaded as a
|
|
collection. Any documents that fail basic validation will reject the
|
|
whole set. Use of the directory parameter may not be used with the
|
|
filename parameter.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard create configdocs coll1 --filename=/home/ubuntu/yaml/coll1.yaml
|
|
Configuration documents added.
|
|
Status: Validations succeeded
|
|
Reason: Validation
|
|
|
|
Attempting to load the same collection into the uncommitted buffer.
|
|
|
|
::
|
|
|
|
$ shipyard create configdocs coll1 --filename=/home/ubuntu/yaml/coll1.yaml
|
|
Error: Invalid collection specified for buffer
|
|
Reason: Buffermode : rejectoncontents
|
|
- Error: Buffer is either not empty or the collection already exists in buffer. Setting a different buffermode may provide the desired functionality
|
|
|
|
Replace the buffer with --replace
|
|
|
|
::
|
|
|
|
$ shipyard create configdocs coll1 --replace --filename=/home/ubuntu/yaml/coll1.yaml
|
|
Configuration documents added.
|
|
Status: Validations succeeded
|
|
Reason: Validation
|
|
|
|
Describe Commands
|
|
-----------------
|
|
|
|
describe
|
|
~~~~~~~~
|
|
|
|
Retrieves the detailed information about the supplied namespaced item
|
|
|
|
::
|
|
|
|
shipyard describe
|
|
<namespaced_item>
|
|
|
|
Example:
|
|
shipyard describe action/01BTG32JW87G0YKA1K29TKNAFX
|
|
Equivalent to:
|
|
shipyard describe action 01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard describe step/01BTG32JW87G0YKA1K29TKNAFX/preflight
|
|
Equivalent to:
|
|
shipyard describe step preflight --action=01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard describe validation/01BTG32JW87G0YKA1K29TKNAFX/01BTG3PKBS15KCKFZ56XXXBGF2
|
|
Equivalent to:
|
|
shipyard describe validation 01BTG3PKBS15KCKFZ56XXXBGF2 \
|
|
--action=01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
shipyard describe workflow/deploy_site__2017-01-01T12:34:56.123456
|
|
Equivalent to:
|
|
shipyard describe workflow deploy_site__2017-01-01T12:34:56.123456
|
|
|
|
|
|
describe action
|
|
~~~~~~~~~~~~~~~
|
|
|
|
Retrieves the detailed information about the supplied action id.
|
|
|
|
::
|
|
|
|
shipyard describe action
|
|
<action_id>
|
|
|
|
Example:
|
|
shipyard describe action 01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
|
|
::
|
|
|
|
$ shipyard describe action/01BZZK07NF04XPC5F4SCTHNPKN
|
|
Name: deploy_site
|
|
Action: action/01BZZK07NF04XPC5F4SCTHNPKN
|
|
Lifecycle: Failed
|
|
Parameters: {}
|
|
Datetime: 2017-11-27 20:34:24.610604+00:00
|
|
Dag Status: failed
|
|
Context Marker: 71d4112e-8b6d-44e8-9617-d9587231ffba
|
|
User: shipyard
|
|
|
|
Steps Index State
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/action_xcom 1 success
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/dag_concurrency_check 2 success
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/deckhand_get_design_version 3 failed
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/validate_site_design 4 None
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/deckhand_get_design_version 5 failed
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/deckhand_get_design_version 6 failed
|
|
step/01BZZK07NF04XPC5F4SCTHNPKN/drydock_build 7 None
|
|
|
|
Commands User Datetime
|
|
invoke shipyard 2017-11-27 20:34:34.443053+00:00
|
|
|
|
Validations: None
|
|
|
|
|
|
describe step
|
|
~~~~~~~~~~~~~
|
|
Retrieves the step details associated with an action and step.
|
|
|
|
::
|
|
|
|
shipyard describe step
|
|
<step_id>
|
|
--action=<action id>
|
|
|
|
Example:
|
|
shipyard describe step preflight --action=01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
<step id>
|
|
The id of the step found in the describe action response.
|
|
|
|
\--action=<action id>
|
|
The action id that provides the context for this step.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
|
|
::
|
|
|
|
$ shipyard describe step/01BZZK07NF04XPC5F4SCTHNPKN/action_xcom
|
|
Name: action_xcom
|
|
Task ID: step/01BZZK07NF04XPC5F4SCTHNPKN/action_xcom
|
|
Index: 1
|
|
State: success
|
|
Start Date: 2017-11-27 20:34:45.604109
|
|
End Date: 2017-11-27 20:34:45.818946
|
|
Duration: 0.214837
|
|
Try Number: 1
|
|
Operator: PythonOperator
|
|
|
|
describe validation
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
Retrieves the validation details associated with an action and
|
|
validation id
|
|
|
|
::
|
|
|
|
shipyard describe validation
|
|
<validation_id>
|
|
--action=<action_id>
|
|
|
|
Example:
|
|
shipyard describe validation 01BTG3PKBS15KCKFZ56XXXBGF2 \
|
|
--action=01BTG32JW87G0YKA1K29TKNAFX
|
|
|
|
<validation_id>
|
|
The id of the validation found in the describe action response.
|
|
|
|
\--action=<action_id>
|
|
The action id that provides the context for this validation.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
|
|
::
|
|
|
|
TBD
|
|
|
|
describe workflow
|
|
~~~~~~~~~~~~~~~~~
|
|
|
|
Retrieves the details for a workflow that is running or has run in the
|
|
workflow engine.
|
|
|
|
::
|
|
|
|
shipyard describe workflow
|
|
<workflow_id>
|
|
|
|
Example:
|
|
shipyard describe workflow deploy_site__2017-01-01T12:34:56.123456
|
|
|
|
<workflow_id>
|
|
The id of the workflow found in the get workflows response.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
|
|
::
|
|
|
|
$ shipyard describe workflow deploy_site__2017-11-27T20:34:33.000000
|
|
Workflow: deploy_site__2017-11-27T20:34:33.000000
|
|
State: failed
|
|
Dag ID: deploy_site
|
|
Execution Date: 2017-11-27 20:34:33
|
|
Start Date: 2017-11-27 20:34:33.979594
|
|
End Date: None
|
|
External Trigger: True
|
|
|
|
Steps State
|
|
action_xcom success
|
|
dag_concurrency_check success
|
|
deckhand_get_design_version failed
|
|
validate_site_design None
|
|
deckhand_get_design_version failed
|
|
deckhand_get_design_version failed
|
|
drydock_build None
|
|
|
|
Subworkflows:
|
|
Workflow: deploy_site.deckhand_get_design_version__2017-11-27T20:34:33.000000
|
|
State: failed
|
|
Dag ID: deploy_site.deckhand_get_design_version
|
|
Execution Date: 2017-11-27 20:34:33
|
|
Start Date: 2017-11-27 20:35:06.281825
|
|
End Date: None
|
|
External Trigger: False
|
|
|
|
Workflow: deploy_site.deckhand_get_design_version.deckhand_get_design_version__2017-11-27T20:34:33.000000
|
|
State: failed
|
|
Dag ID: deploy_site.deckhand_get_design_version.deckhand_get_design_version
|
|
Execution Date: 2017-11-27 20:34:33
|
|
Start Date: 2017-11-27 20:35:20.725506
|
|
End Date: None
|
|
External Trigger: False
|
|
|
|
Get Commands
|
|
------------
|
|
|
|
get actions
|
|
~~~~~~~~~~~
|
|
|
|
Lists the actions that have been invoked.
|
|
|
|
::
|
|
|
|
shipyard get actions
|
|
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard get actions
|
|
Name Action Lifecycle
|
|
deploy_site action/01BZZK07NF04XPC5F4SCTHNPKN Failed
|
|
update_site action/01BZZKMW60DV2CJZ858QZ93HRS Processing
|
|
|
|
get configdocs
|
|
~~~~~~~~~~~~~~
|
|
|
|
Retrieve documents loaded into Shipyard, either committed or from the
|
|
Shipyard Buffer.
|
|
|
|
::
|
|
|
|
shipyard get configdocs
|
|
<collection>
|
|
[--committed | --buffer]
|
|
|
|
Example:
|
|
shipyard get configdocs design
|
|
|
|
<collection>
|
|
The collection to retrieve for viewing.
|
|
|
|
\--committed
|
|
Retrieve the documents that have last been committed for this collection
|
|
|
|
\--buffer
|
|
Retrive the documents that have been loaded into Shipyard since the
|
|
prior commit. If no documents have been loaded into the buffer for this
|
|
collection, this will return an empty response (default)
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard get configdocs coll1
|
|
data:
|
|
chart_groups: [kubernetes-proxy, container-networking, dns, kubernetes, kubernetes-rbac]
|
|
release_prefix: ucp
|
|
id: 1
|
|
metadata:
|
|
layeringDefinition: {abstract: false, layer: site}
|
|
name: cluster-bootstrap-1
|
|
schema: metadata/Document/v1.0
|
|
storagePolicy: cleartext
|
|
schema: armada/Manifest/v1.0
|
|
status: {bucket: coll1, revision: 1}
|
|
|
|
get renderedconfigdocs
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
Retrieve the rendered version of documents loaded into Shipyard.
|
|
Rendered documents are the "final" version of the documents after
|
|
applying Deckhand layering and substitution.
|
|
|
|
::
|
|
|
|
shipyard get renderedconfigdocs
|
|
[--committed | --buffer]
|
|
|
|
Example:
|
|
shipyard get renderedconfigdocs
|
|
|
|
\--committed
|
|
Retrieve the documents that have last been committed.
|
|
|
|
\--buffer
|
|
Retrieve the documents that have been loaded into Shipyard since the
|
|
prior commit. (default)
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard get renderedconfigdocs
|
|
data:
|
|
chart_groups: [kubernetes-proxy, container-networking, dns, kubernetes, kubernetes-rbac]
|
|
release_prefix: ucp
|
|
id: 1
|
|
metadata:
|
|
layeringDefinition: {abstract: false, layer: site}
|
|
name: cluster-bootstrap-1
|
|
schema: metadata/Document/v1.0
|
|
storagePolicy: cleartext
|
|
schema: armada/Manifest/v1.0
|
|
status: {bucket: coll1, revision: 1}
|
|
|
|
get workflows
|
|
~~~~~~~~~~~~~
|
|
Retrieve workflows that are running or have run in the workflow engine.
|
|
This includes processses that may not have been started as an action
|
|
(e.g. scheduled tasks).
|
|
|
|
::
|
|
|
|
shipyard get workflows
|
|
[--since=<date>]
|
|
|
|
Example:
|
|
shipyard get workflows
|
|
|
|
shipyard get workflows --since=2017-01-01T12:34:56.123456
|
|
|
|
\--since=<date>
|
|
The historical cutoff date to limit the results of of this response.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
::
|
|
|
|
$ shipyard get workflows
|
|
Workflows State
|
|
deploy_site__2017-11-27T20:34:33.000000 failed
|
|
update_site__2017-11-27T20:45:47.000000 running
|
|
|
|
|
|
Help Commands
|
|
-------------
|
|
|
|
help
|
|
~~~~
|
|
Provides topical help for shipyard.
|
|
|
|
.. note::
|
|
|
|
--help will provide more specific command help.
|
|
|
|
::
|
|
|
|
shipyard help
|
|
[<topic>]
|
|
|
|
Example:
|
|
shipyard help configdocs
|
|
|
|
<topic>
|
|
The topic of the help to be displayed. If this parameter is not
|
|
specified the list of available topics will be displayed.
|
|
|
|
Sample
|
|
^^^^^^
|
|
|
|
|
|
::
|
|
|
|
$ shipyard help
|
|
THE SHIPYARD COMMAND
|
|
The base shipyard command supports options that determine cross-CLI behaviors.
|
|
|
|
FORMAT
|
|
shipyard [--context-marker=<uuid>] [--os_{various}=<value>]
|
|
[--debug/--no-debug] [--output-format] <subcommands>
|
|
|
|
Please Note: --os_auth_url is required for every command except shipyard help
|
|
<topic>.
|
|
|
|
TOPICS
|
|
For information of the following topics, run shipyard help <topic>
|
|
actions
|
|
configdocs
|