Add persistent data capability

Signed-off-by: Munoz, Obed N <obed.n.munoz@intel.com>
This commit is contained in:
Munoz, Obed N
2016-08-25 09:15:41 -05:00
parent a144945658
commit 8bbd0a958c
4 changed files with 22 additions and 29 deletions
+1 -3
View File
@@ -13,14 +13,12 @@ COPY keystone.conf /etc/keystone
RUN mkdir -p /etc/nginx/ssl
COPY keystone.wsgi.conf /etc/nginx/
VOLUME /var/lib/mysql
COPY bootstrap.sh /usr/bin
COPY pre-setup.sh /usr/bin
COPY openrc /root/
RUN /usr/bin/pre-setup.sh
VOLUME /var/lib/mysql
WORKDIR /root
CMD '/usr/bin/bootstrap.sh'
+2
View File
@@ -29,9 +29,11 @@ Start Keystone container
------------------------
```
YOUR_HOST=`hostname -f`
MYSQL_DATA_DIR=/var/lib/mysql/
docker run -d -it --name keystone -p 5000:5000 -p 35357:35357 \
-e IDENTITY_HOST="$YOUR_HOST" \
-e KEYSTONE_ADMIN_PASSWORD="secret" \
-v $MYSQL_DATA_DIR:/var/lib/mysql \
-v `pwd`/keystone_cert.pem:/etc/nginx/ssl/keystone_cert.pem \
-v `pwd`/keystone_key.pem:/etc/nginx/ssl/keystone_key.pem \
clearlinux/keystone
+4 -2
View File
@@ -6,11 +6,14 @@ KEYSTONE_ADMIN_PASSWORD="${KEYSTONE_ADMIN_PASSWORD:-bb915e9ce0ae4b46e82a069b2ef0
sed -i.bak s/IDENTITY_HOST/$IDENTITY_HOST/g /root/openrc
sed -i.bak s/KEYSTONE_ADMIN_PASSWORD/$KEYSTONE_ADMIN_PASSWORD/g /root/openrc
if [[ ! -d /var/lib/mysql/mysql ]]; then
cp -r /data/* /var/lib/mysql/
fi
# MariaDB
mysqld_safe &
mysqladmin --silent --wait=30 ping || exit 1
# Populate keystone database
keystone-manage db_sync
@@ -18,7 +21,6 @@ keystone-manage db_sync
/usr/bin/uwsgi --ini /usr/share/uwsgi/keystone/admin.ini -s /run/uwsgi/keystone/admin.sock &
/usr/bin/uwsgi --ini /usr/share/uwsgi/keystone/public.ini -s /run/uwsgi/keystone/public.sock &
/usr/bin/nginx
/usr/bin/memcached -u root &
# Bootstrap keystone
+15 -24
View File
@@ -5,7 +5,6 @@ KEYSTONE_DB_USER=keystone
KEYSTONE_DB_PASSWORD=914de29bc82616d7c159eaf9b1f39402
KEYSTONE_DB_NAME=keystone
sed -i.bak s/MARIADB_HOST/$MARIADB_HOST/g /etc/keystone/keystone.conf
sed -i.bak s/KEYSTONE_DB_USER/$KEYSTONE_DB_USER/g /etc/keystone/keystone.conf
sed -i.bak s/KEYSTONE_DB_PASSWORD/$KEYSTONE_DB_PASSWORD/g /etc/keystone/keystone.conf
sed -i.bak s/KEYSTONE_DB_NAME/$KEYSTONE_DB_NAME/g /etc/keystone/keystone.conf
@@ -13,34 +12,24 @@ sed -i.bak s/IDENTITY_HOST/$IDENTITY_HOST/g /etc/nginx/keystone.wsgi.conf
# MariaDB
mkdir /data
echo "bind-address = 0.0.0.0" >> /etc/mariadb/my.cnf
echo "datadir = /data" >> /etc/mariadb/my.cnf
# Bootstrap mariadb if it hasn't been started
if [[ ! -d /var/lib/mysql/mysql ]]; then
/usr/bin/mysql-systemd-start pre
mysqld_safe &
# Initialize MariaDB data
/usr/bin/mysql-systemd-start pre
mysqld_safe &
mysqladmin --silent --wait=30 ping || exit 1
until mysql -e "SELECT 1;"
do
continue
done
# Remove anonymous user access
mysql -e "DELETE FROM mysql.user WHERE User=\"\";"
# Set root user password
mysql -e "GRANT ALL PRIVILEGES ON *.* TO \"root\"@\"%\" IDENTIFIED by \"secret\" WITH GRANT OPTION;"
# Remove test database
mysql -e "DROP DATABASE test;"
# Remove anonymous user access
mysql -e "DELETE FROM mysql.user WHERE User=\"\";"
# Remove test database
mysql -e "DROP DATABASE test;"
# Keystone Database and user
mysql -e "create database $KEYSTONE_DB_NAME;"
mysql -e "grant all on $KEYSTONE_DB_NAME.* to '$KEYSTONE_DB_USER'@'%' IDENTIFIED by '$KEYSTONE_DB_PASSWORD';"
mysql -e "grant all on $KEYSTONE_DB_NAME.* to '$KEYSTONE_DB_USER'@'localhost' IDENTIFIED BY '$KEYSTONE_DB_PASSWORD';"
mysql -e "FLUSH PRIVILEGES;"
fi
# Keystone Database and user
mysql -e "create database $KEYSTONE_DB_NAME;"
mysql -e "grant all on $KEYSTONE_DB_NAME.* to '$KEYSTONE_DB_USER'@'%' IDENTIFIED by '$KEYSTONE_DB_PASSWORD';"
mysql -e "grant all on $KEYSTONE_DB_NAME.* to '$KEYSTONE_DB_USER'@'localhost' IDENTIFIED BY '$KEYSTONE_DB_PASSWORD';"
mysql -e "FLUSH PRIVILEGES;"
# Populate keystone database
keystone-manage db_sync
@@ -57,3 +46,5 @@ echo "logto=/var/log/uwsgi-keystone-public.log" >> /usr/share/uwsgi/keystone/pub
mkdir /var/lib/nginx
echo "user root;" >> /usr/share/nginx/conf/nginx.conf
# Reset MariaDB datadir
sed -i.bak "s/datadir =.*//g" /etc/mariadb/my.cnf