summaryrefslogtreecommitdiffstats
path: root/tools/maas/deploy.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/maas/deploy.sh')
-rw-r--r--tools/maas/deploy.sh21
1 files changed, 14 insertions, 7 deletions
diff --git a/tools/maas/deploy.sh b/tools/maas/deploy.sh
index 55984da..484a389 100644
--- a/tools/maas/deploy.sh
+++ b/tools/maas/deploy.sh
@@ -18,13 +18,15 @@
#.
#. Prerequisites:
#. - MAAS server configured to admin a set of servers
+#. - User is logged into the MAAS server e.g. via maas login opnfv <url>
#. - Password-less ssh key provided for node setup
#. Usage: on the MAAS server
#. $ git clone https://gerrit.opnfv.org/gerrit/models ~/models
-#. $ source ~/models/tools/maas/demo_deploy.sh <key> "<hosts>" [<extras>]
+#. $ source ~/models/tools/maas/demo_deploy.sh <os> <key> "<hosts>" [<extras>]
+#. <os>: "xenial" (Ubtuntu Xenial) or "centos" (Centos 7)
#. <key>: name of private key for cluster node ssh (in current folder)
#. <hosts>: space separated list of hostnames managed by MAAS
-#. <extras>: optional name of script for extra setup functions as needed
+#. <extras>: optional name and parameters of script for extra setup functions
function log() {
f=$(caller 0 | awk '{print $2}')
@@ -57,7 +59,11 @@ function deploy_nodes() {
log "Deploying node $node"
id=$(maas opnfv machines read hostname=$node | jq -r '.[0].system_id')
maas opnfv machines allocate system_id=$id
- maas opnfv machine deploy $id
+ if [[ "$os" == "ubuntu" ]]; then
+ maas opnfv machine deploy $id
+ else
+ maas opnfv machine deploy $id distro_series=$os hwe_kernel=generic
+ fi
done
}
@@ -68,9 +74,10 @@ function wait_nodes_status() {
done
}
-key=$1
-nodes="$2"
-extras=$3
+os=$1
+key=$2
+nodes="$3"
+extras="$4"
release_nodes "$nodes"
wait_nodes_status "$nodes" Ready
@@ -78,4 +85,4 @@ deploy_nodes "$nodes"
wait_nodes_status "$nodes" Deployed
eval `ssh-agent`
ssh-add $key
-if [[ "x$extras" != "x" ]]; then source $extras; fi
+if [[ "x$extras" != "x" ]]; then source $extras $5 $6 $7 $8 $9; fi