diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2017-10-27 20:26:24 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-10-27 20:26:24 +0000 |
commit | a9e172b43c5ab17b1c1971dbb6fccf2e66bbe520 (patch) | |
tree | d0439c02b8bc801a11c48ddd06d2944e3b4036b2 /mcp | |
parent | 389271f828486c77aec3cdd5a3405bb6d090d4b0 (diff) | |
parent | 5d8939c62456209b878c61e12f3cb354b2e7c755 (diff) |
Merge "lib.sh: Fix compatibility with bash 4.2" into stable/euphrates
Diffstat (limited to 'mcp')
-rw-r--r-- | mcp/scripts/lib.sh | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index b8991534b..b4d45ddd6 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 |