Appendice G. init-Script LSB Compliance
The relevant part of
LSB spec includes a description of all the return codes listed here.
Assuming some_service
is configured correctly and currently not active, the following sequence will help you determine if it is LSB compatible:
Start (a servizio fermo):
# /etc/init.d/some_service start ; echo "result: $?"
Il servizio si è avviato?
Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
Status (a servizio attivo):
# /etc/init.d/some_service status ; echo "result: $?"
Lo script ha accettato il comando?
Lo script ha indicato che il servizio stava funzionando?
Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
Start (a servizio attivo):
# /etc/init.d/some_service start ; echo "result: $?"
Il servizio è ancora attivo?
Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
Stop (a servizio attivo):
# /etc/init.d/some_service stop ; echo "result: $?"
Il servizio è stato stoppato?
Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
Status (a servizio fermo):
# /etc/init.d/some_service status ; echo "result: $?"
Lo script ha accettato il comando?
Lo script ha indicato che il servizio non stava funzionando?
Il comando ha restituito il risultato: 3 (in aggiunta all'ouput classico)?
Stop (a servizio fermo):
# /etc/init.d/some_service stop ; echo "result: $?"
Il servizio è ancora stoppato?
Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
Status (a servizio fallito):
Questo passaggio non è facilmente verificabile e si basa sul controllo manuale dello script.
Lo script può utilizzare un codice di errore (diverso da 3) elencato nelle specifiche LSB per indicare che è attivo ma fallito. Questo indica al cluster che prima di spostare una risorsa ad un altro nodo essa necessita di essere stoppata prima sul nodo attuale.
Se la risposta a qualsiasi delle domande elencate è no, allora lo script non è LSB compatibile. Le opzioni a questo punto sono di sistemare lo script o scrivere un agent OCF basato sullo script esistente.