Bug 26840 - UCR sollte beim Ausführen von scripts stdout nicht nach /dev/null umleiten
UCR sollte beim Ausführen von scripts stdout nicht nach /dev/null umleiten
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCR
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0-2
Assigned To: Lukas Walter
Andreas Büsching
: interim-2
Depends on: 22517
Blocks: 26412
  Show dependency treegraph
 
Reported: 2012-04-19 13:19 CEST by Lukas Walter
Modified: 2012-07-20 15:25 CEST (History)
3 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lukas Walter univentionstaff 2012-04-19 13:19:59 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.
Comment 1 Alexander Kläser univentionstaff 2012-04-19 13:24:30 CEST
Gut wäre es, wenn stdout und stderr durchgereicht werden.
Comment 2 Lukas Walter univentionstaff 2012-04-19 14:52:18 CEST
Wurde entsprechend umgesetzt.
Comment 3 Alexander Kläser univentionstaff 2012-04-20 08:52:34 CEST
(In reply to comment #2)
> Wurde entsprechend umgesetzt.

Super! Ich frage mich, ob shell=True im Aufruf notwendig ist?
Comment 4 Lukas Walter univentionstaff 2012-04-20 12:30:28 CEST
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>'], ...])
Comment 5 Lukas Walter univentionstaff 2012-04-20 12:33:35 CEST
(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 ...], ...)
Comment 6 Lukas Walter univentionstaff 2012-04-20 12:34:07 CEST
subprocess.Popen([absolute path to script, arg, arg, arg ...], ...)
Comment 7 Philipp Hahn univentionstaff 2012-04-23 09:34:02 CEST
(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.
Comment 8 Philipp Hahn univentionstaff 2012-06-12 11:20:21 CEST
(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.)
Comment 9 Andreas Büsching univentionstaff 2012-06-22 13:04:54 CEST
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
Comment 10 Lukas Walter univentionstaff 2012-06-22 13:45:25 CEST
Changelogeintrag wurde hinzugefügt.

\item stdout will not be redirected to /dev/null anymore when executing scripts (\ucsBug{26840}).
Comment 11 Andreas Büsching univentionstaff 2012-06-22 15:41:46 CEST
(In reply to comment #10)
> Changelogeintrag wurde hinzugefügt.

Ist drin
Comment 12 Stefan Gohmann univentionstaff 2012-07-20 15:25:01 CEST
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".