summaryrefslogtreecommitdiffstats
path: root/laas-fog/pharoslaas
diff options
context:
space:
mode:
authorParker Berberian <pberberian@iol.unh.edu>2017-12-20 13:26:23 -0500
committerParker Berberian <pberberian@iol.unh.edu>2017-12-20 13:26:23 -0500
commitb8c13cecb4a8a4eff301c6cbc1ffa4d181aae410 (patch)
tree74a571598d5c7fc718f7cdf98cd3d1f0a5d6f49d /laas-fog/pharoslaas
parent786079a1057edd45cd5b929b75d7d2f968d6e4e6 (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.sh29
-rw-r--r--laas-fog/pharoslaas/actions/update.yaml21
-rw-r--r--laas-fog/pharoslaas/actions/update_workflow.yaml31
-rw-r--r--laas-fog/pharoslaas/actions/workflows/update_workflow.yaml24
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}}"