aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker/vitrage/vitrage-api/Dockerfile.j216
-rw-r--r--docker/vitrage/vitrage-base/Dockerfile.j230
-rwxr-xr-xdocker/vitrage/vitrage-base/extend_start.sh12
-rw-r--r--docker/vitrage/vitrage-graph/Dockerfile.j216
-rw-r--r--docker/vitrage/vitrage-notifier/Dockerfile.j216
-rwxr-xr-xkolla/common/config.py9
-rw-r--r--releasenotes/notes/vitrage-containers-3bfb360357aa628b.yaml6
-rw-r--r--tests/test_build.py3
8 files changed, 108 insertions, 0 deletions
diff --git a/docker/vitrage/vitrage-api/Dockerfile.j2 b/docker/vitrage/vitrage-api/Dockerfile.j2
new file mode 100644
index 000000000..929db5ae4
--- /dev/null
+++ b/docker/vitrage/vitrage-api/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}vitrage-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block vitrage_api_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block vitrage_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER vitrage
diff --git a/docker/vitrage/vitrage-base/Dockerfile.j2 b/docker/vitrage/vitrage-base/Dockerfile.j2
new file mode 100644
index 000000000..7507111f5
--- /dev/null
+++ b/docker/vitrage/vitrage-base/Dockerfile.j2
@@ -0,0 +1,30 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block vitrage_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='vitrage') }}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD vitrage-base-archive /vitrage-base-source
+RUN ln -s vitrage-base-source/* vitrage \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /vitrage \
+ && mkdir -p /etc/vitrage \
+ && cp -r /vitrage/etc/vitrage/* /etc/vitrage/ \
+ && chown -R vitrage: /etc/vitrage
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN chmod 755 /usr/local/bin/kolla_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
new file mode 100755
index 000000000..d79635057
--- /dev/null
+++ b/docker/vitrage/vitrage-base/extend_start.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+VITRAGE_LOG_DIR="/var/log/kolla/vitrage"
+if [[ ! -d "${VITRAGE_LOG_DIR}" ]]; then
+ mkdir -p ${VITRAGE_LOG_DIR}
+fi
+if [[ $(stat -c %U:%G ${VITRAGE_LOG_DIR}) != "vitrage:kolla" ]]; then
+ chown vitrage:kolla ${VITRAGE_LOG_DIR}
+fi
+if [[ $(stat -c %a ${VITRAGE_LOG_DIR}) != "755" ]]; then
+ chmod 755 ${VITRAGE_LOG_DIR}
+fi
diff --git a/docker/vitrage/vitrage-graph/Dockerfile.j2 b/docker/vitrage/vitrage-graph/Dockerfile.j2
new file mode 100644
index 000000000..412063fcd
--- /dev/null
+++ b/docker/vitrage/vitrage-graph/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}vitrage-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block vitrage_graph_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block vitrage_graph_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER vitrage
diff --git a/docker/vitrage/vitrage-notifier/Dockerfile.j2 b/docker/vitrage/vitrage-notifier/Dockerfile.j2
new file mode 100644
index 000000000..8b699de78
--- /dev/null
+++ b/docker/vitrage/vitrage-notifier/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}vitrage-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block vitrage_notifier_header %}{% endblock %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% endif %}
+
+{% block vitrage_notifier_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER vitrage
diff --git a/kolla/common/config.py b/kolla/common/config.py
index d0ba62221..a08245270 100755
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -96,6 +96,7 @@ _PROFILE_OPTS = [
'tacker',
'telegraf',
'trove',
+ 'vitrage',
'zaqar',
'zookeeper',
'zun',
@@ -489,6 +490,10 @@ SOURCES = {
'type': 'url',
'location': ('$tarballs_base/trove/'
'trove-master.tar.gz')},
+ 'vitrage-base': {
+ 'type': 'url',
+ 'location': ('$tarballs_base/vitrage/'
+ 'vitrage-master.tar.gz')},
'watcher-base': {
'type': 'url',
'location': ('$tarballs_base/watcher/'
@@ -735,6 +740,10 @@ USERS = {
'uid': 42458,
'gid': 42458,
},
+ 'vitrage-user': {
+ 'uid': 42459,
+ 'gid': 42459,
+ },
}
diff --git a/releasenotes/notes/vitrage-containers-3bfb360357aa628b.yaml b/releasenotes/notes/vitrage-containers-3bfb360357aa628b.yaml
new file mode 100644
index 000000000..3d2f1743e
--- /dev/null
+++ b/releasenotes/notes/vitrage-containers-3bfb360357aa628b.yaml
@@ -0,0 +1,6 @@
+---
+features:
+ - Add Vitrage Dockerfile, Vitrage is the OpenStack RCA (Root Cause Analysis) service for
+ organizing, analyzing and expanding OpenStack alarms & events, yielding insights
+ regarding the root cause of problems and deducing their existence before they are
+ directly detected. Also, it is in the big-tent.
diff --git a/tests/test_build.py b/tests/test_build.py
index b71d26f9d..de2199b62 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -79,6 +79,7 @@ class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
"senlin-base",
"solum-base",
"tacker",
+ "vitrage-base",
"vmtp",
"zun-base",
]
@@ -117,6 +118,7 @@ class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase):
"senlin-base",
"solum-base",
"tacker",
+ "vitrage-base",
"vmtp",
"zaqar",
"zun-base",
@@ -152,6 +154,7 @@ class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
"senlin-base",
"solum-base",
"tacker",
+ "vitrage-base",
"vmtp",
"zun-base",
]