cloudstack/tools/docker/init.sh_centos6

88 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
# update database connection
# /usr/bin/cloudstack-setup-databases cloud:password@$MYSQL_PORT_3306_TCP_ADDR
# start cloudstack-management server
# initial startup of the container to generage ssh_key
# performed as privileged
if [ ! -d /var/cloudstack/management/.ssh ]; then
mknod /dev/loop6 -m0660 b 7 6
fi
# if global setting are changed, it will restart the management server
RESTART_REQUIRED=false
if [ ! $MYSQL_PORT_3306_TCP_ADDR ]; then
echo "variable MYSQL_PORT_3306_TCP_ADDR not define"
exit 12
fi
until nc -z $MYSQL_PORT_3306_TCP_ADDR 3306; do
echo "waiting for mysql-server..."
sleep 1
done
mysql -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -h "$MYSQL_PORT_3306_TCP_ADDR" \
-e "show databases;"|grep -q cloud
case $? in
1)
echo "deploying new cloud databases"
INITIATED=false
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR} \
--deploy-as=root:${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -i localhost
;;
0)
echo "using existing databases"
INITIATED=true
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR}
;;
*)
echo "cannot access database"
exit 12
;;
esac
service cloudstack-management start
sleep 10
if [ $HYPERVISOR_TEMPLATE ]; then
#download the systemvm template into /exports
/root/systemtpl.sh $HYPERVISOR_TEMPLATE
fi
if [ $CLOUDSTACK_HOST ]; then
mysql -u root -p${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -h ${MYSQL_PORT_3306_TCP_ADDR} -e \
"UPDATE cloud.configuration SET value='${CLOUDSTACK_HOST}' where name = 'host';"
RESTART_REQUIRED=true
fi
if [ $DEV_API ] && [ $INITIATED == false ]; then
mysql -u root -p${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -h ${MYSQL_PORT_3306_TCP_ADDR} -e \
"UPDATE cloud.configuration SET value='8096' where name = 'integration.api.port';"
mysql -u root -p${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -h ${MYSQL_PORT_3306_TCP_ADDR} -e \
"UPDATE cloud.configuration SET value='true' where name = 'system.vm.use.local.storage';"
RESTART_REQUIRED=true
fi
[ $RESTART_REQUIRED == true ] && service cloudstack-management restart
tail -f /var/log/cloudstack/management/management-server.log