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
 |