Ensure Swift Rings backup container and URLs
Swift Rings backup container and URLs for it are created only
during deploy but there is possibility of minor update or
change of deployment when they should be created. Adding them
in plan_management update_deployment_plan fixes these cases.
Closes-Bug: #1695778
Resolves: rhbz#1455616
Change-Id: Ifcedd54da5c74f12c863b8ec63679360673dd8f6
(cherry picked from commit bfabb3f575
)
This commit is contained in:
parent
fb27e73b32
commit
935912dd73
|
@ -110,53 +110,28 @@ workflows:
|
|||
|
||||
add_validation_ssh_key:
|
||||
workflow: tripleo.validations.v1.add_validation_ssh_key_parameter container=<% $.container %>
|
||||
on-complete: check_container
|
||||
on-complete: create_swift_rings_backup_plan
|
||||
|
||||
check_container:
|
||||
action: swift.head_container container=<% $.container %>
|
||||
on-success: get_tempurl
|
||||
on-error: create_container
|
||||
|
||||
create_container:
|
||||
action: tripleo.plan.create_container container="<% $.container %>-swift-rings"
|
||||
on-success: get_tempurl
|
||||
|
||||
get_tempurl:
|
||||
action: tripleo.swift.tempurl
|
||||
on-success: set_get_tempurl
|
||||
input:
|
||||
container: "<% $.container %>-swift-rings"
|
||||
obj: "swift-rings.tar.gz"
|
||||
|
||||
set_get_tempurl:
|
||||
action: tripleo.parameters.update
|
||||
input:
|
||||
parameters:
|
||||
SwiftRingGetTempurl: <% task(get_tempurl).result %>
|
||||
container: <% $.container %>
|
||||
on-success: put_tempurl
|
||||
|
||||
put_tempurl:
|
||||
action: tripleo.swift.tempurl
|
||||
on-success: set_put_tempurl
|
||||
input:
|
||||
container: "<% $.container %>-swift-rings"
|
||||
obj: "swift-rings.tar.gz"
|
||||
method: "PUT"
|
||||
|
||||
set_put_tempurl:
|
||||
action: tripleo.parameters.update
|
||||
input:
|
||||
parameters:
|
||||
SwiftRingPutTempurl: <% task(put_tempurl).result %>
|
||||
container: <% $.container %>
|
||||
create_swift_rings_backup_plan:
|
||||
workflow: tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan
|
||||
on-success: deploy
|
||||
on-error: create_swift_rings_backup_plan_set_status_failed
|
||||
input:
|
||||
container: <% $.container %>
|
||||
queue_name: <% $.queue_name %>
|
||||
use_default_templates: true
|
||||
|
||||
deploy:
|
||||
action: tripleo.deployment.deploy timeout=<% $.timeout %> container=<% $.container %>
|
||||
on-success: send_message
|
||||
on-error: set_deployment_failed
|
||||
|
||||
create_swift_rings_backup_plan_set_status_failed:
|
||||
on-success: send_message
|
||||
publish:
|
||||
status: FAILED
|
||||
message: <% task(create_swift_rings_backup_plan).result %>
|
||||
|
||||
set_deployment_failed:
|
||||
on-success: send_message
|
||||
publish:
|
||||
|
|
|
@ -67,6 +67,15 @@ workflows:
|
|||
- container
|
||||
- queue_name: tripleo
|
||||
tasks:
|
||||
create_swift_rings_backup_plan:
|
||||
workflow: tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan
|
||||
on-success: update_plan
|
||||
on-error: create_swift_rings_backup_plan_set_status_failed
|
||||
input:
|
||||
container: <% $.container %>
|
||||
queue_name: <% $.queue_name %>
|
||||
use_default_templates: true
|
||||
|
||||
update_plan:
|
||||
action: tripleo.plan.update container=<% $.container %>
|
||||
on-success: ensure_passwords_exist
|
||||
|
@ -88,6 +97,12 @@ workflows:
|
|||
status: SUCCESS
|
||||
message: <% task(update_plan).result %>
|
||||
|
||||
create_swift_rings_backup_plan_set_status_failed:
|
||||
on-success: notify_zaqar
|
||||
publish:
|
||||
status: FAILED
|
||||
message: <% task(create_swift_rings_backup_plan).result %>
|
||||
|
||||
update_plan_set_status_failed:
|
||||
on-success: notify_zaqar
|
||||
publish:
|
||||
|
|
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
version: '2.0'
|
||||
name: tripleo.swift_rings_backup.v1
|
||||
description: TripleO Swift Rings backup container Deployment Workflow v1
|
||||
|
||||
workflows:
|
||||
|
||||
create_swift_rings_backup_container_plan:
|
||||
description: >
|
||||
This plan ensures existence of container for Swift Rings backup.
|
||||
input:
|
||||
- container
|
||||
- queue_name: tripleo
|
||||
tasks:
|
||||
check_container:
|
||||
action: swift.head_container container=<% $.container %>
|
||||
on-success: get_tempurl
|
||||
on-error: create_container
|
||||
|
||||
create_container:
|
||||
action: tripleo.plan.create_container container="<% $.container %>-swift-rings"
|
||||
on-error: set_create_container_failed
|
||||
on-success: get_tempurl
|
||||
|
||||
get_tempurl:
|
||||
action: tripleo.swift.tempurl
|
||||
on-success: set_get_tempurl
|
||||
input:
|
||||
container: "<% $.container %>-swift-rings"
|
||||
obj: "swift-rings.tar.gz"
|
||||
|
||||
set_get_tempurl:
|
||||
action: tripleo.parameters.update
|
||||
input:
|
||||
parameters:
|
||||
SwiftRingGetTempurl: <% task(get_tempurl).result %>
|
||||
container: <% $.container %>
|
||||
on-success: put_tempurl
|
||||
|
||||
put_tempurl:
|
||||
action: tripleo.swift.tempurl
|
||||
on-success: set_put_tempurl
|
||||
input:
|
||||
container: "<% $.container %>-swift-rings"
|
||||
obj: "swift-rings.tar.gz"
|
||||
method: "PUT"
|
||||
|
||||
set_put_tempurl:
|
||||
action: tripleo.parameters.update
|
||||
input:
|
||||
parameters:
|
||||
SwiftRingPutTempurl: <% 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 %>
|
||||
|
||||
set_create_container_failed:
|
||||
on-success: notify_zaqar
|
||||
publish:
|
||||
status: FAILED
|
||||
message: <% task(create_container_failed).result %>
|
||||
|
||||
notify_zaqar:
|
||||
action: zaqar.queue_post
|
||||
input:
|
||||
queue_name: <% $.queue_name %>
|
||||
messages:
|
||||
body:
|
||||
type: tripleo.swift_rings_backup.v1.create_swift_rings_backup_container_plan
|
||||
payload:
|
||||
status: <% $.status %>
|
||||
message: <% $.get('message', '') %>
|
||||
execution: <% execution() %>
|
||||
on-success:
|
||||
- fail: <% $.get('status') = "FAILED" %>
|
Loading…
Reference in New Issue