aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/scripts/lib.sh
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-10-26 20:54:41 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-10-27 10:06:43 +0000
commit5d8939c62456209b878c61e12f3cb354b2e7c755 (patch)
treef53517810b90d740079d8f140741f95f35ceb7de /mcp/scripts/lib.sh
parentb6e65dbb9952aeafeff6fcc07b6dcd97940d62ff (diff)
lib.sh: Fix compatibility with bash 4.2
JIRA: FUEL-296 Change-Id: Ide9f9333fe9b44ff6b78678064f8e67f05aabd42 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> (cherry picked from commit fa62907da62d0b8ae9e733a9729941065ceedf4d)
Diffstat (limited to 'mcp/scripts/lib.sh')
-rw-r--r--mcp/scripts/lib.sh32
1 files changed, 16 insertions, 16 deletions
diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh
index a165bb367..8bdb5dd57 100644
--- a/mcp/scripts/lib.sh
+++ b/mcp/scripts/lib.sh
@@ -48,9 +48,9 @@ function cleanup_vms {
}
function prepare_vms {
- local -n vnodes=$1
- local base_image=$2
- local image_dir=$3
+ local base_image=$1; shift
+ local image_dir=$1; shift
+ local vnodes=("$@")
cleanup_vms
get_base_image "${base_image}" "${image_dir}"
@@ -68,7 +68,7 @@ function prepare_vms {
}
function create_networks {
- local -n vnode_networks=$1
+ local vnode_networks=("$@")
# create required networks, including constant "mcpcontrol"
# FIXME(alav): since we renamed "pxe" to "mcpcontrol", we need to make sure
# we delete the old "pxe" virtual network, or it would cause IP conflicts.
@@ -88,11 +88,9 @@ function create_networks {
}
function create_vms {
- local -n vnodes=$1
- local -n vnodes_ram=$2
- local -n vnodes_vcpus=$3
- local -n vnode_networks=$4
- local image_dir=$5
+ local image_dir=$1; shift
+ IFS='|' read -r -a vnodes <<< "$1"; shift
+ local vnode_networks=("$@")
# AArch64: prepare arch specific arguments
local virt_extra_args=""
@@ -102,10 +100,12 @@ function create_vms {
fi
# create vms with specified options
- for node in "${vnodes[@]}"; do
+ for serialized_vnode_data in "${vnodes[@]}"; do
+ IFS=',' read -r -a vnode_data <<< "${serialized_vnode_data}"
+
# prepare network args
net_args=" --network network=mcpcontrol,model=virtio"
- if [ "${node}" = "mas01" ]; then
+ if [ "${vnode_data[0]}" = "mas01" ]; then
# MaaS node's 3rd interface gets connected to PXE/Admin Bridge
vnode_networks[2]="${vnode_networks[0]}"
fi
@@ -114,13 +114,13 @@ function create_vms {
done
# shellcheck disable=SC2086
- virt-install --name "${node}" \
- --ram "${vnodes_ram[$node]}" --vcpus "${vnodes_vcpus[$node]}" \
+ virt-install --name "${vnode_data[0]}" \
+ --ram "${vnode_data[1]}" --vcpus "${vnode_data[2]}" \
--cpu host-passthrough --accelerate ${net_args} \
- --disk path="${image_dir}/mcp_${node}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \
+ --disk path="${image_dir}/mcp_${vnode_data[0]}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \
--os-type linux --os-variant none \
--boot hd --vnc --console pty --autostart --noreboot \
- --disk path="${image_dir}/mcp_${node}.iso",device=cdrom \
+ --disk path="${image_dir}/mcp_${vnode_data[0]}.iso",device=cdrom \
--noautoconsole \
${virt_extra_args}
done
@@ -139,7 +139,7 @@ function update_mcpcontrol_network {
}
function start_vms {
- local -n vnodes=$1
+ local vnodes=("$@")
# start vms
for node in "${vnodes[@]}"; do