aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2021-12-21 18:46:42 +0000
committerGerrit Code Review <review@openstack.org>2021-12-21 18:46:42 +0000
commitc8da82967946d5252c557c20423684bed383c228 (patch)
treebd3ea7de7f2a1c1acd9a61f640ca9b3106716f75
parent45558924248fc8560c44295af8fb13c62fdebb0a (diff)
parentf229eb7e06173649974376cf689d676c673f4988 (diff)
downloadkolla-c8da82967946d5252c557c20423684bed383c228.tar.gz
kolla-c8da82967946d5252c557c20423684bed383c228.zip
Merge "Make cron's logrotate schedule configurable"
-rw-r--r--docker/cron/Dockerfile.j23
-rw-r--r--docker/cron/extend_start.sh17
2 files changed, 20 insertions, 0 deletions
diff --git a/docker/cron/Dockerfile.j2 b/docker/cron/Dockerfile.j2
index a5e65a21f..1da4d40ea 100644
--- a/docker/cron/Dockerfile.j2
+++ b/docker/cron/Dockerfile.j2
@@ -21,5 +21,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build
{{ macros.install_packages(cron_packages | customizable("packages")) }}
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
+
{% block cron_footer %}{% endblock %}
{% block footer %}{% endblock %}
diff --git a/docker/cron/extend_start.sh b/docker/cron/extend_start.sh
new file mode 100644
index 000000000..7f78e8500
--- /dev/null
+++ b/docker/cron/extend_start.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+CRON_LOGROTATE_CURRENT_PATH="$(find /etc/cron* -name logrotate)"
+CRON_LOGROTATE_CURRENT_SCHEDULE=$(echo "${CRON_LOGROTATE_CURRENT_PATH}" | sed -r 's/(.*)(hourly|daily|weekly|monthly)(.*)/\2/g')
+
+# Pass only for hourly|daily|weekly|monthly
+if [[ "${KOLLA_LOGROTATE_SCHEDULE:-undefined}" =~ hourly|daily|weekly|monthly ]]; then
+
+ CRON_LOGROTATE_DESIRED_PATH="/etc/cron.${KOLLA_LOGROTATE_SCHEDULE}/logrotate"
+
+ if [[ "${CRON_LOGROTATE_CURRENT_PATH}" != "${CRON_LOGROTATE_DESIRED_PATH}" ]]; then
+ mv ${CRON_LOGROTATE_CURRENT_PATH} ${CRON_LOGROTATE_DESIRED_PATH}
+ CRON_LOGROTATE_CURRENT_SCHEDULE="${KOLLA_LOGROTATE_SCHEDULE}"
+ fi
+fi
+
+echo "[i] Cron schedule for logrotate is currently set to: ${CRON_LOGROTATE_CURRENT_SCHEDULE}."