diff --git a/docker/storm/Dockerfile.j2 b/docker/storm/Dockerfile.j2 new file mode 100644 index 0000000000..791c9ca4a5 --- /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 0000000000..6c9bb0b627 --- /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 diff --git a/kolla/common/config.py b/kolla/common/config.py index da67d0b3c6..4f0dd345f3 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -70,6 +70,7 @@ _PROFILE_OPTS = [ 'redis', 'rsyslog', 'skydive', + 'storm', 'tgtd', ], help='Infra images'), @@ -1098,6 +1099,10 @@ USERS = { 'logstash-user': { 'uid': 42478, 'gid': 42478, + }, + 'storm-user': { + 'uid': 42479, + 'gid': 42479, } } diff --git a/releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml b/releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml new file mode 100644 index 0000000000..7325a0442c --- /dev/null +++ b/releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml @@ -0,0 +1,3 @@ +--- +features: + - Add support for building an Apache Storm image.