#!/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