Błąd marionetki: zwrócił 1 zamiast jednego z [0]

10

Podczas używania Puppet dostaję komunikaty o błędach, takie jak

returned 1 instead of one of [0]

Czy istnieje sposób na wyświetlenie / wyświetlenie rzeczywistego komunikatu o błędzie?

Nyxynyx
źródło

Odpowiedzi:

14

Wygląda na to, że masz do czynienia z execzasobem, prawda?

Domyślnie dane wyjściowe polecenia są rejestrowane przez marionetkę w przypadkach (takich jak ten), w których polecenie się nie powiodło - patrz logoutputustawienie exectypu zasobu.

Jeśli nie widzisz żadnych innych danych wyjściowych błędów, możliwe, że polecenie po prostu ich nie dostarczyło (całkowicie cicho w stdout i stderr); być może będziesz musiał zajrzeć do ustawiania aplikacji, którą uruchamiasz, w bardziej szczegółowy tryb.

Niektóre aplikacje zwracają niezerowy kod wyjścia w przypadku powodzenia (chociaż 1prawie na pewno jest to pewnego rodzaju awaria). Aby to uwzględnić, możesz ustawić returnszestaw kodów wyjścia, które są oczekiwane po sukcesie; to gdzie [0]w błąd wiadomość pochodzi.

Na przykład ustawienie tego w swoim execzasobie uznałby dowolny z tych trzech kodów wyjścia za „udane” wykonanie.

returns => [0, 2, 14]
Shane Madden
źródło