aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-07-13 19:38:08 +0000
committerGerrit Code Review <review@openstack.org>2018-07-13 19:38:08 +0000
commit42d7cecbcac8bf4c6e9d4e8cd1e2cd6ba81e6eef (patch)
tree07efc218b47b6903f4573a6f5dbc7d6ce1a27211
parent132117ad5c3020731247e01f4a0ba3e49e93f615 (diff)
parent91d23981b2a711413e1ac7945aaf86e0866259b1 (diff)
downloadkolla-42d7cecbcac8bf4c6e9d4e8cd1e2cd6ba81e6eef.tar.gz
kolla-42d7cecbcac8bf4c6e9d4e8cd1e2cd6ba81e6eef.zip
Merge "Add support for deploying Apache Storm"
-rw-r--r--docker/storm/Dockerfile.j242
-rw-r--r--docker/storm/extend_start.sh9
-rwxr-xr-xkolla/common/config.py5
-rw-r--r--releasenotes/notes/add-apache-storm-927c5318d91b5db3.yaml3
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.