f1640a11de
This will be used to check if e.g plan-environment.yaml exists in a plan container. Change-Id: Iabb5a7fecd0d6889f3cd65188396e23a23874648
80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
---
|
|
version: '2.0'
|
|
name: tripleo.swift.v1
|
|
description: TripleO Swift Utility Workflows
|
|
|
|
workflows:
|
|
|
|
container_exists:
|
|
|
|
description: >-
|
|
Verify if a Swift container exists
|
|
|
|
Given the name of a Swift container this workflow will verify if it
|
|
already exists. The workflow will ERROR if it doesn't and end in
|
|
SUCCESS if it does.
|
|
|
|
If create_container: true is passed in, then the container will be
|
|
created if it doesn't exist. In this case, if the workflow fails the
|
|
container failed to create.
|
|
|
|
input:
|
|
- container
|
|
- headers: {}
|
|
- create_container: false
|
|
|
|
tags:
|
|
- tripleo-common-managed
|
|
|
|
tasks:
|
|
|
|
# We use the "prefix" input to only list the containers starting with
|
|
# the container name we want to find. There is no way to do an exact
|
|
# match, but this will greatly reduce the possible number of results.
|
|
get_containers:
|
|
action: swiftservice.list
|
|
input:
|
|
options:
|
|
prefix: <% $.container %>
|
|
publish:
|
|
container_exists: <% bool(task().result) and $.container in task().result[0].listing.name %>
|
|
create_input: <% $.headers and {"container" => $.container, "headers" => $.headers} or {"container" => $.container} %>
|
|
on-success:
|
|
- succeed: <% $.container_exists %>
|
|
- fail: <% not $.create_container and not $.container_exists %>
|
|
- create_container: <% $.create_container and not $.container_exists %>
|
|
|
|
create_container:
|
|
action: swift.put_container
|
|
input: <% $.create_input %>
|
|
|
|
object_exists:
|
|
|
|
description: >-
|
|
Verify if a Swift object exists
|
|
|
|
Given the name of a Swift container and object this workflow will
|
|
verify if it already exists. The workflow will ERROR if it doesn't
|
|
and end in SUCCESS if it does.
|
|
|
|
|
|
input:
|
|
- container
|
|
- object
|
|
|
|
tags:
|
|
- tripleo-common-managed
|
|
|
|
tasks:
|
|
|
|
get_objects:
|
|
action: swift.get_container
|
|
input:
|
|
container: <% $.container %>
|
|
prefix: <% $.object %>
|
|
publish:
|
|
object_exists: <% bool(task().result) and $.object in task().result[1].select($.name) %>
|
|
on-success:
|
|
- succeed: <% $.object_exists %>
|
|
- fail: <% not $.object_exists %>
|