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 ++++++++++++++++++++++ kolla/common/config.py | 28 ++++++++++++++++++++-- .../notes/add-monasca-3c60b3e44d3c4267.yaml | 3 +++ tests/test_build.py | 2 ++ 10 files changed, 201 insertions(+), 2 deletions(-) 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 create mode 100644 releasenotes/notes/add-monasca-3c60b3e44d3c4267.yaml 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"] -- cgit v1.2.3