diff options
| author | Doug Szumski <doug@stackhpc.com> | 2018-06-11 11:26:13 +0100 |
|---|---|---|
| committer | Doug Szumski <doug@stackhpc.com> | 2018-07-13 16:09:09 +0100 |
| commit | 91d23981b2a711413e1ac7945aaf86e0866259b1 (patch) | |
| tree | efdfe4a67e1f996008ae1615b0f50eb3ba5bcc39 | |
| parent | 692970bc5503ae28cbc89088ba155c8026eb6c2e (diff) | |
| download | kolla-91d23981b2a711413e1ac7945aaf86e0866259b1.tar.gz kolla-91d23981b2a711413e1ac7945aaf86e0866259b1.zip | |
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
| -rw-r--r-- | docker/storm/Dockerfile.j2 | 42 | ||||
| -rw-r--r-- | docker/storm/extend_start.sh | 9 | ||||
| -rwxr-xr-x | kolla/common/config.py | 5 | ||||
| -rw-r--r-- | releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml | 3 |
4 files changed, 59 insertions, 0 deletions
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 diff --git a/kolla/common/config.py b/kolla/common/config.py index da67d0b3c..4f0dd345f 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 000000000..7325a0442 --- /dev/null +++ b/releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml @@ -0,0 +1,3 @@ +--- +features: + - Add support for building an Apache Storm image. |
