From b8c13cecb4a8a4eff301c6cbc1ffa4d181aae410 Mon Sep 17 00:00:00 2001 From: Parker Berberian Date: Wed, 20 Dec 2017 13:26:23 -0500 Subject: Adds update workflow JIRA: None Adds a workflow and code that installs the chosen operating system on a free host, updates it, and captures the new disk image. This ensures that when we provision a new host, it is relatively up to date. Change-Id: I553e4c8c1715add47ebfe7d853f884f242813ab2 Signed-off-by: Parker Berberian --- laas-fog/pharoslaas/actions/update.sh | 29 ++++++++++++++++++++ laas-fog/pharoslaas/actions/update.yaml | 21 +++++++++++++++ laas-fog/pharoslaas/actions/update_workflow.yaml | 31 ++++++++++++++++++++++ .../actions/workflows/update_workflow.yaml | 24 +++++++++++++++++ 4 files changed, 105 insertions(+) create mode 100644 laas-fog/pharoslaas/actions/update.sh create mode 100644 laas-fog/pharoslaas/actions/update.yaml create mode 100644 laas-fog/pharoslaas/actions/update_workflow.yaml create mode 100644 laas-fog/pharoslaas/actions/workflows/update_workflow.yaml diff --git a/laas-fog/pharoslaas/actions/update.sh b/laas-fog/pharoslaas/actions/update.sh new file mode 100644 index 0000000..6635864 --- /dev/null +++ b/laas-fog/pharoslaas/actions/update.sh @@ -0,0 +1,29 @@ +#!/bin/bash +############################################################################## +# Copyright 2017 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. # +############################################################################## + +#check which package manager is used and run appropriate update cmd + +if which apt; then + apt -y update && apt -y upgrade +elif which yum; then + yum -y upgrade +elif which zypper; then + zypper -n update +else + echo "Could not find package manager" + exit 1 +fi diff --git a/laas-fog/pharoslaas/actions/update.yaml b/laas-fog/pharoslaas/actions/update.yaml new file mode 100644 index 0000000..7c11a6d --- /dev/null +++ b/laas-fog/pharoslaas/actions/update.yaml @@ -0,0 +1,21 @@ +--- +############################################################################## +# Copyright 2017 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. # +############################################################################## + +name: update +entry_point: update.sh +enabled: true +runner_type: remote-shell-script diff --git a/laas-fog/pharoslaas/actions/update_workflow.yaml b/laas-fog/pharoslaas/actions/update_workflow.yaml new file mode 100644 index 0000000..27bbbba --- /dev/null +++ b/laas-fog/pharoslaas/actions/update_workflow.yaml @@ -0,0 +1,31 @@ +--- +############################################################################## +# Copyright 2017 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. # +############################################################################## + +name: update_workflow +entry_point: workflows/update_workflow.yaml +enabled: true +runner_type: action-chain +parameters: + host: + required: true + type: string + os: + required: false + type: string + disk: + required: false + type: string diff --git a/laas-fog/pharoslaas/actions/workflows/update_workflow.yaml b/laas-fog/pharoslaas/actions/workflows/update_workflow.yaml new file mode 100644 index 0000000..132266f --- /dev/null +++ b/laas-fog/pharoslaas/actions/workflows/update_workflow.yaml @@ -0,0 +1,24 @@ +--- +chain: + + - + name: "imageHost" + ref: "pharoslaas.fog_imageWorkflow" + parameters: + image: "{{image}}" + os: "{{os}}" + host: "{{host}}" + on-success: "updateHost" + + - + name: "updateHost" + ref: "pharoslaas.update" + parameters: + hosts: "{{host}}" + on-success: "captureHost" + + - + name: "captureHost" + ref: "pharoslaas.fog_captureWorkflow" + parameters: + host: "{{host}}" -- cgit 1.2.3-korg