From 52e37b795bb975b1cb3bf1f684b009848c50a2d6 Mon Sep 17 00:00:00 2001 From: Alexandru Avadanii Date: Fri, 1 Dec 2017 03:03:52 +0100 Subject: states: Rename openstack, add baremetal_init To align with new cluster naming convention, rename 'openstack' state file to 'openstack_noha'. While at it, factor out baremetal setup from 'virtual_control_plane' into a new state that will be reused in upcoming scenarios, remove useless sync_all (automatically done after node reboot). FUEL-310 Change-Id: I6d7e5db8f09305f2fd8eeca0199a2e85b08d2202 Signed-off-by: Alexandru Avadanii --- .../scenario/baremetal/os-nosdn-nofeature-ha.yaml | 1 + mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml | 1 + .../scenario/baremetal/os-odl-nofeature-ha.yaml | 1 + .../scenario/virtual/os-nosdn-nofeature-noha.yaml | 2 +- mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml | 2 +- .../scenario/virtual/os-odl-nofeature-noha.yaml | 2 +- mcp/config/states/baremetal_init | 33 ++++++++++++++ mcp/config/states/openstack | 51 ---------------------- mcp/config/states/openstack_noha | 51 ++++++++++++++++++++++ mcp/config/states/virtual_control_plane | 24 +--------- 10 files changed, 92 insertions(+), 76 deletions(-) create mode 100755 mcp/config/states/baremetal_init delete mode 100755 mcp/config/states/openstack create mode 100755 mcp/config/states/openstack_noha diff --git a/mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml b/mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml index e135b7686..5315fdd97 100644 --- a/mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml +++ b/mcp/config/scenario/baremetal/os-nosdn-nofeature-ha.yaml @@ -10,6 +10,7 @@ cluster: domain: baremetal-mcp-ocata-ovs-ha.local states: - maas + - baremetal_init - virtual_control_plane - openstack_ha - networks diff --git a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml index 1766f9700..a0260a069 100644 --- a/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml +++ b/mcp/config/scenario/baremetal/os-nosdn-ovs-ha.yaml @@ -10,6 +10,7 @@ cluster: domain: baremetal-mcp-ocata-ovs-dpdk-ha.local states: - maas + - baremetal_init - virtual_control_plane - dpdk - openstack_ha diff --git a/mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml b/mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml index 52a422b3c..825088169 100644 --- a/mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml +++ b/mcp/config/scenario/baremetal/os-odl-nofeature-ha.yaml @@ -10,6 +10,7 @@ cluster: domain: baremetal-mcp-ocata-odl-ha.local states: - maas + - baremetal_init - virtual_control_plane - opendaylight - openstack_ha diff --git a/mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml b/mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml index 55b433931..57369a906 100644 --- a/mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml +++ b/mcp/config/scenario/virtual/os-nosdn-nofeature-noha.yaml @@ -9,7 +9,7 @@ cluster: domain: virtual-mcp-pike-ovs-noha.local states: - - openstack + - openstack_noha - neutron_compute - networks virtual: diff --git a/mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml b/mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml index 538ff9b72..7be0fd82a 100644 --- a/mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml +++ b/mcp/config/scenario/virtual/os-nosdn-ovs-noha.yaml @@ -10,7 +10,7 @@ cluster: domain: virtual-mcp-pike-ovs-dpdk-noha.local states: - dpdk - - openstack + - openstack_noha - neutron_compute - networks virtual: diff --git a/mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml b/mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml index d1662cac7..5d114ed72 100644 --- a/mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml +++ b/mcp/config/scenario/virtual/os-odl-nofeature-noha.yaml @@ -10,7 +10,7 @@ cluster: domain: virtual-mcp-pike-odl-noha.local states: - opendaylight - - openstack + - openstack_noha - networks virtual: nodes: 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/openstack b/mcp/config/states/openstack deleted file mode 100755 index 1578dcffc..000000000 --- a/mcp/config/states/openstack +++ /dev/null @@ -1,51 +0,0 @@ -#!/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 - -salt -I 'nfs:server' file.mkdir /srv/nova/instances -salt -I 'nfs:server' state.sls nfs -salt -I 'nfs:client' state.sls nfs - -salt -I 'rabbitmq:server' state.sls rabbitmq -salt -I 'rabbitmq:server' cmd.run "rabbitmqctl status" - -salt -I 'mysql:server' state.sls mysql -salt -I 'memcached:server' state.sls memcached -salt -I 'haproxy:proxy' state.sls haproxy - -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" - -salt -I 'glance:server' state.sls glance - -# apply nova state twice to complete broken db sync -salt -I 'nova:controller' state.sls nova -salt -I 'nova:controller' state.sls nova - -salt -I 'heat:server' state.sls heat - -salt -I 'cinder:controller' state.sls cinder -salt -I 'cinder:volume' state.sls cinder - -salt -I 'neutron:server' state.sls neutron -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 'aodh:server' state.sls aodh -salt -I 'ceilometer:server' state.sls ceilometer -salt -I 'ceilometer:agent' state.sls ceilometer - -salt -I 'horizon:server' state.sls horizon diff --git a/mcp/config/states/openstack_noha b/mcp/config/states/openstack_noha new file mode 100755 index 000000000..1578dcffc --- /dev/null +++ b/mcp/config/states/openstack_noha @@ -0,0 +1,51 @@ +#!/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 + +salt -I 'nfs:server' file.mkdir /srv/nova/instances +salt -I 'nfs:server' state.sls nfs +salt -I 'nfs:client' state.sls nfs + +salt -I 'rabbitmq:server' state.sls rabbitmq +salt -I 'rabbitmq:server' cmd.run "rabbitmqctl status" + +salt -I 'mysql:server' state.sls mysql +salt -I 'memcached:server' state.sls memcached +salt -I 'haproxy:proxy' state.sls haproxy + +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" + +salt -I 'glance:server' state.sls glance + +# apply nova state twice to complete broken db sync +salt -I 'nova:controller' state.sls nova +salt -I 'nova:controller' state.sls nova + +salt -I 'heat:server' state.sls heat + +salt -I 'cinder:controller' state.sls cinder +salt -I 'cinder:volume' state.sls cinder + +salt -I 'neutron:server' state.sls neutron +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 'aodh:server' state.sls aodh +salt -I 'ceilometer:server' state.sls ceilometer +salt -I 'ceilometer:agent' state.sls ceilometer + +salt -I 'horizon:server' state.sls horizon diff --git a/mcp/config/states/virtual_control_plane b/mcp/config/states/virtual_control_plane index b08a31ce6..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'" -- cgit 1.2.3-korg