Nota
Este módulo es parte de ansible-base
e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el nombre corto del módulo systemd incluso sin especificar el collections:
palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.
Nuevo en la versión 2.2: de ansible.builtin
- Sinopsis
- Requisitos
- Parámetros
- Notas
- Ejemplos de
- Valores devueltos
Sinopsis
- Controla los servicios de systemd en hosts remotos.
Requisitos
Los siguientes requisitos son necesarios en el host que ejecuta este módulo.
- Un sistema gestionado por systemd.
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
daemon_reexec booleano agregado en 2.8 de ansible.builtin |
|
Ejecute el comando daemon_reexec antes de realizar cualquier otra operación, el administrador systemd serializará el estado del administrador. alias: daemon-reexec |
daemon_reload booleano |
|
Ejecute daemon-reload antes de realizar cualquier otra operación, para asegurarse de que systemd haya leído los cambios. Cuando se establece en yes , ejecuta daemon-reload incluso si el módulo no inicia ni detiene nada.alias: daemon-reload |
activado booleano |
|
Si el servicio debe iniciarse al arrancar. Se requiere al menos uno de estado y habilitado. |
fuerza booleano agregado en 2.6 de ansible.builtin |
|
Si se deben anular los enlaces simbólicos existentes. |
enmascarado booleano |
|
Ya sea que la unidad deba estar enmascarada o no, es imposible poner en marcha una unidad enmascarada. |
nombre cuerda | Nombre del servicio. Este parámetro toma el nombre de exactamente un servicio con el que trabajar. Cuando se usa en un entorno chroot, siempre debe especificar el nombre completo, es decir, (crond.service). alias: servicio, unidad |
|
no_block booleano agregado en 2.3 de ansible.builtin |
|
No espere sincrónicamente a que finalice la operación solicitada. El trabajo en cola continuará sin que Ansible se bloquee una vez finalizado. |
alcance cuerda agregado en 2.7 de ansible.builtin |
|
Ejecute systemctl dentro del alcance de un administrador de servicios dado, ya sea como el alcance del sistema predeterminado system , el alcance del usuario actual user , o el alcance de todos los usuarios global . Para que systemd funcione con ‘usuario’, el usuario que lo ejecuta debe tener su propia instancia de dbus iniciada y accesible (requisito de systemd). El proceso dbus del usuario normalmente se inicia durante el inicio de sesión normal, pero no durante la ejecución de las tareas de Ansible. De lo contrario, probablemente obtendrá el error “No se pudo conectar al bus: no existe tal archivo o directorio”. El usuario debe tener acceso, normalmente dado mediante la configuración de la variable “ XDG_RUNTIME_DIR ”, vea el ejemplo a continuación. |
estado cuerda |
|
started /stopped son acciones idempotentes que no ejecutarán comandos a menos que sea necesario. restarted siempre rebotará el servicio. reloaded siempre se recargará. |
Notas
Nota
- Desde 2.4, se requiere una de las siguientes opciones ‘state’, ‘enabled’, ‘masked’, ‘daemon_reload’, (‘daemon_reexec’ desde 2.8), y todas excepto ‘daemon_reload’ (y ‘daemon_reexec’ desde 2.8) también requieren ‘nombre’.
- Antes de 2.4, siempre requería ‘nombre’.
- Globs no son compatibles con el nombre, es decir
postgres*.service
. - Apoyos
check_mode
.
Ejemplos de
- name: Make sure a service is running ansible.builtin.systemd: state: started name: httpd - name: Stop service cron on debian, if running ansible.builtin.systemd: name: cron state: stopped - name: Restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes ansible.builtin.systemd: state: restarted daemon_reload: yes name: crond - name: Reload service httpd, in all cases ansible.builtin.systemd: name: httpd state: reloaded - name: Enable service httpd and ensure it is not masked ansible.builtin.systemd: name: httpd enabled: yes masked: no - name: Enable a timer for dnf-automatic ansible.builtin.systemd: name: dnf-automatic.timer state: started enabled: yes - name: Just force systemd to reread configs (2.4 and above) ansible.builtin.systemd: daemon_reload: yes - name: Just force systemd to re-execute itself (2.8 and above) ansible.builtin.systemd: daemon_reexec: yes - name: Run a user service when XDG_RUNTIME_DIR is not set on remote login ansible.builtin.systemd: name: myservice state: started scope: user environment: XDG_RUNTIME_DIR: "/run/user/{{ myuid }}"
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción |
---|---|---|
estado complejo | éxito | Un diccionario con los pares clave = valor devueltos por `systemctl show`. Muestra: {‘ActiveEnterTimestamp’: ‘Sun 2016-05-15 18:28:49 EDT’, ‘ActiveEnterTimestampMonotonic’: ‘8135942’, ‘ActiveSalirTimestampMonotonic’: ‘0’, ‘ActiveState’: ‘activo’, ‘Después de’: ‘auditd .service systemd-user-sessions.service time-sync.target systemd-journald.socket basic.target system.slice ‘,’ AllowIsolate ‘:’ no ‘,’ Before ‘:’ shutdown.target multi-user.target ‘, ‘BlockIOAccounting’: ‘no’, ‘BlockIOWeight’: ‘1000’, ‘CPUAccounting’: ‘no’, ‘CPUSchedulingPolicy’: ‘0’, ‘CPUSchedulingPriority’: ‘0’, ‘CPUSchedulingResetOnFork’: ‘no’, ‘CPUShares ‘:’ 1024 ‘,’ CanIsolate ‘:’ no ‘,’ CanReload ‘:’ yes ‘,’ CanStart ‘:’ yes ‘,’ CanStop ‘:’ yes ‘,’ CapabilityBoundingSet ‘:’ 18446744073709551615 ‘,’ ConditionResult ‘: ‘yes’, ‘ConditionTimestamp’: ‘Sun 2016-05-15 18:28:49 EDT’, ‘ConditionTimestampMonotonic’: ‘7902742’, ‘Conflicts’: ‘shutdown.target’, ‘ControlGroup’: ‘/system.slice /crond.service ‘,’ ControlPID ‘:’ 0 ‘,’ DefaultDependencies ‘:’ sí ‘,’ Delegar ‘:’ no ‘,’ Descripción ‘:’ Programador de comandos ‘,’ DevicePolicy ‘:’ auto ‘,’ Env ironmentFile ‘:’ / etc / sysconfig / crond (ignore_errors = no) ‘,’ ExecMainCode ‘:’ 0 ‘,’ ExecMainSalirTimestampMonotonic ‘:’ 0 ‘,’ ExecMainPID ‘:’ 595 ‘,’ ExecMainStartTimestamp ‘:’ Sun 2016-05 -15 18:28:49 EDT ‘,’ ExecMainStartTimestampMonotonic ‘:’ 8134990 ‘,’ ExecMainStatus ‘:’ 0 ‘,’ ExecReload ‘:’ {ruta = / bin / kill; argv[]= / bin / kill -HUP $ MAINPID; ignore_errors = no; start_time =[n/a] ; stop_time =[n/a] ; pid = 0; código = (nulo); status = 0/0} ‘,’ ExecStart ‘:’ {ruta = / usr / sbin / crond; argv[]= / usr / sbin / crond -n $ CRONDARGS; ignore_errors = no; start_time =[n/a] ; stop_time =[n/a] ; pid = 0; código = (nulo); status = 0/0} ‘,’ FragmentPath ‘:’ /usr/lib/systemd/system/crond.service ‘,’ GuessMainPID ‘:’ sí ‘,’ IOScheduling ‘:’ 0 ‘,’ Id ‘:’ crond. service ‘,’ IgnoreOnIsolate ‘:’ no ‘,’ IgnoreOnSnapshot ‘:’ no ‘,’ IgnoreSIGPIPE ‘:’ sí ‘,’ InactiveEnterTimestampMonotonic ‘:’ 0 ‘,’ InactiveSalirTimestamp ‘:’ Dom 2016-05-15 18:28: 49 EDT ‘,’ InactiveSalirTimestampMonotonic ‘:’ 8135942 ‘,’ JobTimeoutUSec ‘:’ 0 ‘,’ KillMode ‘:’ proceso ‘,’ KillSignal ‘:’ 15 ‘,’ LimitAS ‘:’ 18446744073709551615 ‘,’ LimitCORE ‘:’ 184495516440 ‘,’ LimitCPU ‘:’ 18446744073709551615 ‘,’ LimitDATA ‘:’ 18446744073709551615 ‘,’ LimitFSIZE ‘:’ 18446744073709551615 ‘,’ LimitLOCKS ‘:’ 18446744073709551615 ‘,’ LimitMUE ‘:’ 655MSGK19 ‘LimitNICE’: ‘0’, ‘LimitNOFILE’: ‘4096’, ‘LimitNPROC’: ‘3902’, ‘LimitRSS’: ‘18446744073709551615’, ‘LimitRTPRIO’: ‘0’, ‘LimitRTTIME’: ‘18446744073709551615’, ‘ ‘:’ 3902 ‘,’ LimitSTACK ‘:’ 18446744073709551615 ‘,’ LoadState ‘:’ cargado ‘,’ MainPID ‘:’ 595 ‘,’ MemoryAccounting ‘:’ no ‘,’ MemoryLimit ‘:’ 18446744073709551615 ‘,’ MountFlags ‘:’ 0 ‘,’ Nombres ‘:’ crond.service ‘,’ NeedDaemonReload ‘:’ no ‘,’ Nice ‘:’ 0 ‘,’ NoNewPrivileges ‘:’ no ‘,’ NonBlocking ‘:’ no ‘,’ NotifyAccess ‘:’ none ‘,’ OOMScoreAdjust ‘:’ 0 ‘,’ OnFailureIsolate ‘:’ no ‘,’ PermissionsStartOnly ‘:’ no ‘,’ PrivateNetwork ‘:’ no ‘,’ PrivateTmp ‘:’ no ‘ , ‘RefuseManualStart’: ‘no’, ‘RefuseManualStop’: ‘no’, ‘RemainAfterSalir’: ‘no’, ‘Requiere’: ‘basic.target’, ‘Restart’: ‘no’, ‘RestartUSec’: ‘100ms’ , ‘Resultado’: ‘éxito’, ‘RootDirectoryStartOnly’: ‘no’, ‘SameProcessGroup’: ‘no’, ‘SecureBits’: ‘0’, ‘SendSIGHUP’: ‘no’, ‘SendSIGKILL’: ‘sí’, ‘ Slice ‘:’ system.slice ‘,’ StandardError ‘:’ heredar ‘,’ StandardInput ‘:’ null ‘,’ StandardOutput ‘:’ journal ‘,’ StartLimitAction ‘:’ none ‘,’ StartLimitBurst ‘:’ 5 ‘,’ StartLimitInterval ‘:’ 10000000 ‘,’ StatusErrno ‘:’ 0 ‘,’ StopWhenUnneeded ‘:’ no ‘,’ SubState ‘:’ running ‘,’ SyslogLevelPrefix ‘:’ yes ‘,’ SyslogPriority ‘:’ 30 ‘,’ TTYReset ‘ : ‘no’, ‘TTYVHangup’: ‘no’, ‘TTYVTDisallocate’: ‘no’, ‘TimeoutStartUSec’: ‘1min 30s’, ‘Ti meoutStopUSec ‘:’ 1min 30s ‘,’ TimerSlackNSec ‘:’ 50000 ‘,’ Transient ‘:’ no ‘,’ Type ‘:’ simple ‘,’ UMask ‘:’ 0022 ‘,’ UnitFileState ‘:’ habilitado ‘,’ WantedBy ‘:’ multi-user.target ‘,’ Wants ‘:’ system.slice ‘,’ WatchdogTimestampMonotonic ‘:’ 0 ‘,’ WatchdogUSec ‘:’ 0 ‘} |
Autores
- Equipo principal de Ansible
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)