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 <major>.<minor> after the log expires.

Also add contacts to Linux system roles maintainers.

Signed-off-by: Jiri Kucera <jkucera@redhat.com>
This commit is contained in:
Jiri Kucera 2023-02-07 02:30:38 +01:00
parent dc8c275f09
commit e207a4cdf9
2 changed files with 27 additions and 3 deletions

View file

@ -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}")"