aboutsummaryrefslogtreecommitdiff
path: root/docker/storm/storm-base
diff options
context:
space:
mode:
authorMark Goddard <mark@stackhpc.com>2021-01-12 16:18:51 +0000
committerMark Goddard <mark@stackhpc.com>2021-01-12 16:21:32 +0000
commit93204ecfeca7ba394bd4c3872147357aa708f46e (patch)
tree0d5c2c8a202be3129e70778f110af64d0af7024b /docker/storm/storm-base
parente0faaaaefbf2ed8ddfd8265df29a819ac5949262 (diff)
downloadkolla-93204ecfeca7ba394bd4c3872147357aa708f46e.tar.gz
kolla-93204ecfeca7ba394bd4c3872147357aa708f46e.zip
Add a storm-base image
Refactor storm image dependencies. Previously we had: base -> storm -> monasca-thresh Both storm and monasca-thresh images are final, and each includes a footer. This causes issues when the footer expects to be at the end of the image, or there to be only a single footer. In particular, since I2592a736206eaec811290e9fbdbf2540c0518ffe, the footer used in CI jobs reverts to the public package mirrors. This change introduces a storm-base image, and refactors the dependency chain: base -> storm-base -> storm base -> storm-base -> monasca-thresh Related-Bug: #1902101 Change-Id: I53e8ba8d4baa4434cf3c49ed94d1f7cb44099bee
Diffstat (limited to 'docker/storm/storm-base')
-rw-r--r--docker/storm/storm-base/Dockerfile.j255
-rw-r--r--docker/storm/storm-base/extend_start.sh9
2 files changed, 64 insertions, 0 deletions
diff --git a/docker/storm/storm-base/Dockerfile.j2 b/docker/storm/storm-base/Dockerfile.j2
new file mode 100644
index 000000000..0f6fecbe1
--- /dev/null
+++ b/docker/storm/storm-base/Dockerfile.j2
@@ -0,0 +1,55 @@
+FROM {{ namespace }}/{{ infra_image_prefix }}base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}"
+{% endblock %}
+
+{% block storm_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='storm', homedir='/opt/storm') }}
+
+{% if base_package_type == 'rpm' %}
+ {% set storm_packages = [
+ 'java-1.8.0-openjdk-headless',
+ ] %}
+{% elif base_package_type == 'deb' %}
+
+ {% if base_distro == 'debian' %}
+ {% set java_version = '11' %}
+ {% elif base_distro == 'ubuntu' %}
+ {% set java_version = '8' %}
+ {% endif %}
+
+ {% set storm_packages = [
+ 'openjdk-' + java_version + '-jre-headless',
+ ] %}
+{% endif %}
+
+{{ macros.install_packages(storm_packages | customizable("packages")) }}
+
+{% block storm_version %}
+ENV storm_version=1.2.2
+ENV storm_url=https://archive.apache.org/dist/storm/apache-storm-${storm_version}/apache-storm-${storm_version}.tar.gz
+ENV storm_pkg_sha512sum=0a1120b8df7b22edc75f0a412d625841f72f3fb8e9ff5d413d510908d68ea1f0c17d68c1a7f1eda427b40902452e9efcae902c36499b558592e41cc1079de2e0
+{% endblock %}
+
+{% block storm_install %}
+RUN curl -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 %}
+
+{% block storm_python_version %}
+# NOTE(dszumski): Storm needs to be told where the Py3 interpreter lives
+{% if distro_python_version.startswith('3') %}
+ENV PYTHON={{ '/usr/bin/python' ~ distro_python_version }}
+{% endif %}
+{% endblock %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
+
+{% block storm_base_footer %}{% endblock %}
diff --git a/docker/storm/storm-base/extend_start.sh b/docker/storm/storm-base/extend_start.sh
new file mode 100644
index 000000000..6c9bb0b62
--- /dev/null
+++ b/docker/storm/storm-base/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