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)
This commit is contained in:
John Fulton 2018-08-28 19:53:54 +00:00
parent d22cb3ed82
commit 5a55202258
3 changed files with 62 additions and 32 deletions

View File

@ -174,10 +174,29 @@ workflows:
on-error: set_deployment_failed
create_swift_rings_backup_plan:
workflow: tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan
workflow: tripleo.swift_backup.v1.create_swift_backup_container_plan
input:
container: <% $.container %>
queue_name: <% $.queue_name %>
container_suffix: "-swift-rings"
swift_tar: "swift-rings.tar.gz"
get_url_parm: SwiftRingGetTempurl
put_url_parm: SwiftRingPutTempurl
use_default_templates: true
publish-on-error:
message: <% task().result %>
on-success: create_ceph_ansible_fetch_directory_backup_plan
on-error: set_deployment_failed
create_ceph_ansible_fetch_directory_backup_plan:
workflow: tripleo.swift_backup.v1.create_swift_backup_container_plan
input:
container: <% $.container %>
queue_name: <% $.queue_name %>
container_suffix: "_ceph_ansible_fetch_dir"
swift_tar: "temporary_dir.tar.gz"
get_url_parm: SwiftFetchDirGetTempurl
put_url_parm: SwiftFetchDirPutTempurl
use_default_templates: true
publish-on-error:
message: <% task().result %>

View File

@ -271,12 +271,29 @@ workflows:
action: tripleo.git.clean container=<% $.container %>
create_swift_rings_backup_plan:
workflow: tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan
on-success: update_plan
workflow: tripleo.swift_backup.v1.create_swift_backup_container_plan
on-success: create_ceph_ansible_fetch_directory_backup_plan
on-error: create_swift_rings_backup_plan_set_status_failed
input:
container: <% $.container %>
queue_name: <% $.queue_name %>
container_suffix: "-swift-rings"
swift_tar: "swift-rings.tar.gz"
get_url_parm: SwiftRingGetTempurl
put_url_parm: SwiftRingPutTempurl
use_default_templates: true
create_ceph_ansible_fetch_directory_backup_plan:
workflow: tripleo.swift_backup.v1.create_swift_backup_container_plan
on-success: update_plan
on-error: create_ceph_ansible_fetch_directory_backup_plan_set_status_failed
input:
container: <% $.container %>
queue_name: <% $.queue_name %>
container_suffix: "_ceph_ansible_fetch_dir"
swift_tar: "temporary_dir.tar.gz"
get_url_parm: SwiftFetchDirGetTempurl
put_url_parm: SwiftFetchDirPutTempurl
use_default_templates: true
update_plan:
@ -320,6 +337,12 @@ workflows:
status: FAILED
message: <% task(create_swift_rings_backup_plan).result %>
create_ceph_ansible_fetch_directory_backup_plan_set_status_failed:
on-success: send_message
publish:
status: FAILED
message: <% task(create_ceph_ansible_fetch_directory_backup_plan).result %>
clone_git_repo_set_status_failed:
on-success: send_message
publish:

View File

@ -1,45 +1,40 @@
---
version: '2.0'
name: tripleo.swift_rings_backup.v1
description: TripleO Swift Rings backup container Deployment Workflow v1
name: tripleo.swift_backup.v1
description: TripleO Swift backup container Deployment Workflow v1
workflows:
create_swift_rings_backup_container_plan:
create_swift_backup_container_plan:
description: >
This plan ensures existence of container for Swift Rings backup.
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_rings_container:
swift_container:
publish:
swift_rings_container: "<% $.container %>-swift-rings"
swift_rings_tar: "swift-rings.tar.gz"
on-complete: check_container
check_container:
workflow: tripleo.swift.v1.container_exists container=<% $.swift_rings_container %>
input:
create_container: true
on-success: get_tempurl
on-error: set_create_container_failed
swift_container: "<% $.container %><% $.container_suffix %>"
on-complete: get_tempurl
get_tempurl:
action: tripleo.swift.tempurl
on-success: set_get_tempurl
input:
container: <% $.swift_rings_container %>
obj: <% $.swift_rings_tar %>
container: <% $.swift_container %>
obj: <% $.swift_tar %>
set_get_tempurl:
action: tripleo.parameters.update
input:
parameters:
SwiftRingGetTempurl: <% task(get_tempurl).result %>
parameters: <% {$.get_url_parm => task(get_tempurl).result} %>
container: <% $.container %>
on-success: put_tempurl
@ -47,15 +42,14 @@ workflows:
action: tripleo.swift.tempurl
on-success: set_put_tempurl
input:
container: <% $.swift_rings_container %>
obj: <% $.swift_rings_tar %>
container: <% $.swift_container %>
obj: <% $.swift_tar %>
method: "PUT"
set_put_tempurl:
action: tripleo.parameters.update
input:
parameters:
SwiftRingPutTempurl: <% task(put_tempurl).result %>
parameters: <% {$.put_url_parm => task(put_tempurl).result} %>
container: <% $.container %>
on-success: set_status_success
on-error: set_put_tempurl_failed
@ -72,12 +66,6 @@ workflows:
status: FAILED
message: <% task(set_put_tempurl).result %>
set_create_container_failed:
on-success: notify_zaqar
publish:
status: FAILED
message: <% task(create_container).result %>
notify_zaqar:
workflow: tripleo.messaging.v1.send
input: