From 8bf24bee5390e10ef3af1dcd3b009ac3b25f34dd Mon Sep 17 00:00:00 2001 From: Sam Yaple Date: Wed, 30 Nov 2016 18:09:36 +0000 Subject: 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 --- docker/monasca/monasca-api/Dockerfile.j2 | 26 +++++++++++++++++++++ docker/monasca/monasca-base/Dockerfile.j2 | 28 +++++++++++++++++++++++ docker/monasca/monasca-base/extend_start.sh | 10 ++++++++ docker/monasca/monasca-log-api/Dockerfile.j2 | 26 +++++++++++++++++++++ docker/monasca/monasca-notification/Dockerfile.j2 | 26 +++++++++++++++++++++ docker/monasca/monasca-persister/Dockerfile.j2 | 26 +++++++++++++++++++++ docker/monasca/monasca-statsd/Dockerfile.j2 | 28 +++++++++++++++++++++++ 7 files changed, 170 insertions(+) create mode 100644 docker/monasca/monasca-api/Dockerfile.j2 create mode 100644 docker/monasca/monasca-base/Dockerfile.j2 create mode 100644 docker/monasca/monasca-base/extend_start.sh create mode 100644 docker/monasca/monasca-log-api/Dockerfile.j2 create mode 100644 docker/monasca/monasca-notification/Dockerfile.j2 create mode 100644 docker/monasca/monasca-persister/Dockerfile.j2 create mode 100644 docker/monasca/monasca-statsd/Dockerfile.j2 (limited to 'docker') 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 + -- cgit v1.2.3