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
This commit is contained in:
Sam Yaple 2015-08-23 12:01:35 +00:00
parent d568c47207
commit 6a297265c5
3 changed files with 54 additions and 34 deletions

View File

@ -8,3 +8,18 @@ if [[ -f "$SOURCE" ]]; then
chown ${OWNER}: $TARGET chown ${OWNER}: $TARGET
chmod 0644 $TARGET chmod 0644 $TARGET
fi 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

View File

@ -2,12 +2,21 @@
set -o errexit set -o errexit
CMD="/usr/sbin/httpd" # Loading common functions
ARGS="-DFOREGROUND"
# Loading common functions.
source /opt/kolla/kolla-common.sh 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 # Execute config strategy
set_configs set_configs

View File

@ -5,11 +5,11 @@ MAINTAINER Kolla Project (https://launchpad.net.kolla)
{% if base_distro in ['centos', 'fedora', 'oraclelinux'] %} {% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
RUN yum -y install \ RUN yum -y install \
openstack-dashboard \ openstack-dashboard \
httpd \ httpd \
mod_wsgi \ mod_wsgi \
&& yum clean all \ && 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: # The chown is required because of this packaging bug:
# https://bugzilla.redhat.com/show_bug.cgi?id=1219006 # 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 && /bin/false
{% endif %} {% endif %}
{% elif install_type == 'source' %} {% elif install_type == 'source' %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux'] %}
ADD ./horizon.tar /
RUN ln -s /horizon-* /horizon
RUN yum install -y \ RUN yum install -y \
httpd \ httpd \
mod_wsgi \ mod_wsgi \
&& yum clean all && yum clean all
RUN cd /horizon \ {% elif base_distro in ['ubuntu', 'debian'] %}
&& 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
# The chown is required because of this packaging bug: RUN apt-get install -y --no-install-recommends \
# https://bugzilla.redhat.com/show_bug.cgi?id=1219006 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 %} {% endif %}
COPY config-external.sh /opt/kolla/
COPY start.sh / COPY start.sh /
COPY config-external.sh /opt/kolla/
CMD ["/start.sh"] CMD ["/start.sh"]