@ -20,30 +20,33 @@
## systemctl
## systemctl
##
##
- name : check for systemctl command
- name : End if this system does not use systemd
shell : which systemctl
meta : end_host
failed_when : False
when : ansible_facts.service_mgr != 'systemd'
register : systemctl_check
- name : Include distribution specific variables
- meta : end_host
include_vars : "{{ lookup('first_found', params) }}"
when : systemctl_check.rc != 0
vars:
params:
- set_fact:
files:
ssh_service : '{{ "ssh" if ansible_os_family == "Debian" else "sshd" }}'
- "{{ ansible_facts.distribution }}.yml"
- "{{ ansible_facts.os_family }}.yml"
- block:
- default.yml
- name : get a list of running services
paths:
- vars
- name : get a list of running services
shell : systemctl | fgrep 'running' | awk '{print $1}' | sed 's/\.service//g' | fgrep -v '.' | egrep ^[a-z]
shell : systemctl | fgrep 'running' | awk '{print $1}' | sed 's/\.service//g' | fgrep -v '.' | egrep ^[a-z]
register : running_names
register : running_names
- debug : var=running_names
- debug : var=running_names
- name : check running state
- name : check running state
systemd:
systemd:
name : "{{ running_names.stdout_lines|random }}"
name : "{{ running_names.stdout_lines|random }}"
state : started
state : started
register : systemd_test0
register : systemd_test0
- debug : var=systemd_test0
- debug : var=systemd_test0
- name : validate results for test0
- name : validate results for test0
assert:
assert:
that:
that:
- 'systemd_test0.changed is defined'
- 'systemd_test0.changed is defined'
@ -53,19 +56,19 @@
- 'not systemd_test0.changed'
- 'not systemd_test0.changed'
- 'systemd_test0.state == "started"'
- 'systemd_test0.state == "started"'
- name : the module must fail when a service is not found
- name : the module must fail when a service is not found
systemd:
systemd:
name : '{{ fake_service }}'
name : '{{ fake_service }}'
state : stopped
state : stopped
register : result
register : result
ignore_errors : yes
ignore_errors : yes
- assert:
- assert:
that:
that:
- result is failed
- result is failed
- 'result is search("Could not find the requested service {{ fake_service }}")'
- 'result is search("Could not find the requested service {{ fake_service }}")'
- name : the module must fail in check_mode as well when a service is not found
- name : the module must fail in check_mode as well when a service is not found
systemd:
systemd:
name : '{{ fake_service }}'
name : '{{ fake_service }}'
state : stopped
state : stopped
@ -73,12 +76,12 @@
check_mode : yes
check_mode : yes
ignore_errors : yes
ignore_errors : yes
- assert:
- assert:
that:
that:
- result is failed
- result is failed
- 'result is search("Could not find the requested service {{ fake_service }}")'
- 'result is search("Could not find the requested service {{ fake_service }}")'
- name : check that the module works even when systemd is offline (eg in chroot)
- name : check that the module works even when systemd is offline (eg in chroot)
systemd:
systemd:
name : "{{ running_names.stdout_lines|random }}"
name : "{{ running_names.stdout_lines|random }}"
state : started
state : started
@ -114,3 +117,5 @@
- systemd_disable_ssh_2 is not changed
- systemd_disable_ssh_2 is not changed
- systemd_enable_ssh_1 is changed
- systemd_enable_ssh_1 is changed
- systemd_enable_ssh_2 is not changed
- systemd_enable_ssh_2 is not changed
- import_tasks : test_unit_template.yml