Hallo,
wir haben ein kleines Problem bei der Integration von opsi4ucs auf UCS 3.1 Systemen. Das Problem zeigt sich wie folgt:
Es wird im Join-Skript eine Gruppe per udm angelegt. Diese Gruppe wird etwas weiter im Skript auch schon zum Anlegen von Service-Usern verwendet, dort als PrimaryGroup Attribut.
Soweit funktioniert das Skript noch ganz gut, etwas weiter untern brechen dann weiterführende Skripte ab, da es angeblich diese Gruppe nicht gibt. Führt man das selbe Join-Skript noch mal aus, läuft es sauber durch.
Dieses Phänomen hatten wir schon mal.
UCS 2.2.x -> kein Problem
UCS 2.3.x -> gleiches Problem mit der Gruppe
UCS 2.4.x -> kein Problem
UCS 3.0.x -> kein Problem
UCS 3.1.x -> gleiches Problem mit der Gruppe
Wir haben versucht diese Sache näher zu untersuchen. Wir haben zunächst mal angenommen, dass es eventuell am nscd Serivce liegen könnte. Dort werden aber in der Standardkonfiguration nur User und Hosts gecached, nicht aber die Gruppen. Auch ein Flush auf nscd brachte keine Besserung.
Also haben wir folgenden Dirty-Hack ins join-Skript gebaut:
set +e
$VERBOSE && echo "Check for opsi fileadmingroup."
getent group $fileadmingroup >/dev/null 2>/dev/null
if [ $? != 0 ]; then
for i in 1 2 3
do
getent group $fileadmingroup >/dev/null 2>/dev/null
if [ $? == 0 ]; then
break
else
$VERBOSE && echo "Check for opsi fileadmingroup failed, Waiting 5 sec to retry."
sleep 5
fi
done
getent group $fileadmingroup >/dev/null 2>/dev/null
if [ $? != 0 ]; then
$VERBOSE && echo "Check for opsi fileadmingroup failed. Join-Script will be fail."
fi
fi
set -e
Ergebnis dieses Hacks auf UCS 3.0 sieht man keinen einzigen retry, bei UCS 3.1 sieht die Ausgabe so aus:
Check for opsi fileadmingroup.
Check for opsi fileadmingroup failed, Waiting 5 sec to retry.
Check for opsi fileadmingroup failed, Waiting 5 sec to retry.
Check for opsi fileadmingroup failed, Waiting 5 sec to retry.
[5] [Feb 04 15:23:11] Creating base path: '/var/lib/opsi/config' (File.py|222)
...
Das ist nicht nur unschön, sondern wahrscheinlich auch nicht 100% zuverlässig. Wir bitten daher um Unterstützung, woran könnte das liegen und wie können wir dieser Sache entgegenwirken? Das Testsystem ist ein UCS3.1 Master mit dem letzten Software (Errata) Stand, der momentan verfügbar ist.
Viele Grüße
opsi4ucs-Team