aboutsummaryrefslogtreecommitdiff
path: root/kolla/docker/gnocchi
diff options
context:
space:
mode:
Diffstat (limited to 'kolla/docker/gnocchi')
-rw-r--r--kolla/docker/gnocchi/gnocchi-api/Dockerfile.j216
-rw-r--r--kolla/docker/gnocchi/gnocchi-api/extend_start.sh8
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/Dockerfile.j256
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/extend_start.sh15
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers1
-rw-r--r--kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j215
-rw-r--r--kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j215
7 files changed, 126 insertions, 0 deletions
diff --git a/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2
new file mode 100644
index 000000000..c0cc2cc33
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block gnocchi_api_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+COPY extend_start.sh /usr/local/bin/kolla_gnocchi_extend_start
+RUN chmod 644 /usr/local/bin/kolla_gnocchi_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block gnocchi_api_footer %}{% endblock %}
+{% block footer %}{% endblock %}
diff --git a/kolla/docker/gnocchi/gnocchi-api/extend_start.sh b/kolla/docker/gnocchi/gnocchi-api/extend_start.sh
new file mode 100644
index 000000000..dda0461c6
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-api/extend_start.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
+# of the KOLLA_BOOTSTRAP variable being set, including empty.
+if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
+ sudo -H -u gnocchi gnocchi-upgrade --log-file /var/log/kolla/gnocchi/gnocchi-upgrade.log
+ exit 0
+fi
diff --git a/kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2
new file mode 100644
index 000000000..91199ac39
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2
@@ -0,0 +1,56 @@
+FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block gnocchi_base_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.configure_user(name='gnocchi') }}
+
+{% if base_package_type == 'rpm' %}
+
+{{ macros.enable_extra_repos(['ceph', 'epel']) }}
+
+ {% set gnocchi_base_packages = [
+ 'librados2-devel',
+ 'python3-rados',
+ ] %}
+
+{% elif base_package_type == 'deb' %}
+
+ {% set gnocchi_base_packages = [
+ 'librados-dev',
+ 'python3-rados',
+ ] %}
+
+
+{% endif %}
+
+{{ macros.install_packages(gnocchi_base_packages | customizable("packages")) }}
+
+ADD gnocchi-base-archive /gnocchi-base-source
+
+{% set gnocchi_base_pip_packages = [
+ 'gnocchiclient',
+ '/gnocchi[keystone,mysql,file,ceph,s3]'
+] %}
+
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+COPY gnocchi_sudoers /etc/sudoers.d/kolla_gnocchi_sudoers
+
+RUN {{ macros.upper_constraints_version_change("Werkzeug", "3.0.1", "2.2.3") }}
+
+RUN ln -s gnocchi-base-source/* gnocchi \
+ && {{ macros.install_pip(gnocchi_base_pip_packages | customizable("pip_packages")) }} \
+ && mkdir -p /etc/gnocchi \
+ && cp /var/lib/kolla/venv/etc/pycadf/gnocchi_api_audit_map.conf /etc/gnocchi/ \
+ && chmod 750 /etc/sudoers.d \
+ && chmod 640 /etc/sudoers.d/kolla_gnocchi_sudoers \
+ && touch /usr/local/bin/kolla_gnocchi_extend_start \
+ && chmod 644 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_gnocchi_extend_start
+
+{{ macros.kolla_patch_sources() }}
+
+{% block gnocchi_base_footer %}{% endblock %}
diff --git a/kolla/docker/gnocchi/gnocchi-base/extend_start.sh b/kolla/docker/gnocchi/gnocchi-base/extend_start.sh
new file mode 100644
index 000000000..adc05b1b3
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-base/extend_start.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+
+# Create log dir for Gnocchi logs
+GNOCCHI_LOG_DIR="/var/log/kolla/gnocchi"
+if [[ ! -d "${GNOCCHI_LOG_DIR}" ]]; then
+ mkdir -p ${GNOCCHI_LOG_DIR}
+fi
+if [[ $(stat -c %U:%G ${GNOCCHI_LOG_DIR}) != "gnocchi:kolla" ]]; then
+ chown gnocchi:kolla ${GNOCCHI_LOG_DIR}
+fi
+if [[ $(stat -c %a ${GNOCCHI_LOG_DIR}) != "755" ]]; then
+ chmod 755 ${GNOCCHI_LOG_DIR}
+fi
+
+. /usr/local/bin/kolla_gnocchi_extend_start
diff --git a/kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers b/kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers
new file mode 100644
index 000000000..c2a01d709
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers
@@ -0,0 +1 @@
+%kolla ALL=(root) NOPASSWD: /usr/bin/chown -R gnocchi\: /var/lib/gnocchi/, /bin/chown -R gnocchi\: /var/lib/gnocchi/
diff --git a/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
new file mode 100644
index 000000000..fe9978fa2
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
@@ -0,0 +1,15 @@
+FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block gnocchi_metricd_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.kolla_patch_sources() }}
+
+{% block gnocchi_metricd_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER gnocchi
diff --git a/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
new file mode 100644
index 000000000..8f1574946
--- /dev/null
+++ b/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
@@ -0,0 +1,15 @@
+FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
+{% block labels %}
+LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
+{% endblock %}
+
+{% block gnocchi_statsd_header %}{% endblock %}
+
+{% import "macros.j2" as macros with context %}
+
+{{ macros.kolla_patch_sources() }}
+
+{% block gnocchi_statsd_footer %}{% endblock %}
+{% block footer %}{% endblock %}
+
+USER gnocchi