From ab24a8de07dac62569ec79425241a6b974ed32a9 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Thu, 10 Oct 2019 15:07:45 -0400 Subject: Updated LaaS-Reflab We have had divergent repositories for the code that runs in UNH because of difficulties with Gerrit and developer laziness. This incorporates the previous change (removing all references to pharos) and updates everything to what is currently running. Change-Id: I5c83c70d5ca686dfa03d49936fdce1603cdac16c Signed-off-by: Parker Berberian --- laas/actions/workflows/update_image_workflow.yaml | 100 ++++++++++++++++++++++ 1 file changed, 100 insertions(+) create mode 100644 laas/actions/workflows/update_image_workflow.yaml (limited to 'laas/actions/workflows/update_image_workflow.yaml') diff --git a/laas/actions/workflows/update_image_workflow.yaml b/laas/actions/workflows/update_image_workflow.yaml new file mode 100644 index 0000000..812b829 --- /dev/null +++ b/laas/actions/workflows/update_image_workflow.yaml @@ -0,0 +1,100 @@ +--- +############################################################################## +# Copyright 2019 Sawyer Bergeron 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: 1.0 + +description: "Updates the given image using the given host for scratch space" +input: + - host # stackstorm recognized host handle + - update_from_image # image to apply to the host and update + - update_from_os # os to apply to the host and update + - update_into_image # image to save the updated image into + - update_into_os # os to save the updated image into +tasks: + get_target_image: # primary entry point + action: laas.fog_getTargetImage + input: + host: <% ctx().host %> + from_image: <% ctx().update_from_image %> + from_os: <% ctx().update_from_os %> + target_image: <% ctx().update_into_image %> + target_os: <% ctx().update_into_os %> + next: + - when: <% succeeded() %> + publish: + - target_image: <% result().result %> + do: prepare_host + + prepare_host: + action: laas.add_management_vlan + input: + hosts: <% list(ctx().host) %> + next: + - when: <% succeeded() %> + do: get_ipmi_name + + get_ipmi_name: + action: laas.get_ipmi_hostname + input: + host: <% ctx().host %> + next: + - when: <% succeeded() %> + publish: + - ipmi_name: <% result().result %> + do: ping_ipmi + + ping_ipmi: + action: laas.wait_for_host + input: + hostname: <% ctx().ipmi_name %> + timeout: 200 + next: + - when: <% succeeded() %> + do: set_boot + + set_boot: + action: laas.set_boot_workflow + input: + host: <% ctx().host %> + next: + - when: <% succeeded %> + do: image_host + + image_host: + action: laas.fog_imageWorkflow + input: + host: <% ctx().host %> + image: <% ctx().update_from_image %> + os: <% ctx().update_from_os %> + next: + - when: <% succeeded() %> + do: run_updates + + run_updates: + action: laas.update + input: + hosts: <% ctx().host %> + timeout: 900 + next: + - when: <% succeeded() %> + do: capture_image + + capture_image: # exit node + action: laas.fog_captureWorkflow + input: + host: <% ctx().host %> + image: <% ctx().target_image %> -- cgit 1.2.3-korg