- Docs »
- nosh - Manage services with nosh
-
You are reading an unmaintained version of the Ansible documentation. Unmaintained Ansible versions can contain unfixed security vulnerabilities (CVE). Please upgrade to a maintained version. See the latest Ansible documentation.
nosh - Manage services with nosh
- Control running and enabled state for system-wide or user services.
- BSD and Linux systems are supported.
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.
Parameter |
Choices/Defaults |
Comments |
enabled
bool |
|
Enable or disable the service, independently of *.preset file preference or running state. Mutually exclusive with preset. Will take effect prior to state=reset.
|
name
required |
|
Name of the service to manage.
|
preset
bool |
|
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
|
Choices:
- started
- stopped
- reset
- restarted
- reloaded
|
started /stopped are idempotent actions that will not run commands unless necessary. restarted will always bounce the service. reloaded will send a SIGHUP or start the service. reset will start or stop the service according to whether it is enabled or not.
|
user
bool |
|
Run system-control talking to the calling user's service manager, rather than the system-wide service manager.
|
- 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"
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 *.preset file
|
service_path
string
|
success |
resolved path for the service
Sample:
/var/sv/sshd
|
state
string
|
if state option is used |
service process run state, None if the service is not loaded and will not be started
Sample:
reloaded
|
status
complex
|
success |
a dictionary with the key=value pairs returned by `system-control show-json` or None if 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
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.