From e207a4cdf97dfba486d12572adad3ef416920533 Mon Sep 17 00:00:00 2001 From: Jiri Kucera Date: Feb 07 2023 15:39:46 +0000 Subject: lsr-logs-clean: Normalize image names Normalize RHEL image names to RHEL-X.Y. Since RHEL images are produced quite frequently it is sufficient to keep just one RHEL . after the log expires. Also add contacts to Linux system roles maintainers. Signed-off-by: Jiri Kucera --- diff --git a/files/scripts/linuxsystemroles-logs-clean b/files/scripts/linuxsystemroles-logs-clean index ca8f8fc..cca129c 100755 --- a/files/scripts/linuxsystemroles-logs-clean +++ b/files/scripts/linuxsystemroles-logs-clean @@ -1,10 +1,22 @@ #!/bin/bash +# +# Contact: +# Email: systemroles-owner@lists.fedorahosted.org +# IRC/matrix: #systemroles - @all - irc.libera.chat set -euo pipefail AGE_IN_DAYS=${AGE_IN_DAYS:-183} newest_date=$(date --date="${AGE_IN_DAYS} days ago" +%Y%m%d) +function normalize_image_name() { + if [[ "${1:-}" =~ ^(RHEL-[[:digit:]]+\.[[:digit:]]+)[.-]([[:alnum:]._-]+)?$ ]]; then + echo "${BASH_REMATCH[1]}" + else + echo "${1:-}" + fi +} + if [ -z "${1:-}" ]; then echo "Need a directory to pushd in" >&2 exit 1 @@ -15,18 +27,18 @@ pushd "${1}" find -maxdepth 1 -type d | while read dir; do # Case: linux-system-roles-certificate-pull-linux-system-roles_certificate-80-4f880f7-rhel-x-20210305-152227 if [[ "${dir}" =~ ^./linux-system-roles-[[:alnum:]._-]+-pull-linux-system-roles_([[:alnum:]._-]+)-[[:digit:]]+-([[:xdigit:]]+|HEAD)-([[:alnum:]._-]+)-([[:digit:]]+)-([[:digit:]]+)$ ]]; then - echo "${BASH_REMATCH[1]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}" "${dir}" + echo "${BASH_REMATCH[1]}" "$(normalize_image_name "${BASH_REMATCH[3]}")" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}" "${dir}" # Case: lsr-citool_bootloader-19-0f14842_20220104-080416 elif [[ "${dir}" =~ ^./lsr-citool_([[:alnum:]._-]+)-[[:digit:]]+-([[:xdigit:]]+|HEAD)_([[:digit:]]+)-([[:digit:]]+)$ ]]; then echo "${BASH_REMATCH[1]}" "unknown" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}" "${dir}" # Case: lsr-citool_certificate-132-212741b_RHEL-9.1.0-20220814.1_20220818-223408 elif [[ "${dir}" =~ ^./lsr-citool_([[:alnum:]._-]+)-[[:digit:]]+-([[:xdigit:]]+|HEAD)_([[:alnum:]._-]+)_([[:digit:]]+)-([[:digit:]]+)$ ]]; then - echo "${BASH_REMATCH[1]}" "${BASH_REMATCH[3]}" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}" "${dir}" + echo "${BASH_REMATCH[1]}" "$(normalize_image_name "${BASH_REMATCH[3]}")" "${BASH_REMATCH[4]}" "${BASH_REMATCH[5]}" "${dir}" # Case: lsr-citool_network-509-82dd06b_RHEL-6.10-updates-20201110.17 elif [[ "${dir}" =~ ^./lsr-citool_([[:alnum:]._-]+)-[[:digit:]]+-([[:xdigit:]]+|HEAD)_([[:alnum:]._-]+)$ ]]; then tmod="$(stat -c %Y "${dir}")" tmod="$(date --date="@${tmod}" +'%Y%m%d %H%M%S')" - echo "${BASH_REMATCH[1]}" "${BASH_REMATCH[3]}" "${tmod}" "${dir}" + echo "${BASH_REMATCH[1]}" "$(normalize_image_name "${BASH_REMATCH[3]}")" "${tmod}" "${dir}" # Case: lsr-citool_* (artifacts of early lsr-citool development) elif [[ "${dir}" =~ ^./lsr-citool_.*$ ]]; then tmod="$(stat -c %Y "${dir}")" diff --git a/files/scripts/linuxsystemroles-logs-clean.test b/files/scripts/linuxsystemroles-logs-clean.test index be370b6..81d590d 100755 --- a/files/scripts/linuxsystemroles-logs-clean.test +++ b/files/scripts/linuxsystemroles-logs-clean.test @@ -312,6 +312,8 @@ function prep_test() { create_log log_2_name ad_integration 1 aeae773 Fedora-37 ${A}5_0_3_15 $(stay3 "${A}" "${B}" "${C}" A) create_log log_2_name ad_integration 1 aeae773 RHEL-6.10-updates-20201110.17 ${A}5_0_3_20 $(stay3 "${A}" "${B}" "${C}" A) create_log log_2_name ad_integration 1 aeae773 RHEL-9.2.0-20221212.0 ${A}5_0_3_25 $(stay3 "${A}" "${B}" "${C}" A) + create_log log_2_name ad_integration 1 aeae773 RHEL-6.10-updates-20201210.18 ${A}5_0_3_30 $(stay "${A}") + create_log log_2_name ad_integration 1 aeae773 RHEL-9.2.1-20221221.1 ${A}5_0_3_35 $(stay "${A}") create_log log_2_name ad_integration 11 f1f12e2 "" ${B}5_0_8_0 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name ad_integration 11 f1f12e2 CentOS-7-latest ${B}5_0_8_5 $(stay3 "${A}" "${B}" "${C}" B) @@ -319,6 +321,8 @@ function prep_test() { create_log log_2_name ad_integration 11 f1f12e2 Fedora-37 ${B}5_0_8_15 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name ad_integration 11 f1f12e2 RHEL-6.10-updates-20201110.17 ${B}5_0_8_20 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name ad_integration 11 f1f12e2 RHEL-9.2.0-20221212.0 ${B}5_0_8_25 $(stay3 "${A}" "${B}" "${C}" B) + create_log log_2_name ad_integration 11 f1f12e2 RHEL-6.10-updates-20201210.18 ${B}5_0_8_30 $(stay "${B}") + create_log log_2_name ad_integration 11 f1f12e2 RHEL-9.2.1-20221221.1 ${B}5_0_8_35 $(stay "${B}") create_log log_2_name ad_integration 32 1148efe "" ${C}5_0_13_0 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name ad_integration 32 1148efe CentOS-7-latest ${C}5_0_13_5 $(stay3 "${A}" "${B}" "${C}" C) @@ -326,24 +330,32 @@ function prep_test() { create_log log_2_name ad_integration 32 1148efe Fedora-37 ${C}5_0_13_15 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name ad_integration 32 1148efe RHEL-6.10-updates-20201110.17 ${C}5_0_13_20 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name ad_integration 32 1148efe RHEL-9.2.0-20221212.0 ${C}5_0_13_25 $(stay3 "${A}" "${B}" "${C}" C) + create_log log_2_name ad_integration 32 1148efe RHEL-6.10-updates-20201210.18 ${C}5_0_13_30 $(stay "${C}") + create_log log_2_name ad_integration 32 1148efe RHEL-9.2.1-20221221.1 ${C}5_0_13_35 $(stay "${C}") create_log log_2_name bootloader 2 264569a "" ${A}5_0_4_0 $(stay3 "${A}" "${B}" "${C}" A) create_log log_2_name bootloader 2 264569a CentOS-Stream-8 ${A}5_0_4_5 $(stay3 "${A}" "${B}" "${C}" A) create_log log_2_name bootloader 2 264569a Fedora-36 ${A}5_0_4_10 $(stay3 "${A}" "${B}" "${C}" A) create_log log_2_name bootloader 2 264569a RHEL-8.8.0-20221211.0 ${A}5_0_4_15 $(stay3 "${A}" "${B}" "${C}" A) create_log -n log_2_name bootloader 2 264569a RHEL-9.2.0-20221212.0 ${A}5_0_4_20 $(stay3 "${A}" "${B}" "${C}" A) + create_log log_2_name bootloader 2 264569a RHEL-8.8.1-20221221.5 ${A}5_0_4_25 $(stay "${A}") + create_log -n log_2_name bootloader 2 264569a RHEL-9.2.2-20221222.11 ${A}5_0_4_30 $(stay "${A}") create_log log_2_name bootloader 21 d1f589b "" ${B}5_0_9_0 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name bootloader 21 d1f589b CentOS-Stream-8 ${B}5_0_9_5 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name bootloader 21 d1f589b Fedora-36 ${B}5_0_9_10 $(stay3 "${A}" "${B}" "${C}" B) create_log log_2_name bootloader 21 d1f589b RHEL-8.8.0-20221211.0 ${B}5_0_9_15 $(stay3 "${A}" "${B}" "${C}" B) create_log -n log_2_name bootloader 21 d1f589b RHEL-9.2.0-20221212.0 ${B}5_0_9_20 $(stay3 "${A}" "${B}" "${C}" B) + create_log log_2_name bootloader 21 d1f589b RHEL-8.8.1-20221221.5 ${B}5_0_9_25 $(stay "${B}") + create_log -n log_2_name bootloader 21 d1f589b RHEL-9.2.2-20221222.11 ${B}5_0_9_30 $(stay "${B}") create_log log_2_name bootloader 82 bfa1e33 "" ${C}5_0_14_0 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name bootloader 82 bfa1e33 CentOS-Stream-8 ${C}5_0_14_5 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name bootloader 82 bfa1e33 Fedora-36 ${C}5_0_14_10 $(stay3 "${A}" "${B}" "${C}" C) create_log log_2_name bootloader 82 bfa1e33 RHEL-8.8.0-20221211.0 ${C}5_0_14_15 $(stay3 "${A}" "${B}" "${C}" C) create_log -n log_2_name bootloader 82 bfa1e33 RHEL-9.2.0-20221212.0 ${C}5_0_14_20 $(stay3 "${A}" "${B}" "${C}" C) + create_log log_2_name bootloader 82 bfa1e33 RHEL-8.8.1-20221221.5 ${C}5_0_14_25 $(stay "${C}") + create_log -n log_2_name bootloader 82 bfa1e33 RHEL-9.2.2-20221222.11 ${C}5_0_14_30 $(stay "${C}") create_log -n log_3_name "" "" "" "" ${D}5_0_30_0 $(stay ${D}) create_log log_4_name "" "" "" "" ${D}5_0_30_5 $(stay ${D})