blob: 7a4ecda5e7d9a2d435b2ed2762eead32323e381c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
- name: skip unsupported distros
meta: end_host
when: ansible_distribution in ['Alpine']
- name: install the test daemon script
copy:
src: ansible_test_service.py
dest: /usr/sbin/ansible_test_service
mode: '755'
- name: rewrite shebang in the test daemon script
lineinfile:
path: /usr/sbin/ansible_test_service
line: "#!{{ ansible_python_interpreter | realpath }}"
insertbefore: BOF
firstmatch: yes
- block:
# determine init system is in use
- name: detect sysv init system
set_fact:
service_type: sysv
when:
- ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux']
- ansible_distribution_version is version('6', '>=')
- ansible_distribution_version is version('7', '<')
- name: detect systemd init system
set_fact:
service_type: systemd
when: (ansible_distribution in ['RedHat', 'CentOS', 'ScientificLinux'] and ansible_distribution_major_version is version('7', '>=')) or ansible_distribution == 'Fedora' or (ansible_distribution == 'Ubuntu' and ansible_distribution_version is version('15.04', '>=')) or (ansible_distribution == 'Debian' and ansible_distribution_version is version('8', '>=')) or ansible_os_family == 'Suse'
- name: detect upstart init system
set_fact:
service_type: upstart
when:
- ansible_distribution == 'Ubuntu'
- ansible_distribution_version is version('15.04', '<')
- name: detect rc init system
set_fact:
service_type: rc
when:
- ansible_distribution.lower().endswith('bsd')
- name: display value of ansible_service_mgr
debug:
msg: 'ansible_service_mgr: {{ ansible_service_mgr }}'
- name: setup test service script
include_tasks: '{{ service_type }}_setup.yml'
- name: execute tests
import_tasks: tests.yml
always:
- name: disable and stop ansible test service
service:
name: ansible_test
state: stopped
enabled: false
# cleaning up changes made by this playbook
- include_tasks: '{{ service_type }}_cleanup.yml'
|