aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorEduardo Gonzalez <dabarren@gmail.com>2017-09-01 12:45:12 +0200
committerEduardo Gonzalez <dabarren@gmail.com>2017-10-14 16:54:00 +0000
commit02ce804a441a42b2f4dca03b2e3fb0ba054cfe33 (patch)
treeeb74c59c687142221faf749cdba4eda583597e8c /docker
parent2ef0bd51a93a3d0d5e963824a7e5fb2ea556239e (diff)
downloadkolla-02ce804a441a42b2f4dca03b2e3fb0ba054cfe33.tar.gz
kolla-02ce804a441a42b2f4dca03b2e3fb0ba054cfe33.zip
Fix vitrage images
Vitrage start api service under apache or uwsgi. We have not created a migration to uwsgi. This change adds apache packages needed for api also add rdo binaries to rpm distros. Adds missing collector image. Change-Id: Iecb32e321b46f9b567af25fa6acafbe9a292bbca Closes-Bug: #1681613
Diffstat (limited to 'docker')
-rw-r--r--docker/vitrage/vitrage-api/Dockerfile.j226
-rw-r--r--docker/vitrage/vitrage-api/extend_start.sh11
-rw-r--r--docker/vitrage/vitrage-base/Dockerfile.j246
-rwxr-xr-xdocker/vitrage/vitrage-base/extend_start.sh2
-rw-r--r--docker/vitrage/vitrage-collector/Dockerfile.j230
-rw-r--r--docker/vitrage/vitrage-graph/Dockerfile.j214
-rw-r--r--docker/vitrage/vitrage-ml/Dockerfile.j214
-rw-r--r--docker/vitrage/vitrage-notifier/Dockerfile.j214
8 files changed, 151 insertions, 6 deletions
diff --git a/docker/vitrage/vitrage-api/Dockerfile.j2 b/docker/vitrage/vitrage-api/Dockerfile.j2
index c5f88d79d..5a9cae22e 100644
--- a/docker/vitrage/vitrage-api/Dockerfile.j2
+++ b/docker/vitrage/vitrage-api/Dockerfile.j2
@@ -3,14 +3,36 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block vitrage_api_header %}{% endblock %}
+{% import "macros.j2" as macros with context %}
+
{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_api_packages = [
+ 'httpd',
+ 'mod_wsgi',
+ 'mod_ssl',
+ 'python-ldappool',
+ 'openstack-vitrage-api'
+ ] %}
+
+{{ macros.install_packages(vitrage_api_packages | customizable("packages")) }}
+RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
+ && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
+ {% endif %}
+
{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_vitrage_extend_start
+RUN chmod 755 /usr/local/bin/kolla_vitrage_extend_start
+
{% block vitrage_api_footer %}{% endblock %}
{% block footer %}{% endblock %}
-
-USER vitrage
diff --git a/docker/vitrage/vitrage-api/extend_start.sh b/docker/vitrage/vitrage-api/extend_start.sh
new file mode 100644
index 000000000..4596bf6a1
--- /dev/null
+++ b/docker/vitrage/vitrage-api/extend_start.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# NOTE(pbourke): httpd will not clean up after itself in some cases which
+# results in the container not being able to restart. (bug #1489676, 1557036)
+if [[ "${KOLLA_BASE_DISTRO}" =~ debian|ubuntu ]]; then
+ # Loading Apache2 ENV variables
+ . /etc/apache2/envvars
+ rm -rf /var/run/apache2/*
+else
+ rm -rf /var/run/httpd/* /run/httpd/* /tmp/httpd*
+fi
diff --git a/docker/vitrage/vitrage-base/Dockerfile.j2 b/docker/vitrage/vitrage-base/Dockerfile.j2
index 1cb4ed9f5..9d3aba660 100644
--- a/docker/vitrage/vitrage-base/Dockerfile.j2
+++ b/docker/vitrage/vitrage-base/Dockerfile.j2
@@ -9,11 +9,48 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_base_packages = [
+ 'openstack-vitrage-common'
+ ] %}
+
+{{ macros.install_packages(vitrage_base_packages | customizable("packages")) }}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
+ {% endif %}
+
{% elif install_type == 'source' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_base_packages = [
+ 'httpd',
+ 'mod_wsgi',
+ 'mod_ssl',
+ 'python-ldappool'
+ ] %}
+
+{{ macros.install_packages(vitrage_base_packages | customizable("packages")) }}
+RUN sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf \
+ && sed -i -r 's,^(Listen 443),#\1,' /etc/httpd/conf.d/ssl.conf
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
+ {% set vitrage_base_packages = [
+ 'apache2',
+ 'libapache2-mod-wsgi',
+ 'python-ldappool'
+ ] %}
+
+{{ macros.install_packages(vitrage_base_packages | customizable("packages")) }}
+RUN echo > /etc/apache2/ports.conf
+{% endif %}
+
{% set vitrage_base_pip_packages = [
'/vitrage'
] %}
@@ -21,14 +58,15 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
ADD vitrage-base-archive /vitrage-base-source
RUN ln -s vitrage-base-source/* vitrage \
&& {{ macros.install_pip(vitrage_base_pip_packages | customizable("pip_packages")) }} \
- && mkdir -p /etc/vitrage \
+ && mkdir -p /etc/vitrage /var/www/cgi-bin/vitrage \
&& cp -r /vitrage/etc/vitrage/* /etc/vitrage/ \
- && chown -R vitrage: /etc/vitrage
+ && cp /vitrage/vitrage/api/app.wsgi /var/www/cgi-bin/vitrage \
+ && chown -R vitrage: /etc/vitrage /var/www/cgi-bin/vitrage
{% endif %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
-
-RUN chmod 755 /usr/local/bin/kolla_extend_start
+RUN touch /usr/local/bin/kolla_vitrage_extend_start \
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_vitrage_extend_start
{% block vitrage_base_footer %}{% endblock %}
diff --git a/docker/vitrage/vitrage-base/extend_start.sh b/docker/vitrage/vitrage-base/extend_start.sh
index d79635057..3092c8146 100755
--- a/docker/vitrage/vitrage-base/extend_start.sh
+++ b/docker/vitrage/vitrage-base/extend_start.sh
@@ -10,3 +10,5 @@ fi
if [[ $(stat -c %a ${VITRAGE_LOG_DIR}) != "755" ]]; then
chmod 755 ${VITRAGE_LOG_DIR}
fi
+
+. /usr/local/bin/kolla_vitrage_extend_start
diff --git a/docker/vitrage/vitrage-collector/Dockerfile.j2 b/docker/vitrage/vitrage-collector/Dockerfile.j2
new file mode 100644
index 000000000..2f299b4b2
--- /dev/null
+++ b/docker/vitrage/vitrage-collector/Dockerfile.j2
@@ -0,0 +1,30 @@
+FROM {{ namespace }}/{{ image_prefix }}vitrage-base:{{ tag }}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+
+{% block vitrage_collector_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_collector_packages = [
+ 'openstack-vitrage-collector'
+ ] %}
+
+{{ macros.install_packages(vitrage_collector_packages | customizable("packages")) }}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+ {% endif %}
+
+{% endif %}
+
+{% block vitrage_collector_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER vitrage
diff --git a/docker/vitrage/vitrage-graph/Dockerfile.j2 b/docker/vitrage/vitrage-graph/Dockerfile.j2
index b0bd32083..983c39d88 100644
--- a/docker/vitrage/vitrage-graph/Dockerfile.j2
+++ b/docker/vitrage/vitrage-graph/Dockerfile.j2
@@ -3,11 +3,25 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block vitrage_graph_header %}{% endblock %}
+{% import "macros.j2" as macros with context %}
+
{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_graph_packages = [
+ 'openstack-vitrage-graph'
+ ] %}
+
+{{ macros.install_packages(vitrage_graph_packages | customizable("packages")) }}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
+ {% endif %}
+
{% endif %}
{% block vitrage_graph_footer %}{% endblock %}
diff --git a/docker/vitrage/vitrage-ml/Dockerfile.j2 b/docker/vitrage/vitrage-ml/Dockerfile.j2
index c317f41e7..4fdc0ecbd 100644
--- a/docker/vitrage/vitrage-ml/Dockerfile.j2
+++ b/docker/vitrage/vitrage-ml/Dockerfile.j2
@@ -3,11 +3,25 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block vitrage_ml_header %}{% endblock %}
+{% import "macros.j2" as macros with context %}
+
{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_ml_packages = [
+ 'openstack-vitrage-ml'
+ ] %}
+
+{{ macros.install_packages(vitrage_ml_packages | customizable("packages")) }}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
+ {% endif %}
+
{% endif %}
{% block vitrage_ml_footer %}{% endblock %}
diff --git a/docker/vitrage/vitrage-notifier/Dockerfile.j2 b/docker/vitrage/vitrage-notifier/Dockerfile.j2
index d55d539f5..f3edaccb9 100644
--- a/docker/vitrage/vitrage-notifier/Dockerfile.j2
+++ b/docker/vitrage/vitrage-notifier/Dockerfile.j2
@@ -3,11 +3,25 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% block vitrage_notifier_header %}{% endblock %}
+{% import "macros.j2" as macros with context %}
+
{% if install_type == 'binary' %}
+ {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %}
+
+ {% set vitrage_notifier_packages = [
+ 'openstack-vitrage-notifier'
+ ] %}
+
+{{ macros.install_packages(vitrage_notifier_packages | customizable("packages")) }}
+
+ {% elif base_distro in ['debian', 'ubuntu'] %}
+
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
&& /bin/false
+ {% endif %}
+
{% endif %}
{% block vitrage_notifier_footer %}{% endblock %}