diff options
author | Parker Berberian <pberberian@iol.unh.edu> | 2017-12-20 13:26:23 -0500 |
---|---|---|
committer | Parker Berberian <pberberian@iol.unh.edu> | 2017-12-20 13:26:23 -0500 |
commit | b8c13cecb4a8a4eff301c6cbc1ffa4d181aae410 (patch) | |
tree | 74a571598d5c7fc718f7cdf98cd3d1f0a5d6f49d /laas-fog/pharoslaas | |
parent | 786079a1057edd45cd5b929b75d7d2f968d6e4e6 (diff) |
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 <pberberian@iol.unh.edu>
Diffstat (limited to 'laas-fog/pharoslaas')
-rw-r--r-- | laas-fog/pharoslaas/actions/update.sh | 29 | ||||
-rw-r--r-- | laas-fog/pharoslaas/actions/update.yaml | 21 | ||||
-rw-r--r-- | laas-fog/pharoslaas/actions/update_workflow.yaml | 31 | ||||
-rw-r--r-- | laas-fog/pharoslaas/actions/workflows/update_workflow.yaml | 24 |
4 files changed, 105 insertions, 0 deletions
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}}" |