aboutsummaryrefslogtreecommitdiffstats
path: root/templates/moon_keystone
diff options
context:
space:
mode:
authorWuKong <rebirthmonkey@gmail.com>2017-12-23 21:49:35 +0100
committerWuKong <rebirthmonkey@gmail.com>2017-12-23 21:49:58 +0100
commit1100c66ce03a059ebe7ece9734e799b49b3a5a9e (patch)
treea057e7e7511f6675a9327b79e6919f07c5f89f07 /templates/moon_keystone
parent7a4dfdde6314476ae2a1a1c881ff1e3c430f790e (diff)
moonv4 cleanup
Change-Id: Icef927f3236d985ac13ff7376f6ce6314b2b39b0 Signed-off-by: WuKong <rebirthmonkey@gmail.com>
Diffstat (limited to 'templates/moon_keystone')
-rw-r--r--templates/moon_keystone/Dockerfile25
-rw-r--r--templates/moon_keystone/README.md26
-rw-r--r--templates/moon_keystone/run.sh81
3 files changed, 132 insertions, 0 deletions
diff --git a/templates/moon_keystone/Dockerfile b/templates/moon_keystone/Dockerfile
new file mode 100644
index 00000000..2a43bd92
--- /dev/null
+++ b/templates/moon_keystone/Dockerfile
@@ -0,0 +1,25 @@
+FROM ubuntu:zesty
+
+ENV ADMIN_TOKEN=p4ssw0rd
+ENV ADMIN_PASSWORD=p4ssw0rd
+ENV DB_CONNECTION="mysql+pymysql"
+ENV DB_DRIVER=sql
+ENV DB_HOST=localhost
+ENV DB_DATABASE=keystonedb
+ENV DB_USER=keystone
+ENV DB_PASSWORD=p4ssw0rd
+ENV DB_USER_ROOT=root
+ENV DB_PASSWORD_ROOT=p4sswOrd1
+ENV RABBIT_NODE=server
+ENV INTERFACE_HOST="http://localhost:3001"
+
+RUN apt update && apt install apache2 rabbitmq-server keystone python-openstackclient libapache2-mod-wsgi mysql-client -y
+
+# RUN apt update && apt install iputils-ping net-tools -y
+
+ADD run.sh /root
+
+EXPOSE 35357
+EXPOSE 5000
+
+CMD ["/bin/bash", "/root/run.sh"] \ No newline at end of file
diff --git a/templates/moon_keystone/README.md b/templates/moon_keystone/README.md
new file mode 100644
index 00000000..7027324e
--- /dev/null
+++ b/templates/moon_keystone/README.md
@@ -0,0 +1,26 @@
+# Keystone container
+
+## build keystone image
+
+without proxy:
+```bash
+docker build -t keystone:mitaka .
+```
+
+with a proxy:
+```bash
+docker build --build-arg https_proxy=http://proxy:3128 --build-arg http_proxy=http://proxy:3128 -t keystone:mitaka .
+```
+
+
+### access to the container
+```bash
+docker container exec -ti keystone /bin/bash
+export OS_USERNAME=admin
+export OS_PASSWORD=p4ssw0rd
+export OS_REGION_NAME=Orange
+export OS_TENANT_NAME=admin
+export OS_AUTH_URL=http://localhost:5000/v3
+export OS_DOMAIN_NAME=Default
+openstack project list
+``` \ No newline at end of file
diff --git a/templates/moon_keystone/run.sh b/templates/moon_keystone/run.sh
new file mode 100644
index 00000000..2a61901e
--- /dev/null
+++ b/templates/moon_keystone/run.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+
+MY_HOSTNAME=localhost
+
+echo DB_HOST=$DB_HOST
+echo DB_DATABASE=$DB_DATABASE
+echo RABBIT_NODE=$RABBIT_NODE
+echo RABBIT_NODE=$[RABBIT_NODE]
+echo INTERFACE_HOST=$INTERFACE_HOST
+
+sed "s/#admin_token = <None>/admin_token=$ADMIN_TOKEN/g" -i /etc/keystone/keystone.conf
+sed "s/#connection = <None>/connection = $DB_CONNECTION:\/\/$DB_USER:$DB_PASSWORD@$DB_HOST\/$DB_DATABASE/g" -i /etc/keystone/keystone.conf
+
+cat << EOF | tee -a /etc/keystone/keystone.conf
+[cors]
+allowed_origin = $INTERFACE_HOST
+max_age = 3600
+allow_methods = POST,GET,DELETE
+EOF
+
+until echo status | mysql -h${DB_HOST} -u${DB_USER_ROOT} -p${DB_PASSWORD_ROOT}; do
+ >&2 echo "MySQL is unavailable - sleeping"
+ sleep 1
+done
+
+>&2 echo "Mysql is up - executing command"
+
+mysql -h $DB_HOST -u$DB_USER_ROOT -p$DB_PASSWORD_ROOT <<EOF
+CREATE DATABASE $DB_DATABASE DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+GRANT ALL ON $DB_DATABASE.* TO '$DB_USER'@'%' IDENTIFIED BY '$DB_PASSWORD';
+GRANT ALL ON $DB_DATABASE.* TO '$DB_USER'@'localhost' IDENTIFIED BY '$DB_PASSWORD';
+EOF
+
+keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
+keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
+
+su -s /bin/sh -c "keystone-manage db_sync" keystone
+
+keystone-manage bootstrap \
+ --bootstrap-password ${ADMIN_PASSWORD} \
+ --bootstrap-username admin \
+ --bootstrap-project-name admin \
+ --bootstrap-role-name admin \
+ --bootstrap-service-name keystone \
+ --bootstrap-region-id Orange \
+ --bootstrap-admin-url http://localhost:35357 \
+ --bootstrap-public-url http://localhost:5000 \
+ --bootstrap-internal-url http://localhost:5000
+
+
+service apache2 start
+
+export OS_USERNAME=admin
+export OS_PASSWORD=${ADMIN_PASSWORD}
+export OS_REGION_NAME=Orange
+export OS_TENANT_NAME=admin
+export OS_AUTH_URL=http://localhost:5000/v3
+export OS_DOMAIN_NAME=Default
+export OS_IDENTITY_API_VERSION=3
+
+openstack project create --description "Service Project" demo
+openstack role create user
+openstack role add --project demo --user demo user
+
+echo -e "\n Project list:"
+openstack project list
+
+echo -e "\n Users list:"
+openstack user list
+
+echo -e "\n Roles list:"
+openstack role list
+
+echo -e "\n Service list:"
+openstack service list
+
+echo -e "\n Endpoint list:"
+openstack endpoint list
+
+
+tail -f /var/log/apache2/keystone.log \ No newline at end of file