Wer den Red Hat Satellite Server verwendet möchte den Versionsstand der Software häufig auf einer Gruppe von Servern gleich halten. Am einfachsten geht das, wenn man pro Quartal eine neue Content-View Version erstellt.
Und mit der hammer CLI lässt sich das sogar automatisieren.
Zunächst muss man die Content View ID der Content View herausfinden, welche man automatisch versionieren möchte:
# hammer content-view list --organization "My_Organization"
Das kleine Script: /usr/local/libexec/hammer_cv_publish.sh
erstellt automatisch eine neue Content-View für das aktuelle Quartal:
#!/bin/bash
set -euo pipefail
year=`date +%Y`
kw=`date +%V`
quarter=$(( ($(date +%-m)-1)/3+1 ))
# Check if content version is already published
current_cv=$(hammer content-view version list --search "${year}\.${quarter}")
if [ -z "${current_cv}" ]; then
logger -i -t "$0" -p INFO "Syncing library version to quarter version q${quarter}"
/usr/bin/hammer content-view publish --async --id <CONTENT_VIEW_ID> --organization "My_Organization" --major "$year" --minor "$quarter" --name "${year}/q${quarter}" --description "Quarterly release ${year}/q${quarter}"
else
logger -i -t "$0" -p INFO "Version ${year}/q${quarter} exists. nothing to do"
fi
Dieses Script prüft ob es bereits eine Version „YYYY.Q“ gibt und erstellt diese falls nicht.
Mittels dem etwas kryptisch anmutendem date
Kommando lässt sich übrigens das aktuelle Quartal ermitteln:
quarter=$(( ($(date +%-m)-1)/3+1 ))
Nun muss man das Script nur noch per cronjob z.B. einmal pro Quartal aufrufen:
# Publish quarter content views
0 0 1 */3 * /usr/local/libexec/hammer_cv_publish.sh &> /var/log/hammer_cv_publish.log
Hinweis: Da nur eine neue Version erstellt wird, wenn es diese noch nicht gibt, könnte der cronjob auch öfter (z.B. täglich) aufgerufen werden.
Referenzen
- redhat.com: Managing Content Views
- redhat.com: How to automatically publish and promote a content view in Red Hat Satellite 6?
- redhat.com: Publish and promote content views automatically for system patching
- redhat.com: Hammer cheat sheet
One thought on “Red Hat Satellite: Automatische Content-View pro Quartal erstellen”