aboutsummaryrefslogtreecommitdiffstats
path: root/mcp/config/states/virtual_control_plane
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2017-10-14 01:14:42 +0000
committerGerrit Code Review <gerrit@opnfv.org>2017-10-14 01:14:42 +0000
commitca4e854f1b0eb6bfb35aa349e7d74abdd71128df (patch)
tree4e098d0370f8b6fb43b4ecda31af6ce4642ef98f /mcp/config/states/virtual_control_plane
parentbd0259e7bb5f045a1ba7958d79039848d062aad1 (diff)
parentebd7067904b36ae32566da63e433365948a1f973 (diff)
Merge "states: Split virtual_control_plane from maas"
Diffstat (limited to 'mcp/config/states/virtual_control_plane')
-rwxr-xr-xmcp/config/states/virtual_control_plane41
1 files changed, 41 insertions, 0 deletions
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
new file mode 100755
index 000000000..69f26c34e
--- /dev/null
+++ b/mcp/config/states/virtual_control_plane
@@ -0,0 +1,41 @@
+#!/bin/bash
+# shellcheck disable=SC1090
+set -x
+
+source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
+
+# KVM, compute node prereqs (libvirt first), VCP deployment
+salt -C 'kvm*' pkg.install bridge-utils
+salt -C 'kvm*' state.apply linux.network
+salt -C 'kvm*' system.reboot
+wait_for 90 "! salt 'kvm*' test.ping | tee /dev/stderr | fgrep -q 'Not connected'"
+
+salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp
+
+salt -C 'kvm*' state.sls libvirt
+
+salt -C '* and not cfg01* and not mas01*' state.apply salt
+salt -C 'kvm*' saltutil.sync_all
+wait_for 10 "! salt -C 'kvm*' state.sls salt.control | " \
+ "tee /dev/stderr | fgrep -q 'Not connected'"
+
+vcp_nodes=$(salt --out yaml 'kvm01*' pillar.get salt:control:cluster:internal:node | \
+ awk '/\s+\w+:$/ {gsub(/:$/, "*"); print $1}')
+
+# Check all vcp nodes are available
+rc=1
+while [ $rc -ne 0 ]; do
+ rc=0
+ for node in $vcp_nodes; do
+ salt "$node" test.ping 2>/dev/null || { rc=$?; break; };
+ done
+ sleep 5
+done
+
+wait_for 10 "salt -C '* and not cfg01* and not mas01*' saltutil.sync_all"
+wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply salt"
+wait_for 10 "! salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' state.apply linux,ntp | " \
+ "tee /dev/stderr | fgrep -q 'Not connected'"
+
+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")")"