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
67599bbc80
commit
5046bea8c9
|
@ -128,7 +128,7 @@ workflows:
|
|||
queue_name: <% $.queue_name %>
|
||||
on-complete:
|
||||
- run_validations: <% $.run_validations %>
|
||||
- check_container: <% not $.run_validations %>
|
||||
- create_swift_rings_backup_plan: <% not $.run_validations %>
|
||||
|
||||
run_validations:
|
||||
workflow: tripleo.validations.v1.run_groups
|
||||
|
@ -137,7 +137,7 @@ workflows:
|
|||
- 'pre-deployment'
|
||||
plan: <% $.container %>
|
||||
queue_name: <% $.queue_name %>
|
||||
on-success: check_container
|
||||
on-success: create_swift_rings_backup_plan
|
||||
on-error: set_validations_failed
|
||||
|
||||
set_validations_failed:
|
||||
|
@ -146,45 +146,14 @@ workflows:
|
|||
status: FAILED
|
||||
message: <% task(run_validations).result %>
|
||||
|
||||
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: get_heat_stack
|
||||
on-error: create_swift_rings_backup_plan_set_status_failed
|
||||
input:
|
||||
container: <% $.container %>
|
||||
queue_name: <% $.queue_name %>
|
||||
use_default_templates: true
|
||||
|
||||
get_heat_stack:
|
||||
action: heat.stacks_get stack_id=<% $.container %>
|
||||
|
@ -208,6 +177,12 @@ workflows:
|
|||
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:
|
||||
|
|
|
@ -76,6 +76,15 @@ workflows:
|
|||
- queue_name: tripleo
|
||||
- generate_passwords: true
|
||||
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:
|
||||
|
@ -99,6 +108,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