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 | 0b7cab458c62db0453cf6cd80f3aa0f497aeb078 (patch) | |
tree | e224e22653e277d777021b077da3c1ddf3c52f83 /pharoslaas | |
parent | 7c82beda82b39539b7125771835600aed9c5ae64 (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 'pharoslaas')
-rw-r--r-- | pharoslaas/actions/update.sh | 29 | ||||
-rw-r--r-- | pharoslaas/actions/update.yaml | 21 | ||||
-rw-r--r-- | pharoslaas/actions/update_workflow.yaml | 31 | ||||
-rw-r--r-- | pharoslaas/actions/workflows/update_workflow.yaml | 24 |
4 files changed, 105 insertions, 0 deletions
diff --git a/pharoslaas/actions/update.sh b/pharoslaas/actions/update.sh new file mode 100644 index 0000000..6635864 --- /dev/null +++ b/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/pharoslaas/actions/update.yaml b/pharoslaas/actions/update.yaml new file mode 100644 index 0000000..7c11a6d --- /dev/null +++ b/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/pharoslaas/actions/update_workflow.yaml b/pharoslaas/actions/update_workflow.yaml new file mode 100644 index 0000000..27bbbba --- /dev/null +++ b/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/pharoslaas/actions/workflows/update_workflow.yaml b/pharoslaas/actions/workflows/update_workflow.yaml new file mode 100644 index 0000000..132266f --- /dev/null +++ b/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}}" |