2016-09-08 11 views

Odpowiedz

3

Spójrzmy na moduły code:

Inside def main()::

# Find service management tools 
service.get_service_tools() 

Następnie do class LinuxService(Service): i do def get_service_tools(self):

# Locate a tool to enable/disable a service 
    if check_systemd(): 
     # service is managed by systemd 
     ... 
    elif location.get('initctl', False) and os.path.exists("/etc/init/%s.conf" % self.name): 
     # service is managed by upstart 
     ... 
    elif location.get('rc-service', False): 
     # service is managed by OpenRC 
     ... 
    elif self.svc_initscript: 
     # service is managed by with SysV init scripts 
     ... 

mam wyciąć jakiś kod, ale ten fragment powinien odpowiedz na twoje pytanie: jaki system będzie mógł wybrać Ansible, jeśli jest ich wiele.

Systemd jest pierwszy do wyszukiwania, a następnie dorobkiewicz, etc ...

+0

Myślę, że to nie jest dobry pomysł. Na moim serwerze Ubuntu 14 zainstalowałem systemd, ale nie używam go do init. W rezultacie Ansible próbuje użyć Systemd zamiast Upstart (system zadeklarował menadżera usług) –

8

System inicjujący na hoście jest dostępny jako fakty o odpowiedziach ansible_service_mgr.

+0

Jest to niezgodne między wersjami ansibl. Posiadam sprawdzone systemy Ubuntu, w których Ansible 2.2.1 zgłasza "upstart", a Ansible 2.4 "serwis". – bschlueter

Powiązane problemy