- name: install the test daemon script copy: src=ansible_test_service dest=/usr/sbin/ansible_test_service mode=755 register: install_result - block: - name: assert that the daemon script was installed assert: that: - "install_result.dest == '/usr/sbin/ansible_test_service'" - "install_result.state == 'file'" - "install_result.mode == '0755'" # 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_version is version('7', '>=') and ansible_distribution_version is version('8', '<'))) 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: 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'