Plan Management refactoring using Mistral workflows

Registered by Julie Pichon

Refactor the few remaining actions/workflows (mainly surrounding plan management) around Mistral so that they can be used by the UI.

Blueprint information

Julie Pichon
Needs approval
Julie Pichon
Series goal:
Accepted for newton
Milestone target:
Started by
Julie Pichon
Completed by
Julie Pichon


General status: all the necessary patches are now up for review, see list below.

Plan listing
Get a list of existing plans.

- Common:
  - Mistral action -> [rbrady] (Merged)
  - Add Zaqar messaging [flfuchs] ABANDONED, not needed
- Client command - [jpichon] (Merged)
- UI - [flfuchs] (Merged)

Creating a plan from a JSON file
Mistral action/workflow that accepts a list of filenames and their content in a JSON structure in order to create a new plan. The workflow should create a Swift container with these files then create a new plan for it.

Example structure:
    "filename.yaml": "this file contents",
    "directory/other_dir/other_file.yaml": "that file contents"

A new workflow was created and abandoned for this ( - ). The upstream preference seems to be to upload to Swift directly (ideally in a tarball) then call the create_plan action.

- UI: (Parse the JSON file list and upload files to Swift directly -- or remove the ability to upload individual files and only allow tarball uploads) (Perhaps single JSON file upload + automatic extraction could be handled on the swift side with some kind of custom middleware? - [flfuchs] + (both merged)

Deleting an existing plan

- Common:
  - Mistral action - rbrady strikes again! (Merged)
  - Workflow - should we consider using the action directly? (note: client patch calls action directly)
- Client command [jpichon] (Merged)
- UI [akrivoka, flfuchs] (Merged)

Starting a deployment

- Common: (Merged)
- CLI: (Merged)
- UI: [jtomasek] - This is tracked separately as part of . Because of that and since this blueprint is already large enough, I'm going to mark it as Implemented.

Additional work
Once this way of creating a plan is done, we probably want to refactor the 'create plan from tarball' workflow to do something similar. Right now the logic to create the Swift container is handled in the UI when it should really be handled in Mistral. This refactoring is separate from this blueprint and will be handled as part of another bug (to be linked later).

Gerrit topic:,topic:bp/tripleo-ui-mistral-refactoring,n,z

Addressed by:
    Move plan listing to use Mistral and Zaqar

Addressed by:
    Use Mistral API for plan deletion

Addressed by:
    Use Mistral/Zaqar for folder-based plan-creation

Addressed by:
    Port plan-edit file listing to use Swift


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.