diff options
author | Michael Polenchuk <mpolenchuk@mirantis.com> | 2017-09-05 07:40:46 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-09-05 07:40:46 +0000 |
commit | 14d7bf43d3790a0a5fb69c9eff0e93b9fd63c5ba (patch) | |
tree | a0ceca5376d0c44e632d69dc666320e1a84e28ff /mcp/scripts/lib.sh | |
parent | f201c865ce86b192d18536e4266c7cd574304987 (diff) | |
parent | 0fed9ab50ef24816bf0979bece955763fd634189 (diff) |
Merge "ci/deploy.sh, lib.sh: Align SSH_KEY with Jenkins"
Diffstat (limited to 'mcp/scripts/lib.sh')
-rw-r--r-- | mcp/scripts/lib.sh | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/mcp/scripts/lib.sh b/mcp/scripts/lib.sh index 67c960a6e..1812663d3 100644 --- a/mcp/scripts/lib.sh +++ b/mcp/scripts/lib.sh @@ -4,25 +4,28 @@ # 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 - 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 - [ -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 '' + install -D -o "${user}" -m 0600 "${mcp_ssh_key}" "${SSH_KEY}" } 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() { @@ -38,18 +41,19 @@ cleanup_vms() { prepare_vms() { local -n vnodes=$1 local base_image=$2 + local image_dir=$3 cleanup_vms - get_base_image "${base_image}" + get_base_image "${base_image}" "${image_dir}" envsubst '${SALT_MASTER},${CLUSTER_DOMAIN}' < \ user-data.template > user-data.sh 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 } @@ -77,6 +81,7 @@ create_vms() { 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="" @@ -106,10 +111,10 @@ create_vms() { 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 \ - --disk path="$(pwd)/images/mcp_${node}.iso",device=cdrom \ + --disk path="${image_dir}/mcp_${node}.iso",device=cdrom \ --noautoconsole \ ${virt_extra_args} done @@ -117,7 +122,9 @@ create_vms() { 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}') + # 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 |