Code Review
/
fuel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Add & fix licensing in README.rst files, align ext"
[fuel.git]
/
mcp
/
scripts
/
lib.sh
diff --git
a/mcp/scripts/lib.sh
b/mcp/scripts/lib.sh
index
3f74058
..
e123e52
100644
(file)
--- a/
mcp/scripts/lib.sh
+++ b/
mcp/scripts/lib.sh
@@
-4,25
+4,28
@@
#
generate_ssh_key() {
#
generate_ssh_key() {
+ # shellcheck disable=SC2155
+ local mcp_ssh_key=$(basename "${SSH_KEY}")
local user=${USER}
if [ -n "${SUDO_USER}" ] && [ "${SUDO_USER}" != 'root' ]; then
user=${SUDO_USER}
fi
local user=${USER}
if [ -n "${SUDO_USER}" ] && [ "${SUDO_USER}" != 'root' ]; then
user=${SUDO_USER}
fi
- if [ -f "
/tmp/
${SSH_KEY}" ]; then
- cp "
/tmp/
${SSH_KEY}" .
- ssh-keygen -f "${
SSH_KEY}" -y > "${SSH_KEY
}.pub"
+ if [ -f "${SSH_KEY}" ]; then
+ cp "${SSH_KEY}" .
+ ssh-keygen -f "${
mcp_ssh_key}" -y > "${mcp_ssh_key
}.pub"
fi
fi
- [ -f "${
SSH_KEY}" ] || ssh-keygen -f "${SSH_KEY
}" -N ''
- install -o "${user}" -m 0600 "${SSH_KEY}" /tmp/
+ [ -f "${
mcp_ssh_key}" ] || ssh-keygen -f "${mcp_ssh_key
}" -N ''
+ sudo install -D -o "${user}" -m 0600 "${mcp_ssh_key}" "${SSH_KEY}"
}
get_base_image() {
local base_image=$1
}
get_base_image() {
local base_image=$1
+ local image_dir=$2
- mkdir -p
images
- wget -P
/tmp
-N "${base_image}"
+ mkdir -p
"${image_dir}"
+ wget -P
"${image_dir}"
-N "${base_image}"
}
cleanup_vms() {
}
cleanup_vms() {
@@
-31,24
+34,29
@@
cleanup_vms() {
virsh destroy "${node}"
done
for node in $(virsh list --name --all | grep -P '\w{3}\d{2}'); do
virsh destroy "${node}"
done
for node in $(virsh list --name --all | grep -P '\w{3}\d{2}'); do
- virsh undefine --nvram "${node}"
+ virsh domblklist "${node}" | awk '/^.da/ {print $2}' | \
+ xargs --no-run-if-empty -I{} sudo rm -f {}
+ virsh undefine "${node}" --remove-all-storage --nvram
done
}
prepare_vms() {
local -n vnodes=$1
local base_image=$2
done
}
prepare_vms() {
local -n vnodes=$1
local base_image=$2
+ local image_dir=$3
cleanup_vms
cleanup_vms
- get_base_image "${base_image}"
- envsubst < user-data.template > user-data.sh
+ get_base_image "${base_image}" "${image_dir}"
+ # shellcheck disable=SC2016
+ envsubst '${SALT_MASTER},${CLUSTER_DOMAIN}' < \
+ user-data.template > user-data.sh
for node in "${vnodes[@]}"; do
# create/prepare images
for node in "${vnodes[@]}"; do
# create/prepare images
- ./create-config-drive.sh -k "$
{SSH_KEY}
.pub" -u user-data.sh \
- -h "${node}" "
images
/mcp_${node}.iso"
- cp "
/tmp/${base_image/*\/}" "images
/mcp_${node}.qcow2"
- qemu-img resize "
images
/mcp_${node}.qcow2" 100G
+ ./create-config-drive.sh -k "$
(basename "${SSH_KEY}")
.pub" -u user-data.sh \
+ -h "${node}" "
${image_dir}
/mcp_${node}.iso"
+ cp "
${image_dir}/${base_image/*\/}" "${image_dir}
/mcp_${node}.qcow2"
+ qemu-img resize "
${image_dir}
/mcp_${node}.qcow2" 100G
done
}
done
}
@@
-76,6
+84,7
@@
create_vms() {
local -n vnodes_ram=$2
local -n vnodes_vcpus=$3
local -n vnode_networks=$4
local -n vnodes_ram=$2
local -n vnodes_vcpus=$3
local -n vnode_networks=$4
+ local image_dir=$5
# AArch64: prepare arch specific arguments
local virt_extra_args=""
# AArch64: prepare arch specific arguments
local virt_extra_args=""
@@
-105,10
+114,10
@@
create_vms() {
virt-install --name "${node}" \
--ram "${vnodes_ram[$node]}" --vcpus "${vnodes_vcpus[$node]}" \
--cpu host-passthrough --accelerate ${net_args} \
virt-install --name "${node}" \
--ram "${vnodes_ram[$node]}" --vcpus "${vnodes_vcpus[$node]}" \
--cpu host-passthrough --accelerate ${net_args} \
- --disk path="$
(pwd)/images
/mcp_${node}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \
+ --disk path="$
{image_dir}
/mcp_${node}.qcow2",format=qcow2,bus=virtio,cache=none,io=native \
--os-type linux --os-variant none \
--boot hd --vnc --console pty --autostart --noreboot \
--os-type linux --os-variant none \
--boot hd --vnc --console pty --autostart --noreboot \
- --disk path="$
(pwd)/images
/mcp_${node}.iso",device=cdrom \
+ --disk path="$
{image_dir}
/mcp_${node}.iso",device=cdrom \
--noautoconsole \
${virt_extra_args}
done
--noautoconsole \
${virt_extra_args}
done
@@
-116,7
+125,9
@@
create_vms() {
update_mcpcontrol_network() {
# set static ip address for salt master node, MaaS node
update_mcpcontrol_network() {
# set static ip address for salt master node, MaaS node
+ # shellcheck disable=SC2155
local cmac=$(virsh domiflist cfg01 2>&1| awk '/mcpcontrol/ {print $5; exit}')
local cmac=$(virsh domiflist cfg01 2>&1| awk '/mcpcontrol/ {print $5; exit}')
+ # shellcheck disable=SC2155
local amac=$(virsh domiflist mas01 2>&1| awk '/mcpcontrol/ {print $5; exit}')
virsh net-update "mcpcontrol" add ip-dhcp-host \
"<host mac='${cmac}' name='cfg01' ip='${SALT_MASTER}'/>" --live
local amac=$(virsh domiflist mas01 2>&1| awk '/mcpcontrol/ {print $5; exit}')
virsh net-update "mcpcontrol" add ip-dhcp-host \
"<host mac='${cmac}' name='cfg01' ip='${SALT_MASTER}'/>" --live
@@
-130,7
+141,7
@@
start_vms() {
# start vms
for node in "${vnodes[@]}"; do
virsh start "${node}"
# start vms
for node in "${vnodes[@]}"; do
virsh start "${node}"
- sleep $
[RANDOM%5+1]
+ sleep $
((RANDOM%5+1))
done
}
done
}