shipyard/docs/source/API-action-commands.rst
Bryan Strassner 70eb1cef10 Add udpate_software action to Shipyard
Provides an action that can be invoked by a user to deploy only the
software portion of a design.

Change-Id: I880bdc245064364dfdd6a482a3cf2d2a293f6c0d
2018-07-06 16:57:42 -05:00

3.0 KiB

Action Commands

Supported actions

These actions are currently supported using the Action API

deploy_site

Triggers the initial deployment of a site, using the latest committed configuration documents. Steps, conceptually:

  1. Concurrency check

    Prevents concurrent site modifications by conflicting actions/workflows.

  2. Preflight checks

    Ensures all Airship components are in a responsive state.

  3. Validate design

    Asks each involved Airship component to validate the design. This ensures that the previously committed design is valid at the present time.

  4. Drydock build

    Orchestrates the Drydock component to configure hardware and the Kubernetes environment (Drydock -> Promenade)

  5. Armada build

    Orchestrates Armada to configure software on the nodes as designed.

update_site

Applies a new committed configuration to the environment. The steps of update_site mirror those of deploy_site.

update_software

Triggers an update of the software in a site, using the latest committed configuration documents. Steps, conceptually:

  1. Concurrency check

    Prevents concurrent site modifications by conflicting actions/workflows.

  2. Validate design

    Asks each involved Airship component to validate the design. This ensures that the previously committed design is valid at the present time.

  3. Armada build

    Orchestrates Armada to configure software on the nodes as designed.

Actions under development

These actions are under active development

  • redeploy_server

Using parameters to indicate which server(s) triggers a redeployment of those servers to the last-known-good design and secrets

Future actions

These actions are anticipated for development

  • test region

Invoke site validation testing - perhaps a baseline is an invocation of all component's exposed tests or extended health checks. This test would be used as a preflight-style test to ensure all components are in a working state.

  • test component

Invoke a particular platform component to test it. This test would be used to interrogate a particular platform component to ensure it is in a working state, and that its own downstream dependencies are also operational