nosh - Manage services with nosh
New in version 2.5.
Synopsis
- Control running and enabled state for system-wide or user services.
- BSD and Linux systems are supported.
Requirements
The below requirements are needed on the host that executes this module.
- A system with an active nosh service manager, see Notes for further information.
Parameters
| Parameter | Choices/Defaults | Comments | 
|---|---|---|
| enabled | 
 | Enable or disable the service, independently of  *.presetfile preference or running state. Mutually exclusive with preset. Will take effect prior to state=reset. | 
| name required | Name of the service to manage. | |
| preset | 
 | Enable or disable the service according to local preferences in *.preset files. Mutually exclusive with enabled. Only has an effect if set to true. Will take effect prior to state=reset. | 
| state | 
 | started/stoppedare idempotent actions that will not run commands unless necessary.restartedwill always bounce the service.reloadedwill send a SIGHUP or start the service.resetwill start or stop the service according to whether it is enabled or not. | 
| user | 
 | Run system-control talking to the calling user's service manager, rather than the system-wide service manager. | 
Notes
Note
- Information on the nosh utilities suite may be found at https://jdebp.eu/Softwares/nosh/.
Examples
- name: start dnscache if not running
  nosh: name=dnscache state=started
- name: stop mpd, if running
  nosh: name=mpd state=stopped
- name: restart unbound or start it if not already running
  nosh:
    name: unbound
    state: restarted
- name: reload fail2ban or start it if not already running
  nosh:
    name: fail2ban
    state: reloaded
- name: disable nsd
  nosh: name=nsd enabled=no
- name: for package installers, set nginx running state according to local enable settings, preset and reset
  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
  nosh: name=reboot state=started
- name: using conditionals with the module facts
  tasks:
    - name: obtain information on tinydns service
      nosh: name=tinydns
      register: result
    - name: fail if service not loaded
      fail: msg="The {{ result.name }} service is not loaded"
      when: not result.status
    - name: fail if service is running
      fail: msg="The {{ result.name }} service is running"
      when: result.status and result.status['DaemontoolsEncoreState'] == "running"
   Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | |
|---|---|---|---|
| enabled boolean | success | whether the service is enabled at system bootstrap Sample: True | |
| name string | success | name used to find the service Sample: sshd | |
| preset boolean | success | whether the enabled status reflects the one set in the relevant  *.presetfile | |
| service_path string | success | resolved path for the service Sample: /var/sv/sshd | |
| state string | if state option is used | service process run state,  Noneif the service is not loaded and will not be startedSample: reloaded | |
| status complex | success | a dictionary with the key=value pairs returned by `system-control show-json` or  Noneif the service is not loaded | |
| StopTimestamp |  | ||
| RunUTCTimestamp |  | ||
| MainPID |  | ||
| Wanted-By |  | ||
| Wants |  | ||
| UTCTimestamp |  | ||
| LogService |  | ||
| StartTimestamp |  | ||
| After |  | ||
| StopExitStatusCode |  | ||
| DaemontoolsState |  | ||
| StopUTCTimestamp |  | ||
| RemainAfterExit |  | ||
| Stopped-By |  | ||
| Conflicts |  | ||
| RunExitStatusNumber |  | ||
| RunTimestamp |  | ||
| RestartExitStatusCode |  | ||
| DaemontoolsEncoreState |  | ||
| StartUTCTimestamp |  | ||
| Enabled |  | ||
| RestartExitStatusNumber |  | ||
| RestartTimestamp |  | ||
| StartExitStatusNumber |  | ||
| StartExitStatusCode |  | ||
| RestartUTCTimestamp |  | ||
| StopExitStatusNumber |  | ||
| Paused |  | ||
| ReadyAfterRun |  | ||
| Want |  | ||
| Timestamp |  | ||
| Required-By |  | ||
| RunExitStatusCode |  | ||
| Before |  | ||
| user boolean | success | whether the user-level service manager is called | |
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
Author
- Thomas Caravia
Hint
If you notice any issues in this documentation you can edit this document to improve it.
    © 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/2.5/modules/nosh_module.html