2016-09-08 1 views

Répondre

3

Regardons dans les modules' code:

intérieur def main()::

# Find service management tools 
service.get_service_tools() 

Puis class LinuxService(Service): et à 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 
     ... 

J'ai coupé un code, mais cet extrait devrait Réponds à ta question: quel système Ansible est susceptible de choisir s'il y en a beaucoup.

Systemd est le premier à rechercher, puis par défaut, etc ...

+0

Je pense que ce n'est pas une bonne idée. Sur mon serveur Ubuntu 14, j'ai installé systemd mais pas utilisé pour init. Le résultat est que Ansible essaie d'utiliser Systemd au lieu de Upstart (le gestionnaire de service déclaré par le système) –

8

Le système init sur un hôte est disponible en tant que fait Ansible ansible_service_mgr.

+0

Ceci est incohérent entre les versions ansible. J'ai des systèmes fiables d'Ubuntu où Ansible 2.2.1 signale "upstart" et Ansible 2.4 rapporte "service". – bschlueter