kolla-ansible/tools/kolla-compose
Swapnil Kulkarni b396395df4 Temporary remove gnocchi from kolla-compose & functional tests
Current with due to LP#1478145 the kolla-compose script
fails to create gnocchi containers. Temperory fix to skip
gnocchi till we have gnocchi packges in delorean.

Change-Id: I7dc6aef82908a846a8b632f86a16de47c1a2eef9
Partial-Bug: #1478145
2015-08-03 09:56:05 +00:00

158 lines
3.7 KiB
Bash
Executable File

#!/bin/bash
#
# This script can be used to interact with kolla.
# Move to top level directory
REAL_PATH=$(python -c "import os,sys;print os.path.realpath('$0')")
cd "$(dirname "$REAL_PATH")/.."
. tools/validate-docker-execute
NETWORK_MANAGER=$(grep -sri NETWORK_MANAGER ./compose/openstack.env | cut -f2 -d'=')
if [[ -z "$NETWORK_MANAGER" ]]; then
echo 'No network manager defined in ./compose/openstack.env, defaulting to "neutron".'
NETWORK_MANAGER="neutron"
fi
function process {
local service=$1
echo "$ACTION $service"
docker-compose -f ./compose/${service}.yml $COMPOSE_CMD
if [[ $? -ne 0 ]]; then
echo "Call docker-compose -f ./compose/${service}.yml $COMPOSE_CMD fail."
exit 1
fi
}
function process_all {
process rabbitmq
process mariadb
process keystone
process glance-api-registry
process nova-api-conductor-scheduler-consoleauth-novncproxy
if [[ "${NETWORK_MANAGER}" == "nova" ]] ; then
process nova-compute-network
else
# Defaulting to neutron
process nova-compute
process neutron-server
process neutron-linuxbridge-agent
process neutron-agents
fi
process heat-api-engine
process magnum-api-conductor
process horizon
process cinder-api-scheduler
process cinder-backup
process cinder-volume
process ceilometer
# TODO(coolsvap) add again with resolution for #LP1478145
#process gnocchi
}
function check_selinux {
# Check for SELinux in Enforcing mode and exit if found
if [[ -x /usr/sbin/getenforce ]]; then
if [[ $(/usr/sbin/getenforce) == "Enforcing" ]]; then
echo "You must execute this script without SELinux enforcing mode."
echo "Turn off SELinux enforcing mode by running:"
echo "$ sudo setenforce permissive"
exit 1
fi
fi
}
function pre_start {
check_selinux
if [[ -r ./openrc ]]; then
# Source openrc for commands
source ./openrc
else
echo 'Could not find ./openrc; bootstrap your environment with "./tools/genenv".'
exit 1
fi
}
function post_start {
echo -n "Waiting for OpenStack services to become available"
until [ $(nova service-list 2>&1 | grep -c enabled) -ge 4 ]; do
echo -n .
sleep 2
done
until [ $(neutron agent-list 2>&1 | grep -c ':-)') -ge 4 ]; do
echo -n .
sleep 2
done
echo " done"
echo Example Usage:
echo source openrc # source keystone credentials
echo Configure your environment once by running:
echo tools/init-runonce
}
function usage {
cat <<EOF
Usage: $0 COMMAND
Commands:
pull Pull all of the Docker images
start Start all kolla containers
status List running kolla containers
stop Stop all kolla containers
restart Restart all kolla containers
destroy Kill and remove all kolla containers and volumes
EOF
}
case "$1" in
(pull)
ACTION="Pulling"
COMPOSE_CMD="pull"
process_all
;;
(start)
ACTION="Starting"
COMPOSE_CMD="up -d"
pre_start
process_all
post_start
;;
(restart)
ACTION="Restarting"
COMPOSE_CMD="restart"
process_all
;;
(status)
ACTION="Status of"
COMPOSE_CMD="ps"
process_all
;;
(stop)
ACTION="Stopping"
COMPOSE_CMD="stop"
process_all
;;
(destroy)
ACTION="Destroying"
COMPOSE_CMD="kill"
process_all
COMPOSE_CMD="rm -f -v"
process_all
;;
(*) usage
exit 0
;;
esac