tripleo-common/workbooks/swift_backup.yaml
John Fulton 5a55202258 Update swift_rings_backup workflow to also backup ceph fetch dir
Rename swift_rings_backup to swift_backup because we might wish
to use swift on the undercloud to backup more than just the
overcloud swift rings. For example the same workflow is useful
for backing up the ceph-ansible fetch directory in the undercloud
swift.

Update deployment and plan management workflows to also create
or update the ceph-ansible fetch directory swift container.

Change-Id: Icce658f803a608ee4b7df34b0b8297ecabcdb0ee
Related-Bug: #1769769
(cherry picked from commit bdde61dec0)
2018-09-28 12:14:34 +00:00

77 lines
2.1 KiB
YAML

---
version: '2.0'
name: tripleo.swift_backup.v1
description: TripleO Swift backup container Deployment Workflow v1
workflows:
create_swift_backup_container_plan:
description: >
Ensures the existence of containers for backups, e.g. swift_rings
input:
- container
- queue_name: tripleo
- container_suffix: "-swift-rings"
- swift_tar: "swift-rings.tar.gz"
- get_url_parm: SwiftRingGetTempurl
- put_url_parm: SwiftRingPutTempurl
tags:
- tripleo-common-managed
tasks:
swift_container:
publish:
swift_container: "<% $.container %><% $.container_suffix %>"
on-complete: get_tempurl
get_tempurl:
action: tripleo.swift.tempurl
on-success: set_get_tempurl
input:
container: <% $.swift_container %>
obj: <% $.swift_tar %>
set_get_tempurl:
action: tripleo.parameters.update
input:
parameters: <% {$.get_url_parm => task(get_tempurl).result} %>
container: <% $.container %>
on-success: put_tempurl
put_tempurl:
action: tripleo.swift.tempurl
on-success: set_put_tempurl
input:
container: <% $.swift_container %>
obj: <% $.swift_tar %>
method: "PUT"
set_put_tempurl:
action: tripleo.parameters.update
input:
parameters: <% {$.put_url_parm => task(put_tempurl).result} %>
container: <% $.container %>
on-success: set_status_success
on-error: set_put_tempurl_failed
set_status_success:
on-success: notify_zaqar
publish:
status: SUCCESS
message: <% task(set_put_tempurl).result %>
set_put_tempurl_failed:
on-success: notify_zaqar
publish:
status: FAILED
message: <% task(set_put_tempurl).result %>
notify_zaqar:
workflow: tripleo.messaging.v1.send
input:
queue_name: <% $.queue_name %>
type: <% execution().name %>
status: <% $.get('status', 'SUCCESS') %>
message: <% $.get('message', '') %>
execution: <% execution() %>