aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorMichal Arbet <michal.arbet@ultimum.io>2025-01-31 12:48:45 +0100
committerDr. Jens Harbott <frickler@offenerstapel.de>2025-02-07 08:49:31 +0000
commited7c8399c4a2a43e9a4165db416b98f5be8d538c (patch)
tree93ba09ac1b53dab08218eca5d30ad1ea1363ee1b /docker
parent13d6a664f063b5c65ce957bac21652111a13d6b7 (diff)
downloadkolla-ed7c8399c4a2a43e9a4165db416b98f5be8d538c.tar.gz
kolla-ed7c8399c4a2a43e9a4165db416b98f5be8d538c.zip
Fix permissions for ironic metrics
This patch adds creation of metrics folder, set permissions and SetGID bit. Closes-Bug: #2097098 Change-Id: Ic46b895775edf5e5fb2b637be49e2de1eb4adf36
Diffstat (limited to 'docker')
-rw-r--r--docker/ironic/ironic-base/Dockerfile.j22
-rw-r--r--docker/ironic/ironic-base/extend_start.sh10
-rw-r--r--docker/ironic/ironic-base/ironic_sudoers3
3 files changed, 14 insertions, 1 deletions
diff --git a/docker/ironic/ironic-base/Dockerfile.j2 b/docker/ironic/ironic-base/Dockerfile.j2
index 3cfa78f43..2002438c0 100644
--- a/docker/ironic/ironic-base/Dockerfile.j2
+++ b/docker/ironic/ironic-base/Dockerfile.j2
@@ -7,7 +7,7 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{% import "macros.j2" as macros with context %}
-{{ macros.configure_user(name='ironic') }}
+{{ macros.configure_user(name='ironic', shell='/bin/bash') }}
ADD ironic-base-archive /ironic-base-source
ADD ironic_sudoers /etc/sudoers.d/kolla_ironic_sudoers
diff --git a/docker/ironic/ironic-base/extend_start.sh b/docker/ironic/ironic-base/extend_start.sh
index e3b1d4e2d..dc6b05caa 100644
--- a/docker/ironic/ironic-base/extend_start.sh
+++ b/docker/ironic/ironic-base/extend_start.sh
@@ -1,12 +1,22 @@
#!/bin/bash
LOG_PATH=/var/log/kolla/ironic
+METRICS_PATH=/var/lib/ironic-metrics
if [[ ! -d "${LOG_PATH}" ]]; then
mkdir -p "${LOG_PATH}"
fi
+if [[ ! -d "${METRICS_PATH}" ]]; then
+ sudo mkdir -p "${METRICS_PATH}"
+fi
if [[ $(stat -c %a "${LOG_PATH}") != "755" ]]; then
chmod 755 "${LOG_PATH}"
fi
+if [[ $(stat -c %U:%G "${METRICS_PATH}") != "ironic:ironic" ]]; then
+ sudo chown ironic:ironic "${METRICS_PATH}"
+fi
+if [[ $(stat -c %a "${METRICS_PATH}") != "2775" ]]; then
+ sudo chmod 2775 "${METRICS_PATH}"
+fi
. /usr/local/bin/kolla_ironic_extend_start
diff --git a/docker/ironic/ironic-base/ironic_sudoers b/docker/ironic/ironic-base/ironic_sudoers
index 3e7c843f3..1a3f32e1a 100644
--- a/docker/ironic/ironic-base/ironic_sudoers
+++ b/docker/ironic/ironic-base/ironic_sudoers
@@ -1 +1,4 @@
ironic ALL = (root) NOPASSWD: /var/lib/kolla/venv/bin/ironic-rootwrap /etc/ironic/rootwrap.conf *
+ironic ALL = (root) NOPASSWD: /bin/mkdir -p /var/lib/ironic-metrics, /usr/bin/mkdir -p /var/lib/ironic-metrics
+ironic ALL = (root) NOPASSWD: /bin/chown ironic\:ironic /var/lib/ironic-metrics, /usr/bin/chown ironic\:ironic /var/lib/ironic-metrics
+ironic ALL = (root) NOPASSWD: /bin/chmod 2755 /var/lib/ironic-metrics, /usr/bin/chmod 2775 /var/lib/ironic-metrics