mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
squashed commit for dockerfiles part#2 including comments from PR#910
This commit is contained in:
parent
1f6781babc
commit
fb2e5d2aad
@ -52,7 +52,8 @@ RUN (/usr/bin/mysqld_safe &); \
|
|||||||
sleep 3; \
|
sleep 3; \
|
||||||
mvn -Pdeveloper -pl developer -Ddeploydb; \
|
mvn -Pdeveloper -pl developer -Ddeploydb; \
|
||||||
mvn -Pdeveloper -pl developer -Ddeploydb-simulator; \
|
mvn -Pdeveloper -pl developer -Ddeploydb-simulator; \
|
||||||
pip install tools/marvin/dist/Marvin-4.6.0-SNAPSHOT.tar.gz
|
MARVIN_FILE=`find tools/marvin/dist/ -name "Marvin*.tar.gz"` \
|
||||||
|
pip install $MARVIN_FILE
|
||||||
|
|
||||||
EXPOSE 8080 8096
|
EXPOSE 8080 8096
|
||||||
|
|
||||||
|
|||||||
@ -23,15 +23,19 @@ LABEL Vendor="Apache.org" License="ApacheV2" Version="4.6.0"
|
|||||||
ENV PKG_URL=http://jenkins.buildacloud.org/job/package-rhel63-master/lastSuccessfulBuild/artifact/dist/rpmbuild/RPMS/x86_64
|
ENV PKG_URL=http://jenkins.buildacloud.org/job/package-rhel63-master/lastSuccessfulBuild/artifact/dist/rpmbuild/RPMS/x86_64
|
||||||
|
|
||||||
# install CloudStack
|
# install CloudStack
|
||||||
RUN yum install -y \
|
RUN yum install -y nc wget \
|
||||||
${PKG_URL}/cloudstack-common-4.6.0-SNAPSHOT.el6.x86_64.rpm \
|
${PKG_URL}/cloudstack-common-4.6.0-SNAPSHOT.el6.x86_64.rpm \
|
||||||
${PKG_URL}/cloudstack-management-4.6.0-SNAPSHOT.el6.x86_64.rpm
|
${PKG_URL}/cloudstack-management-4.6.0-SNAPSHOT.el6.x86_64.rpm
|
||||||
|
|
||||||
RUN cd /etc/cloudstack/management; \
|
RUN cd /etc/cloudstack/management; \
|
||||||
ln -s tomcat6-nonssl.conf tomcat6.conf; \
|
ln -s tomcat6-nonssl.conf tomcat6.conf; \
|
||||||
ln -s server-nonssl.xml server.xml; \
|
ln -s server-nonssl.xml server.xml; \
|
||||||
ln -s log4j-cloud.xml log4j.xml
|
ln -s log4j-cloud.xml log4j.xml; \
|
||||||
|
wget -O /usr/share/cloudstack-common/scripts/vm/hypervisor/xenserver/vhd-util \
|
||||||
|
http://download.cloud.com.s3.amazonaws.com/tools/vhd-util
|
||||||
|
|
||||||
COPY init.sh_centos6 /root/init.sh
|
COPY init.sh_centos6 /root/init.sh
|
||||||
|
COPY systemtpl.sh /root/systemtpl.sh
|
||||||
|
|
||||||
RUN yum clean all
|
RUN yum clean all
|
||||||
|
|
||||||
|
|||||||
@ -81,6 +81,7 @@ tag:latest = master branch
|
|||||||
docker commit -m "init system.iso" -a "Apache CloudStack" cloudstack cloudstack/management_centos6
|
docker commit -m "init system.iso" -a "Apache CloudStack" cloudstack cloudstack/management_centos6
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Marvin
|
### Marvin
|
||||||
|
|
||||||
Build Marvin container usable to deploy cloud in the CloudStack management server container.
|
Build Marvin container usable to deploy cloud in the CloudStack management server container.
|
||||||
|
|||||||
@ -17,27 +17,41 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
#
|
#
|
||||||
# update database connection
|
# update database connection
|
||||||
|
# /usr/bin/cloudstack-setup-databases cloud:password@$MYSQL_PORT_3306_TCP_ADDR
|
||||||
# start cloudstack-management server
|
# start cloudstack-management server
|
||||||
#/usr/bin/cloudstack-setup-databases cloud:password@$MYSQL_PORT_3306_TCP_ADDR
|
|
||||||
|
|
||||||
# initial startup of the container to generage ssh_key
|
# initial startup of the container to generage ssh_key
|
||||||
# performed as privileged
|
# performed as privileged
|
||||||
if [ ! -d /var/cloudstack/management/.ssh ]; then
|
if [ ! -d /var/cloudstack/management/.ssh ]; then
|
||||||
mknod /dev/loop6 -m0660 b 7 6
|
mknod /dev/loop6 -m0660 b 7 6
|
||||||
fi
|
fi
|
||||||
sleep 5
|
|
||||||
|
|
||||||
mysql -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD" -h"$MYSQL_PORT_3306_TCP_ADDR" \
|
# 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
|
-e "show databases;"|grep -q cloud
|
||||||
|
|
||||||
case $? in
|
case $? in
|
||||||
1)
|
1)
|
||||||
echo "deploying new cloud databases"
|
echo "deploying new cloud databases"
|
||||||
|
INITIATED=false
|
||||||
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR} \
|
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR} \
|
||||||
--deploy-as=root:${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -i localhost
|
--deploy-as=root:${MYSQL_ENV_MYSQL_ROOT_PASSWORD} -i localhost
|
||||||
;;
|
;;
|
||||||
0)
|
0)
|
||||||
echo "using existing databases"
|
echo "using existing databases"
|
||||||
|
INITIATED=true
|
||||||
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR}
|
cloudstack-setup-databases cloud:password@${MYSQL_PORT_3306_TCP_ADDR}
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -47,4 +61,27 @@ case $? in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
service cloudstack-management start
|
service cloudstack-management start
|
||||||
tail -f /var/log/cloudstack/management/catalina.out
|
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
|
||||||
|
|||||||
66
tools/docker/systemtpl.sh
Executable file
66
tools/docker/systemtpl.sh
Executable file
@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env 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.
|
||||||
|
|
||||||
|
#set -x
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Usage:"
|
||||||
|
echo " `basename $0`: <hypervisor>"
|
||||||
|
echo " `basename $0`: {xenserver, kvm, vmware, lxc, ovm}"
|
||||||
|
exit 2
|
||||||
|
}
|
||||||
|
|
||||||
|
[ $# -lt 1 ] && usage
|
||||||
|
|
||||||
|
|
||||||
|
HYPERVISOR=$1
|
||||||
|
|
||||||
|
INSTALL_SYS_TMPLT=/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt
|
||||||
|
EXPORT_PATH=/exports/secondary
|
||||||
|
|
||||||
|
if [ ! -d ${EXPORT_PATH} ]; then
|
||||||
|
echo "ERROR: Secondary Storage path '${EXPORT_PATH}' not found."
|
||||||
|
exit 3
|
||||||
|
fi
|
||||||
|
|
||||||
|
URL="http://jenkins.buildacloud.org/job/build-systemvm64-master/lastSuccessfulBuild/artifact/tools/appliance/dist"
|
||||||
|
case $HYPERVISOR in
|
||||||
|
kvm)
|
||||||
|
TO_DOWNLOAD=${URL}/systemvm64template-master-4.6.0-kvm.qcow2.bz2
|
||||||
|
;;
|
||||||
|
xenserver)
|
||||||
|
TO_DOWNLOAD=${URL}/systemvm64template-master-4.6.0-xen.vhd.bz2
|
||||||
|
;;
|
||||||
|
vmware)
|
||||||
|
TO_DOWNLOAD=${URL}/systemvm64template-master-4.6.0-vmware.ova
|
||||||
|
;;
|
||||||
|
lxc)
|
||||||
|
TO_DOWNLOAD=${URL}/systemvm64template-master-4.6.0-kvm.qcow2.bz2
|
||||||
|
;;
|
||||||
|
ovm)
|
||||||
|
TO_DOWNLOAD=${URL}/systemvm64template-master-4.6.0-ovm.raw.bz2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: hypervisor not found"
|
||||||
|
exit 4
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
${INSTALL_SYS_TMPLT} -m ${EXPORT_PATH} -u ${TO_DOWNLOAD} -h $HYPERVISOR
|
||||||
|
|
||||||
|
exit 0
|
||||||
Loading…
x
Reference in New Issue
Block a user