aboutsummaryrefslogtreecommitdiffstats
path: root/laas/actions/workflows/snapshot_workflow.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'laas/actions/workflows/snapshot_workflow.yaml')
-rw-r--r--laas/actions/workflows/snapshot_workflow.yaml71
1 files changed, 71 insertions, 0 deletions
diff --git a/laas/actions/workflows/snapshot_workflow.yaml b/laas/actions/workflows/snapshot_workflow.yaml
new file mode 100644
index 0000000..0babf84
--- /dev/null
+++ b/laas/actions/workflows/snapshot_workflow.yaml
@@ -0,0 +1,71 @@
+---
+##############################################################################
+# Copyright 2018 Parker Berberian and Others #
+# #
+# Licensed under the Apache License, Version 2.0 (the License); #
+# you may not use this file except in compliance with the License. #
+# You may obtain a copy of the License at #
+# #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an AS IS BASIS, #
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+version: '2.0'
+laas.snapshot_workflow:
+ input:
+ - task_id
+ - job_id
+
+ tasks:
+
+ start_task:
+ action: laas.start_task
+ input:
+ task_id: <% $.task_id %>
+ job_id: <% $.job_id %>
+ on-success: get_task
+
+ get_task:
+ action: laas.get_task
+ input:
+ task_id: <% $.task_id %>
+ type: "snapshot"
+ job_id: <% $.job_id %>
+ publish:
+ task_data: <% task(get_task).result.result %>
+ on-success: snapshot_task
+
+ snapshot_task:
+ action: laas.fog_snapshotWorkflow
+ input:
+ name: <% concat("snapshot_", str($.task_data.dashboard_id)
+ host: <% $.task_data.host %>
+ publish:
+ snapshot_id: <% task(snapshot_task).result.result.snapshot_id %>
+ host: <% task(snapshot_task).result.result.host %>
+ on-success: finish
+ on-error: retry
+
+ finish:
+ action: laas.finish_task
+ input:
+ task_id: <% $.task_id %>
+ job_id: <% $.job_id %>
+
+ retry:
+ action: core.local cmd="exit 0"
+ on-success: finish
+ on-error: task_error
+
+ task_error:
+ action: laas.error_task
+ input:
+ task_id: <% $.task_id %>
+ job_id: <% $.job_id %>
+ on-complete:
+ - fail