community.general.nosh – Управление службами с nosh
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general
Для использования в плейбуке укажите: community.general.nosh
Обзор
- Управление состоянием запуска и включения системных или пользовательских служб.
- Поддерживаются системы BSD и Linux.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- Система с активным менеджером служб nosh, см. раздел «Примечания» для получения дополнительной информации.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| enabled boolean |
| Включить или отключить службу независимо от предпочтений в файле *.preset или состояния запуска. Взаимоисключающие с preset. Вступит в силу до state=reset. |
| name string / required | Имя службы для управления. | |
| preset boolean |
| Включить или отключить службу в соответствии с локальными предпочтениями в файлах *.preset. Взаимоисключающие с enabled. Действует только при значении true. Вступит в силу до state=reset. |
| state string |
| started/stopped — идемпотентные действия, которые не будут запускать команды, если это не необходимо. restarted всегда перезапустит службу. reloaded отправит SIGHUP или запустит службу. reset запустит или остановит службу в соответствии с ее включением/выключением. |
| user boolean |
| Запустить системный контроль, взаимодействуя с менеджером служб текущего пользователя, а не с системным менеджером служб. |
Примечания
Примечание
- Информация о наборе утилит nosh доступна на https://jdebp.eu/Softwares/nosh/.
Примеры
- name: Start dnscache if not running
community.general.nosh: name=dnscache state=started
- name: Stop mpd, if running
community.general.nosh: name=mpd state=stopped
- name: Restart unbound or start it if not already running
community.general.nosh:
name: unbound
state: restarted
- name: Reload fail2ban or start it if not already running
community.general.nosh:
name: fail2ban
state: reloaded
- name: Disable nsd
community.general.nosh: name=nsd enabled=no
- name: For package installers, set nginx running state according to local enable settings, preset and reset
community.general.nosh: name=nginx preset=True state=reset
- name: Reboot the host if nosh is the system manager, would need a "wait_for*" task at least, not recommended as-is
community.general.nosh: name=reboot state=started
- name: Using conditionals with the module facts
tasks:
- name: Obtain information on tinydns service
community.general.nosh: name=tinydns
register: result
- name: Fail if service not loaded
ansible.builtin.fail: msg="The {{ result.name }} service is not loaded"
when: not result.status
- name: Fail if service is running
ansible.builtin.fail: msg="The {{ result.name }} service is running"
when: result.status and result.status['DaemontoolsEncoreState'] == "running"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| enabled boolean | success | включён ли сервис при загрузке системы Пример: True | |
| name string | success | имя, используемое для поиска сервиса Пример: sshd | |
| preset boolean | success | отображает ли состояние включения значение, установленное в соответствующем файле *.presetПример: False | |
| service_path string | success | разрешенный путь к сервису Пример: /var/sv/sshd | |
| state string | если используется опция state | состояние процесса выполнения сервиса, None если сервис не загружен и не будет запущенПример: reloaded | |
| status complex | success | словарь с парами ключ=значение, возвращёнными `system-control show-json`, или None если сервис не загружен | |
| After list / elements=string | success | Пример: ['/etc/service-bundles/targets/basic', '../sshdgenkeys', 'log'] | |
| Before list / elements=string | success | Пример: ['/etc/service-bundles/targets/shutdown'] | |
| Conflicts list / elements=string | success | Пример: [] | |
| DaemontoolsEncoreState string | success | Пример: running | |
| DaemontoolsState string | success | Пример: up | |
| Enabled boolean | success | Пример: True | |
| LogService string | success | Пример: ../cyclog@sshd | |
| MainPID integer | success | Пример: 661 | |
| Paused boolean | success | Пример: False | |
| ReadyAfterRun boolean | success | Пример: False | |
| RemainAfterExit boolean | success | Пример: False | |
| Required-By list / elements=string | success | Пример: [] | |
| RestartExitStatusCode integer | success | Пример: 0 | |
| RestartExitStatusNumber integer | success | Пример: 0 | |
| RestartTimestamp integer | success | Пример: 4611686019935648081 | |
| RestartUTCTimestamp integer | success | Пример: 1508260140 | |
| RunExitStatusCode integer | success | Пример: 0 | |
| RunExitStatusNumber integer | success | Пример: 0 | |
| RunTimestamp integer | success | Пример: 4611686019935648081 | |
| RunUTCTimestamp integer | success | Пример: 1508260140 | |
| StartExitStatusCode integer | success | Пример: 1 | |
| StartExitStatusNumber integer | success | Пример: 0 | |
| StartTimestamp integer | success | Пример: 4611686019935648081 | |
| StartUTCTimestamp integer | success | Пример: 1508260140 | |
| StopExitStatusCode integer | success | Пример: 0 | |
| StopExitStatusNumber integer | success | Пример: 0 | |
| Stopped-By list / elements=string | success | Пример: ['/etc/service-bundles/targets/shutdown'] | |
| StopTimestamp integer | success | Пример: 4611686019935648081 | |
| StopUTCTimestamp integer | success | Пример: 1508260140 | |
| Timestamp integer | success | Пример: 4611686019935648081 | |
| UTCTimestamp integer | success | Пример: 1508260140 | |
| Want string | success | Пример: ничего | |
| Wanted-By list / elements=string | success | Пример: ['/etc/service-bundles/targets/server', '/etc/service-bundles/targets/sockets'] | |
| Wants list / elements=string | success | Пример: ['/etc/service-bundles/targets/basic', '../sshdgenkeys'] | |
| user boolean | success | вызывается ли менеджер сервисов на уровне пользователя | |
Авторы
- Thomas Caravia (@tacatac)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/nosh_module.html