aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-08-23 12:01:35 +0000
committerSam Yaple <sam@yaple.net>2015-08-24 18:19:34 +0000
commit6a297265c5b1a3fa6ef134e8953ea5c1bbfdca02 (patch)
treeafc2e6c42eda0a0071e5bee29864bc5fd8f8e56f
parentd568c47207340cd481404f43bc3fdb00d0af356f (diff)
downloadkolla-6a297265c5b1a3fa6ef134e8953ea5c1bbfdca02.tar.gz
kolla-6a297265c5b1a3fa6ef134e8953ea5c1bbfdca02.zip
Ubuntu - Horizon
Updates support for Ubuntu to install Horizon. Update the Horizon install block to follow the same structure as all of the other source install blocks. Removed local_settings copy since that will be copied in from outside with the config-external.sh script Change-Id: Iab386386286d66e6f74407a043e78cb5cb1b032b Partially-Implements: blueprint install-from-ubuntu
-rw-r--r--docker/common/horizon/config-external.sh15
-rwxr-xr-xdocker/common/horizon/start.sh17
-rw-r--r--docker_templates/horizon/Dockerfile.j256
3 files changed, 54 insertions, 34 deletions
diff --git a/docker/common/horizon/config-external.sh b/docker/common/horizon/config-external.sh
index 373a82e64..8e9fc47a0 100644
--- a/docker/common/horizon/config-external.sh
+++ b/docker/common/horizon/config-external.sh
@@ -8,3 +8,18 @@ if [[ -f "$SOURCE" ]]; then
chown ${OWNER}: $TARGET
chmod 0644 $TARGET
fi
+
+if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
+ "${KOLLA_BASE_DISTRO}" == "debian" ]]; then
+ SOURCE="/opt/kolla/horizon/horizon.conf"
+ TARGET="/etc/apache2/sites-enabled/000-default.conf"
+else
+ SOURCE="/opt/kolla/horizon/horizon.conf"
+ TARGET="/etc/httpd/sites.d/horizon.conf"
+fi
+
+if [[ -f "$SOURCE" ]]; then
+ cp $SOURCE $TARGET
+ chown ${OWNER}: $TARGET
+ chmod 0644 $TARGET
+fi
diff --git a/docker/common/horizon/start.sh b/docker/common/horizon/start.sh
index 2470bda77..096326a3a 100755
--- a/docker/common/horizon/start.sh
+++ b/docker/common/horizon/start.sh
@@ -2,12 +2,21 @@
set -o errexit
-CMD="/usr/sbin/httpd"
-ARGS="-DFOREGROUND"
-
-# Loading common functions.
+# Loading common functions
source /opt/kolla/kolla-common.sh
+if [[ "${KOLLA_BASE_DISTRO}" == "ubuntu" || \
+ "${KOLLA_BASE_DISTRO}" == "debian" ]]; then
+ CMD="/usr/sbin/apache2"
+ ARGS="-DFOREGROUND"
+
+ # Loading Apache2 ENV variables
+ source /etc/apache2/envvars
+else
+ CMD="/usr/sbin/httpd"
+ ARGS="-DFOREGROUND"
+fi
+
# Execute config strategy
set_configs
diff --git a/docker_templates/horizon/Dockerfile.j2 b/docker_templates/horizon/Dockerfile.j2
index dfd731939..e02cbe6f6 100644
--- a/docker_templates/horizon/Dockerfile.j2
+++ b/docker_templates/horizon/Dockerfile.j2
@@ -5,11 +5,11 @@ MAINTAINER Kolla Project (https://launchpad.net.kolla)
{% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
RUN yum -y install \
- openstack-dashboard \
- httpd \
- mod_wsgi \
+ openstack-dashboard \
+ httpd \
+ mod_wsgi \
&& yum clean all \
- && chown -R apache:apache /usr/share/openstack-dashboard/static
+ && chown -R apache: /usr/share/openstack-dashboard/static
# The chown is required because of this packaging bug:
# https://bugzilla.redhat.com/show_bug.cgi?id=1219006
@@ -20,41 +20,37 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
{% endif %}
-
{% elif install_type == 'source' %}
-
-ADD ./horizon.tar /
-RUN ln -s /horizon-* /horizon
+ {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
RUN yum install -y \
- httpd \
- mod_wsgi \
+ httpd \
+ mod_wsgi \
&& yum clean all
-RUN cd /horizon \
- && useradd --user-group horizon \
- && pip install -r requirements.txt \
- && pip install /horizon \
- && mkdir -p \
- /etc/openstack-dashboard \
- /var/log/horizon \
- /usr/share/openstack-dashboard \
- && cp -r /horizon/openstack_dashboard /usr/share/openstack-dashboard/ \
- && cp /horizon/openstack_dashboard/local/local_settings.py.example \
- /etc/openstack-dashboard/local_settings \
- && ln -s /etc/openstack-dashboard/local_settings \
- /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py \
- && cp /horizon/manage.py /usr/share/openstack-dashboard \
- && python /usr/share/openstack-dashboard/manage.py collectstatic --noinput \
- && chown -R apache:apache /usr/share/openstack-dashboard/static \
- && rm -rf /root/.cache
+ {% elif base_distro in ['ubuntu', 'debian'] %}
-# The chown is required because of this packaging bug:
-# https://bugzilla.redhat.com/show_bug.cgi?id=1219006
+RUN apt-get install -y --no-install-recommends \
+ apache2 \
+ libapache2-mod-wsgi \
+ && echo > /etc/apache2/ports.conf \
+ && apt-get clean
+
+ {% endif %}
+
+ADD horizon.tar /
+RUN ln -s /horizon-* /horizon \
+ && pip --no-cache-dir install /horizon \
+ && useradd --user-group horizon \
+ && mkdir /etc/openstack-dashboard /home/horizon \
+ && ln -s openstack_dashboard/static/ /usr/lib/python2.7/site-packages/static \
+ && ln -s /etc/openstack-dashboard/local_settings /usr/lib/python2.7/site-packages/openstack_dashboard/local/local_settings.py \
+ && cp -r /horizon/openstack_dashboard/conf/* /etc/openstack-dashboard/ \
+ && chown -R horizon: /etc/openstack-dashboard /home/horizon /usr/lib/python2.7/site-packages/openstack_dashboard/static
{% endif %}
-COPY config-external.sh /opt/kolla/
COPY start.sh /
+COPY config-external.sh /opt/kolla/
CMD ["/start.sh"]