2017-05-14 2 views
1
==> payment: Notice: /Stage[main]/Nginx::Service/Service[nginx]/ensure: ensure changed 'stopped' to 'running' 
==> payment: Info: /Stage[main]/Nginx::Service/Service[nginx]: Unscheduling refresh on Service[nginx] 
==> payment: Info: Stage[main]: Unscheduling all events on Stage[main] 
==> payment: Info: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml 
==> payment: Notice: Applied catalog in 219.19 seconds 
The SSH command responded with a non-zero exit status. Vagrant 
assumes that this means the command failed. The output for this command 
should be in the log above. Please read the output to determine what 
went wrong. 

Ich kann nicht herausfinden, was tatsächlich fehlschlägt basierend auf dem oben genannten? Nginx läuft wie erwartet.Vagrant - SSH geantwortet Nicht-Null-Exit-Status

Antwort

2

Nichts ist in Ihrer Situation fehlgeschlagen. Wenn Puppet erfolgreich einen Katalog anwendet, der Änderungen an einem System verursacht, lautet der zurückgegebene Beendigungscode 2. Vagrant interpretiert alle ssh-Beendigungscodes, die nicht 0 sind, als unerwartete und implizierte Fehler. Puppet gab in diesem Fall eine 2 für den Exit-Code zurück und Vagrant interpretierte dies als einen Fehler.

Ich würde vorschlagen, eine Provisioning-Zeile nach der Puppet-Ausführung, die echo $? mit der Shell tut. Dies gibt Vagrant den gewünschten 0 Rückkehrcode, während Sie auch sehen können, was der tatsächliche Code war und verifizieren, dass es 2 war.

config.vm.provision 'shell', inline: 'echo $?' 

Ersetzen config mit dem lokalen Variablen Rubin Block nach Wunsch.

https://docs.puppet.com/puppet/latest/man/agent.html#OPTIONS