O serviço não inicia ao usar o chef

6

Eu escrevi um script que eu disparo como um serviço. Quando eu chamo service myservice start , o serviço começa bem. No entanto, quando o mesmo serviço é acionado usando o chef, o serviço não é iniciado. Meu código de serviço do chef se parece com isso

service "myservice" do
 supports :status => true, :restart => true, :reload => true
 action [ :enable, :start ]
end

Eu chamo o script usando knife bootstrap <ip> -r 'recipe[testservice]' . O que estou perdendo aqui? Obrigado pela ajuda!

    
por Jay 04.04.2013 / 04:35

3 respostas

9

Provavelmente você tem alguns erros no script /etc/init.d/myservice . Quando você diz que o seu serviço suporta o comando status , o chef executará service myservice status e verificará o código de saída. Se for 0, assume que o serviço está sendo executado. Seu script deve sair com código diferente de zero.

    
por 02.07.2013 / 16:10
0

Quando o Chef inicia um serviço, ele primeiro verifica se o serviço já está em execução ("/ sbin / service myservice status" no CentOS). Se ele determinar que já está em execução, não fará o início ou registrará qualquer coisa com um nível de depuração superior a:

link

    
por 05.04.2013 / 11:15
0

Eu estava enfrentando o mesmo problema, na verdade, o servidor do chef 11 depende da ação: status para iniciar o serviço. Daí como ação iniciar e parar em seu script você também exigiria status de ação, que deve retornar o status atual do script.

    
por 18.05.2015 / 18:51