diff options
Diffstat (limited to 'mcp/config/states/virtual_control_plane')
-rwxr-xr-x | mcp/config/states/virtual_control_plane | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane index 43d152023..c355126f7 100755 --- a/mcp/config/states/virtual_control_plane +++ b/mcp/config/states/virtual_control_plane @@ -8,13 +8,25 @@ ############################################################################## CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x +ERASE_ENV=${ERASE_ENV:-0} # shellcheck disable=SC1090 source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh" -# KVM, compute node prereqs (libvirt first), VCP deployment -salt -C 'kvm* or cmp*' cmd.run 'rm -f /etc/network/interfaces.d/*.cfg' +# Optionally destroy VCP VMs from a previous run +if [ "${ERASE_ENV}" -eq 1 ]; then + kvm_vms=$(salt --out yaml 'kvm*' virt.list_domains | \ + sed -e 's/- //g' -e 's/:.*$//g') + for line in ${kvm_vms}; do + if [[ "${line}" =~ ^kvm ]]; then + kvm_node=${line} + elif [ -n "${kvm_node}" ]; then + salt "${kvm_node}" virt.purge dirs=True "${line}" || true + fi + done +fi +# KVM, compute node prereqs (libvirt first), VCP deployment # patch the networking module for Debian based distros debian_ip_source=/usr/lib/python2.7/dist-packages/salt/modules/debian_ip.py salt -C 'kvm* or cmp*' file.line $debian_ip_source \ @@ -64,3 +76,7 @@ wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp | wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_USER} \ $(awk 'NR==1{print $2}' "$(eval echo "~${SUDO_USER}/.ssh/authorized_keys")")" + +# Disable proxy dhcp routes after installation +salt -C 'prx*' file.write /etc/dhcp/dhclient-enter-hooks.d/no-default-route \ + args='unset new_routers' |