mirror of
https://github.com/clearlinux/dockerfiles.git
synced 2026-09-03 04:01:38 +00:00
Add persistent data capability
Signed-off-by: Munoz, Obed N <obed.n.munoz@intel.com>
This commit is contained in:
+1
-3
@@ -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'
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user