Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Update swift_rings_backup workflow to also backup ceph fetch dir
Browse files Browse the repository at this point in the history
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 bdde61d)
  • Loading branch information
fultonj committed Sep 28, 2018
1 parent d22cb3e commit 5a55202
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 32 deletions.
21 changes: 20 additions & 1 deletion workbooks/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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 %>
Expand Down
27 changes: 25 additions & 2 deletions workbooks/plan_management.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
46 changes: 17 additions & 29 deletions workbooks/swift_rings_backup.yaml → workbooks/swift_backup.yaml
Original file line number Diff line number Diff line change
@@ -1,61 +1,55 @@
---
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

put_tempurl:
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
Expand All @@ -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:
Expand Down

0 comments on commit 5a55202

Please sign in to comment.