Product SiteDocumentation Site

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:
  1. Start (a servizio fermo):
    # /etc/init.d/some_service start ; echo "result: $?"
    1. Il servizio si è avviato?
    2. Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
  2. Status (a servizio attivo):
    # /etc/init.d/some_service status ; echo "result: $?"
    1. Lo script ha accettato il comando?
    2. Lo script ha indicato che il servizio stava funzionando?
    3. Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
  3. Start (a servizio attivo):
    # /etc/init.d/some_service start ; echo "result: $?"
    1. Il servizio è ancora attivo?
    2. Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
  4. Stop (a servizio attivo):
    # /etc/init.d/some_service stop ; echo "result: $?"
    1. Il servizio è stato stoppato?
    2. Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
  5. Status (a servizio fermo):
    # /etc/init.d/some_service status ; echo "result: $?"
    1. Lo script ha accettato il comando?
    2. Lo script ha indicato che il servizio non stava funzionando?
    3. Il comando ha restituito il risultato: 3 (in aggiunta all'ouput classico)?
  6. Stop (a servizio fermo):
    # /etc/init.d/some_service stop ; echo "result: $?"
    1. Il servizio è ancora stoppato?
    2. Il comando ha stampato il risultato: 0 (in aggiunta all'output classico)?
  7. 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.