summaryrefslogtreecommitdiffstats
path: root/test/integration/targets/service/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/targets/service/tasks/main.yml')
-rw-r--r--test/integration/targets/service/tasks/main.yml62
1 files changed, 62 insertions, 0 deletions
diff --git a/test/integration/targets/service/tasks/main.yml b/test/integration/targets/service/tasks/main.yml
new file mode 100644
index 0000000..4fc2ddf
--- /dev/null
+++ b/test/integration/targets/service/tasks/main.yml
@@ -0,0 +1,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'