From 91d23981b2a711413e1ac7945aaf86e0866259b1 Mon Sep 17 00:00:00 2001 From: Doug Szumski Date: Mon, 11 Jun 2018 11:26:13 +0100 Subject: Add support for deploying Apache Storm The motiviation behind this is to provide Apache Storm for the Monasca Thresh component which is used for generating alerts as part of the Monasca Framework. SHA512 sum is from http://www.us.apache.org/dist/storm/ apache-storm-1.1.2/apache-storm-1.1.2.tar.gz.sha Change-Id: I6eb6be91470385c824baaeb37f90b582fc88aed4 Partially-Implements: blueprint monasca-containers --- docker/storm/Dockerfile.j2 | 42 ++++++++++++++++++++++++++++++++++++++++++ docker/storm/extend_start.sh | 9 +++++++++ 2 files changed, 51 insertions(+) create mode 100644 docker/storm/Dockerfile.j2 create mode 100644 docker/storm/extend_start.sh (limited to 'docker/storm') diff --git a/docker/storm/Dockerfile.j2 b/docker/storm/Dockerfile.j2 new file mode 100644 index 000000000..791c9ca4a --- /dev/null +++ b/docker/storm/Dockerfile.j2 @@ -0,0 +1,42 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" + +{% block storm %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='storm', homedir='/opt/storm') }} + +{% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} + {% set storm_packages = [ + 'java-1.8.0-openjdk-headless', + ] %} +{% elif base_distro in ['debian', 'ubuntu'] %} + {% set storm_packages = [ + 'default-jre-headless', + ] %} +{% endif %} + +{{ macros.install_packages(storm_packages | customizable("packages")) }} + +{% block storm_version %} +ENV storm_version=1.1.2 +ENV storm_url=http://www.mirrorservice.org/sites/ftp.apache.org/storm/apache-storm-${storm_version}/apache-storm-${storm_version}.tar.gz +ENV storm_pkg_sha512sum=4ec7554d4e242c5cfa3b010f63b2ed65866d0768bfa04c7ae87004d21994041ef25b198a236a87f14ac3b36b698f117338080d9b7d9c0f561b7de256bf2e10d2 +{% endblock %} + +{% block storm_install %} +RUN curl -sSL -o /tmp/storm.tgz ${storm_url} \ + && echo "${storm_pkg_sha512sum} /tmp/storm.tgz" | sha512sum -c \ + && tar --strip 1 -xvf /tmp/storm.tgz -C /opt/storm \ + && rm -f /tmp/storm.tgz + +{% endblock %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +RUN chmod 755 /usr/local/bin/kolla_extend_start + +{% block storm_footer %}{% endblock %} +{% block footer %}{% endblock %} + +USER storm diff --git a/docker/storm/extend_start.sh b/docker/storm/extend_start.sh new file mode 100644 index 000000000..6c9bb0b62 --- /dev/null +++ b/docker/storm/extend_start.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Create log directory, with appropriate permissions +if [[ ! -d "/var/log/kolla/storm" ]]; then + mkdir -p /var/log/kolla/storm +fi +if [[ $(stat -c %a /var/log/kolla/storm) != "755" ]]; then + chmod 755 /var/log/kolla/storm +fi -- cgit v1.2.3