From c7cd4621e0092aeb3ce940ee37d7bdd1c4e72ee5 Mon Sep 17 00:00:00 2001
From: Sam Yaple <sam@yaple.net>
Date: Wed, 12 Aug 2015 04:10:40 +0000
Subject: [PATCH] Add Dockerfile template for keystone

Change-Id: Ifc19a4e51419d83082007809f51e2d9d6378f328
Partially-Implements: blueprint dockerfile-template
---
 docker_templates/keystone/Dockerfile.j2      | 71 ++++++++++++++++++++
 docker_templates/keystone/config-external.sh |  1 +
 docker_templates/keystone/start.sh           |  1 +
 3 files changed, 73 insertions(+)
 create mode 100644 docker_templates/keystone/Dockerfile.j2
 create mode 120000 docker_templates/keystone/config-external.sh
 create mode 120000 docker_templates/keystone/start.sh

diff --git a/docker_templates/keystone/Dockerfile.j2 b/docker_templates/keystone/Dockerfile.j2
new file mode 100644
index 0000000000..f3b7e0e9fc
--- /dev/null
+++ b/docker_templates/keystone/Dockerfile.j2
@@ -0,0 +1,71 @@
+FROM {{ namespace }}/{{ base_distro }}-{{ install_type }}-base:{{ tag }}
+MAINTAINER Kolla Project (https://launchpad.net/kolla)
+
+{% if install_type == 'binary' %}
+    {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum -y install openstack-keystone \
+        python-keystoneclient \
+        python-openstackclient \
+        httpd \
+        mod_wsgi \
+    && yum clean all
+
+RUN mkdir -p /var/www/cgi-bin/keystone \
+    && cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/main \
+    && cp -a /usr/share/keystone/keystone.wsgi /var/www/cgi-bin/keystone/admin
+
+    {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        apache2 \
+        keystone \
+        libapache2-mod-wsgi \
+        python-keystoneclient \
+    && apt-get clean
+
+RUN ln -s /etc/apache2/sites-available/wsgi-keystone.conf /etc/apache2/sites-enabled \
+    && mkdir -p /var/www/cgi-bin/keystone \
+    && cp -a /usr/share/keystone/wsgi.py /var/www/cgi-bin/keystone/main \
+    && cp -a /usr/share/keystone/wsgi.py /var/www/cgi-bin/keystone/admin
+
+    {% endif %}
+{% elif install_type == 'source' %}
+    {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %}
+
+RUN yum -y install \
+        httpd \
+        mod_wsgi \
+    && yum clean all
+
+    {% elif base_distro in ['ubuntu', 'debian'] %}
+
+RUN apt-get install -y --no-install-recommends \
+        apache2 \
+        keystone \
+        libapache2-mod-wsgi \
+    && apt-get clean
+
+    {% endif %}
+
+ADD ./keystone.tar /
+RUN ln -s /keystone-* /keystone
+
+RUN cd /keystone \
+    && useradd --user-group keystone \
+    && pip install -r requirements.txt \
+    && pip install /keystone \
+    && mkdir /etc/keystone /var/www/cgi-bin/keystone \
+    && cp -r /keystone/etc/* /etc/keystone/ \
+    && cp -a httpd/keystone.py /var/www/cgi-bin/keystone/admin \
+    && cp -a httpd/keystone.py /var/www/cgi-bin/keystone/main
+
+{% endif %}
+
+RUN chown -R keystone: /var/www/cgi-bin/keystone \
+    && chmod 755 /var/www/cgi-bin/keystone/*
+
+COPY start.sh /
+COPY config-external.sh /opt/kolla/
+
+CMD ["/start.sh"]
diff --git a/docker_templates/keystone/config-external.sh b/docker_templates/keystone/config-external.sh
new file mode 120000
index 0000000000..f8576512c5
--- /dev/null
+++ b/docker_templates/keystone/config-external.sh
@@ -0,0 +1 @@
+../../docker/common/keystone/config-external.sh
\ No newline at end of file
diff --git a/docker_templates/keystone/start.sh b/docker_templates/keystone/start.sh
new file mode 120000
index 0000000000..331b4b554c
--- /dev/null
+++ b/docker_templates/keystone/start.sh
@@ -0,0 +1 @@
+../../docker/common/keystone/start.sh
\ No newline at end of file