summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2016-11-30 18:09:36 +0000
committerSam Yaple <sam@yaple.net>2016-12-13 11:30:55 +0000
commit8bf24bee5390e10ef3af1dcd3b009ac3b25f34dd (patch)
tree87c37f7cf39303258cfb4ef4075f5909f48b3e74
parentf4ca32cd7877f7cd1abf7270c4329f99248cbf49 (diff)
downloadkolla-8bf24bee5390e10ef3af1dcd3b009ac3b25f34dd.tar.gz
kolla-8bf24bee5390e10ef3af1dcd3b009ac3b25f34dd.zip
Add monasca images
NOTE: Currently monasca does not publish master tarballs, I have will be working with them to do so. Change-Id: Ica3ab50c56271d05b7e40978d38711279dc42585 Partially-Implements: blueprint monasca-containers
-rw-r--r--docker/monasca/monasca-api/Dockerfile.j226
-rw-r--r--docker/monasca/monasca-base/Dockerfile.j228
-rw-r--r--docker/monasca/monasca-base/extend_start.sh10
-rw-r--r--docker/monasca/monasca-log-api/Dockerfile.j226
-rw-r--r--docker/monasca/monasca-notification/Dockerfile.j226
-rw-r--r--docker/monasca/monasca-persister/Dockerfile.j226
-rw-r--r--docker/monasca/monasca-statsd/Dockerfile.j228
-rw-r--r--kolla/common/config.py28
-rw-r--r--releasenotes/notes/add-monasca-3c60b3e44d3c4267.yaml3
-rw-r--r--tests/test_build.py2
10 files changed, 201 insertions, 2 deletions
diff --git a/docker/monasca/monasca-api/Dockerfile.j2 b/docker/monasca/monasca-api/Dockerfile.j2
new file mode 100644
index 000000000..609722d60
--- /dev/null
+++ b/docker/monasca/monasca-api/Dockerfile.j2
@@ -0,0 +1,26 @@
+FROM {{ namespace }}/{{ image_prefix }}monasca-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD monasca-api-archive /monasca-api-source
+RUN ln -s monasca-api-source/* monasca-api \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /monasca-api
+
+{% endif %}
+
+{% block monasca_api_footer %}{% endblock %}
+
+{% block footer %}{% endblock %}
+
+USER monasca
+
diff --git a/docker/monasca/monasca-base/Dockerfile.j2 b/docker/monasca/monasca-base/Dockerfile.j2
new file mode 100644
index 000000000..41d975bde
--- /dev/null
+++ b/docker/monasca/monasca-base/Dockerfile.j2
@@ -0,0 +1,28 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+RUN useradd --user-group --create-home --home-dir /var/lib/monasca monasca \
+ && chmod 755 /var/lib/monasca \
+ && mkdir -p /etc/monasca /var/lib/monasca \
+ && chown -R monasca: /etc/monasca /var/lib/monasca
+
+{% endif %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+
+RUN touch /usr/local/bin/kolla_monasca_extend_start \
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_monasca_extend_start \
+ && usermod -a -G kolla monasca
+
+{% block monasca_base_footer %}{% endblock %}
diff --git a/docker/monasca/monasca-base/extend_start.sh b/docker/monasca/monasca-base/extend_start.sh
new file mode 100644
index 000000000..4d748ace5
--- /dev/null
+++ b/docker/monasca/monasca-base/extend_start.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+if [[ ! -d "/var/log/kolla/monasca" ]]; then
+ mkdir -p /var/log/kolla/monasca
+fi
+if [[ $(stat -c %a /var/log/kolla/monesca) != "755" ]]; then
+ chmod 755 /var/log/kolla/monasca
+fi
+
+. /usr/local/bin/kolla_monasca_extend_start
diff --git a/docker/monasca/monasca-log-api/Dockerfile.j2 b/docker/monasca/monasca-log-api/Dockerfile.j2
new file mode 100644
index 000000000..8c4d9a81e
--- /dev/null
+++ b/docker/monasca/monasca-log-api/Dockerfile.j2
@@ -0,0 +1,26 @@
+FROM {{ namespace }}/{{ image_prefix }}monasca-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_log_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD monasca-log-api-archive /monasca-log-api-source
+RUN ln -s monasca-log-api-source/* monasca-log \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /monasca-log
+
+{% endif %}
+
+{% block monasca_log_api_footer %}{% endblock %}
+
+{% block footer %}{% endblock %}
+
+USER monasca
+
diff --git a/docker/monasca/monasca-notification/Dockerfile.j2 b/docker/monasca/monasca-notification/Dockerfile.j2
new file mode 100644
index 000000000..2ca45bdb6
--- /dev/null
+++ b/docker/monasca/monasca-notification/Dockerfile.j2
@@ -0,0 +1,26 @@
+FROM {{ namespace }}/{{ image_prefix }}monasca-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_notification_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD monasca-notification-archive /monasca-notification-source
+RUN ln -s monasca-notification-source/* monasca-notification \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /monasca-notification
+
+{% endif %}
+
+{% block monasca_notification_footer %}{% endblock %}
+
+{% block footer %}{% endblock %}
+
+USER monasca
+
diff --git a/docker/monasca/monasca-persister/Dockerfile.j2 b/docker/monasca/monasca-persister/Dockerfile.j2
new file mode 100644
index 000000000..e9bce5b39
--- /dev/null
+++ b/docker/monasca/monasca-persister/Dockerfile.j2
@@ -0,0 +1,26 @@
+FROM {{ namespace }}/{{ image_prefix }}monasca-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_persister_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD monasca-persister-archive /monasca-persister-source
+RUN ln -s monasca-persister-source/* monasca-persister \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /monasca-persister
+
+{% endif %}
+
+{% block monasca_persister_footer %}{% endblock %}
+
+{% block footer %}{% endblock %}
+
+USER monasca
+
diff --git a/docker/monasca/monasca-statsd/Dockerfile.j2 b/docker/monasca/monasca-statsd/Dockerfile.j2
new file mode 100644
index 000000000..6399e1acd
--- /dev/null
+++ b/docker/monasca/monasca-statsd/Dockerfile.j2
@@ -0,0 +1,28 @@
+FROM {{ namespace }}/{{ image_prefix }}monasca-base:{{ tag }}
+MAINTAINER {{ maintainer }}
+
+{% block monasca_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{% if install_type == 'binary' %}
+
+RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
+ && /bin/false
+
+{% elif install_type == 'source' %}
+
+ADD monasca-statsd-archive /monasca-statsd-source
+# NOTE(SamYaple): <=1.3.0 do not have any packages in requirements.txt and that
+# breaks pip. So removing constraints file.
+RUN ln -s monasca-statsd-source/* monasca-statsd \
+ && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade /monasca-statsd
+
+{% endif %}
+
+{% block monasca_api_footer %}{% endblock %}
+
+{% block footer %}{% endblock %}
+
+USER monasca
+
diff --git a/kolla/common/config.py b/kolla/common/config.py
index 458fbf16f..8a3b4eeeb 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -48,8 +48,8 @@ _PROFILE_OPTS = [
default=['aodh', 'cloudkitty', 'congress', 'designate',
'freezer', 'gnocchi', 'influxdb', 'ironic', 'kafka',
'karbor', 'kuryr', 'magnum', 'manila', 'mistral',
- 'murano', 'octavia', 'panko', 'rally', 'sahara',
- 'searchlight', 'senlin', 'solum', 'tacker',
+ 'monasca', 'murano', 'octavia', 'panko', 'rally',
+ 'sahara', 'searchlight', 'senlin', 'solum', 'tacker',
'telegraf', 'trove', 'zaqar', 'zookeeper'],
help='Aux Images'),
cfg.ListOpt('default',
@@ -230,6 +230,10 @@ SOURCES = {
'type': 'url',
'location': ('http://tarballs.openstack.org/mistral-dashboard/'
'mistral-dashboard-master.tar.gz')},
+ 'horizon-plugin-monasca-ui': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-ui/'
+ 'monasca-ui-1.2.1.tar.gz')},
'horizon-plugin-neutron-lbaas-dashboard': {
'type': 'url',
'location': ('http://tarballs.openstack.org/neutron-lbaas-dashboard/'
@@ -298,6 +302,26 @@ SOURCES = {
'type': 'url',
'location': ('http://tarballs.openstack.org/mistral/'
'mistral-master.tar.gz')},
+ 'monasca-api': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-api/'
+ 'monasca-api-1.3.1.tar.gz')},
+ 'monasca-log-api': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-log-api/'
+ 'monasca-log-api-1.1.0.tar.gz')},
+ 'monasca-notification': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-notification/'
+ 'monasca-notification-1.4.0.tar.gz')},
+ 'monasca-persister': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-persister/'
+ 'monasca-persister-1.1.0.tar.gz')},
+ 'monasca-statsd': {
+ 'type': 'url',
+ 'location': ('http://tarballs.openstack.org/monasca-statsd/'
+ 'monasca-statsd-1.3.0.tar.gz')},
'murano-base': {
'type': 'url',
'location': ('http://tarballs.openstack.org/murano/'
diff --git a/releasenotes/notes/add-monasca-3c60b3e44d3c4267.yaml b/releasenotes/notes/add-monasca-3c60b3e44d3c4267.yaml
new file mode 100644
index 000000000..97e6bdbae
--- /dev/null
+++ b/releasenotes/notes/add-monasca-3c60b3e44d3c4267.yaml
@@ -0,0 +1,3 @@
+---
+features:
+ - Add monasca images
diff --git a/tests/test_build.py b/tests/test_build.py
index 69767bdcb..e763d9854 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -79,6 +79,7 @@ class BuildTestCentosBinary(BuildTest, base.BaseTestCase):
"cloudkitty-base",
"freezer-base",
"kafka",
+ "monasca-base",
"zookeeper",
"tacker"]
@@ -147,6 +148,7 @@ class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase):
"cloudkitty-base",
"freezer-base",
"kafka",
+ "monasca-base",
"zookeeper",
"tacker"]