Univention Bugzilla – Bug 26840
UCR sollte beim Ausführen von scripts stdout nicht nach /dev/null umleiten
Last modified: 2012-07-20 15:25:01 CEST
Derzeit leitet UCR bei der durch Änderung von UCR Variablen getriggerten Ausführung von scripts stdout nach /dev/null um. Das bedeutet dass die Ausgabe auch in den entsprechenden logs fehlt; hier wäre sie aber wünschenswert.
Gut wäre es, wenn stdout und stderr durchgereicht werden.
Wurde entsprechend umgesetzt.
(In reply to comment #2) > Wurde entsprechend umgesetzt. Super! Ich frage mich, ob shell=True im Aufruf notwendig ist?
Nicht unbedingt. "shell=True" vernlasst subprocess.Popen den ersten Parameter genau so auszuwerten wie die shell einen String auswerten würde. Ohne ihn erwartet der Popen-Konstruktor als ersten Parameter eine Liste: subprocess.Popen(['<absolute path to script>'], ...])
(In reply to comment #4) > Nicht unbedingt. "shell=True" vernlasst subprocess.Popen den ersten Parameter > genau so auszuwerten wie die shell einen String auswerten würde. > > Ohne ihn erwartet der Popen-Konstruktor als ersten Parameter eine Liste: > subprocess.Popen(['<absolute path to script>'], ...]) Korregiere: subprocess.Popen(absolute path to script, arg, arg, arg ...], ...)
subprocess.Popen([absolute path to script, arg, arg, arg ...], ...)
(In reply to comment #3) > (In reply to comment #2) > > Wurde entsprechend umgesetzt. > > Super! Ich frage mich, ob shell=True im Aufruf notwendig ist? Für die API-Kompatibilität, da runScripts prinzipiell auch von extern verwendet werden könnte.
(In reply to comment #1) > Gut wäre es, wenn stdout und stderr durchgereicht werden. Bitte unbedingt die damalige Problematik aus Bug #22517 bei der QA beachten, nicht daß das Problem erneut auftritt. (Vom kurzen überfliegen sollte das hier nicht problematisch sein, da damals stdout und stderr in eine (begrenzte) Pipe umgeleitet wurden; da jetzt die Ausgabe an stdout/stderr durchgereicht wird, sollte das kein Problem sein.)
Funktioniert: root@server:/etc/univention/templates/scripts# ucr commit /etc/ldap/slapd.conf Multifile: /etc/ldap/slapd.conf stdout stderr root@server:/etc/univention/templates/scripts# cat etc/ldap/slapd.conf #!/bin/bash echo "stdout" echo "stderr" >&2 ChangeLog-Eintrag fehlt
Changelogeintrag wurde hinzugefügt. \item stdout will not be redirected to /dev/null anymore when executing scripts (\ucsBug{26840}).
(In reply to comment #10) > Changelogeintrag wurde hinzugefügt. Ist drin
UCS 3.0-2 has been released: http://forum.univention.de/viewtopic.php?f=54&t=1905 If this error occurs again, please use "Clone This Bug".