mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
88 lines
2.8 KiB
Bash
Executable File
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
|