summaryrefslogtreecommitdiffstats
path: root/mcp/config/states
diff options
context:
space:
mode:
Diffstat (limited to 'mcp/config/states')
-rwxr-xr-xmcp/config/states/baremetal_init33
-rwxr-xr-xmcp/config/states/dpdk7
-rwxr-xr-xmcp/config/states/openstack_noha (renamed from mcp/config/states/openstack)6
-rwxr-xr-xmcp/config/states/virtual_control_plane27
4 files changed, 44 insertions, 29 deletions
diff --git a/mcp/config/states/baremetal_init b/mcp/config/states/baremetal_init
new file mode 100755
index 000000000..7b532da52
--- /dev/null
+++ b/mcp/config/states/baremetal_init
@@ -0,0 +1,33 @@
+#!/bin/bash -e
+##############################################################################
+# Copyright (c) 2017 Mirantis Inc., Enea AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+CI_DEBUG=${CI_DEBUG:-0}; [[ "${CI_DEBUG}" =~ (false|0) ]] || set -x
+
+# shellcheck disable=SC1090
+source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
+
+# KVM, compute node prereqs
+# 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 \
+ content='iface = iface.lower()' mode='delete'
+
+salt -C 'kvm* or cmp*' file.replace $debian_ip_source \
+ pattern="^\s{8}__salt__\['pkg.install'\]\('vlan'\)" \
+ repl="\n if not __salt__['pkg.version']('vlan'):\n __salt__['pkg.install']('vlan')"
+
+salt -C 'kvm*' pkg.install bridge-utils
+salt -C 'kvm*' state.apply linux.network
+salt -C 'cmp*' state.apply linux.system
+salt -C 'cmp*' state.apply linux.network || true
+salt -C 'kvm* or cmp*' system.reboot
+wait_for 90 "! salt -C 'kvm* or cmp*' test.ping | " \
+ "tee /dev/stderr | grep -Fq 'Not connected'"
+
+salt -C 'kvm* or cmp*' state.apply linux,ntp,salt.minion
diff --git a/mcp/config/states/dpdk b/mcp/config/states/dpdk
index eb00d7279..6aa2b488c 100755
--- a/mcp/config/states/dpdk
+++ b/mcp/config/states/dpdk
@@ -15,12 +15,9 @@ source "$(dirname "${BASH_SOURCE[0]}")/../../scripts/lib.sh"
salt -I 'nova:compute' system.reboot
wait_for 90 "! salt -I 'nova:compute' test.ping | " \
"tee /dev/stderr | grep -Fq 'Not connected'"
-salt -I 'nova:compute' state.sls linux.network
-# switch to UCA repos since fuel-infra packages have bugs
-salt -I 'nova:compute' cmd.run 'rm -vrf /etc/apt/preferences.d/*'
-salt -I 'nova:compute' file.remove '/etc/apt/sources.list.d/mirantis_openstack.list'
-salt -I 'nova:compute' pkg.refresh_db
+salt -I 'nova:compute' alternatives.set ovs-vswitchd /usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk
+salt -I 'nova:compute' service.restart openvswitch-switch
salt -I 'nova:compute' pkg.install libvirt-bin
salt -I 'nova:compute' file.chown /var/run/openvswitch libvirt-qemu kvm
diff --git a/mcp/config/states/openstack b/mcp/config/states/openstack_noha
index 369e16504..1578dcffc 100755
--- a/mcp/config/states/openstack
+++ b/mcp/config/states/openstack_noha
@@ -20,8 +20,10 @@ salt -I 'mysql:server' state.sls mysql
salt -I 'memcached:server' state.sls memcached
salt -I 'haproxy:proxy' state.sls haproxy
-salt -I 'keystone:server' state.sls keystone.server
+set +e; salt -I 'keystone:server' state.sls keystone.server; set -e
salt -I 'keystone:server' service.restart apache2
+salt -I 'keystone:server' state.sls keystone.server
+
salt -I 'keystone:server' state.sls keystone.client
salt -I 'keystone:server' cmd.run ". /root/keystonercv3; openstack service list"
@@ -41,7 +43,7 @@ salt -I 'neutron:gateway' state.sls neutron
salt -I 'nova:compute' state.sls nova
-salt -I 'mongodb:server' state.sls mongodb
+salt -I 'mongodb:server' state.sls mongodb || salt -I 'mongodb:server' state.sls mongodb
salt -I 'aodh:server' state.sls aodh
salt -I 'ceilometer:server' state.sls ceilometer
salt -I 'ceilometer:agent' state.sls ceilometer
diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane
index c355126f7..5de4673cc 100755
--- a/mcp/config/states/virtual_control_plane
+++ b/mcp/config/states/virtual_control_plane
@@ -26,30 +26,10 @@ if [ "${ERASE_ENV}" -eq 1 ]; then
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 \
- content='iface = iface.lower()' mode='delete'
-
-salt -C 'kvm* or cmp*' file.replace $debian_ip_source \
- pattern="^\s{8}__salt__\['pkg.install'\]\('vlan'\)" \
- repl="\n if not __salt__['pkg.version']('vlan'):\n __salt__['pkg.install']('vlan')"
-
-salt -C 'kvm*' pkg.install bridge-utils
-salt -C 'kvm*' state.apply linux.network
-salt -C 'cmp*' state.apply linux.system
-salt -C 'cmp*' state.apply linux.network || true
-salt -C 'kvm* or cmp*' system.reboot
-wait_for 90 "! salt -C 'kvm* or cmp*' test.ping | " \
- "tee /dev/stderr | grep -Fq 'Not connected'"
-
-salt -C '* and not cfg01* and not mas01*' state.apply linux,ntp
-
+# KVM libvirt first, VCP deployment
wait_for 5 "salt -C 'kvm*' state.sls libvirt"
-salt -C '* and not cfg01* and not mas01*' state.apply salt
-salt -C 'kvm*' saltutil.sync_all
+salt -C 'kvm* or cmp*' state.apply salt
wait_for 10 "! salt -C 'kvm*' state.sls salt.control | " \
"tee /dev/stderr | grep -Fq 'Not connected'"
@@ -80,3 +60,6 @@ wait_for 10 "salt -C 'E@^(?!cfg01|mas01|kvm|cmp00).*' ssh.set_auth_key ${SUDO_US
# Disable proxy dhcp routes after installation
salt -C 'prx*' file.write /etc/dhcp/dhclient-enter-hooks.d/no-default-route \
args='unset new_routers'
+salt -C 'prx*' system.reboot
+wait_for 30 "! salt -C 'prx*' test.ping | " \
+ "tee /dev/stderr | grep -Fq 'Not connected'"