diff --git a/plugins/action/icinga2_object.py b/plugins/action/icinga2_object.py index ca69c384..7da64d90 100644 --- a/plugins/action/icinga2_object.py +++ b/plugins/action/icinga2_object.py @@ -28,7 +28,9 @@ def run(self, tmp=None, task_vars=None): obj = self._execute_module(module_name='icinga2_'+object_type.lower(), module_args=args, task_vars=task_vars, tmp=tmp) if 'failed' in obj: - raise AnsibleError('%s' % obj['msg']) + raise AnsibleError('Call to module failed: %s' % obj['msg']) + elif 'skipped' in obj and obj['skipped']: + raise AnsibleError('Call to module was skipped: %s' % obj['msg']) # # file path handling for assemble diff --git a/plugins/modules/icinga2_apilistener.py b/plugins/modules/icinga2_apilistener.py index c7bd103d..0dfcc906 100644 --- a/plugins/modules/icinga2_apilistener.py +++ b/plugins/modules/icinga2_apilistener.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_apiuser.py b/plugins/modules/icinga2_apiuser.py index 009fb08a..8eda0524 100644 --- a/plugins/modules/icinga2_apiuser.py +++ b/plugins/modules/icinga2_apiuser.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -26,4 +27,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_checkcommand.py b/plugins/modules/icinga2_checkcommand.py index a7e81c11..40fb1810 100644 --- a/plugins/modules/icinga2_checkcommand.py +++ b/plugins/modules/icinga2_checkcommand.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -33,4 +34,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_checkercomponent.py b/plugins/modules/icinga2_checkercomponent.py index 8b7f5602..c305e73b 100644 --- a/plugins/modules/icinga2_checkercomponent.py +++ b/plugins/modules/icinga2_checkercomponent.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_endpoint.py b/plugins/modules/icinga2_endpoint.py index a2c0ba43..ea7ccd7b 100644 --- a/plugins/modules/icinga2_endpoint.py +++ b/plugins/modules/icinga2_endpoint.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -26,4 +27,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_filelogger.py b/plugins/modules/icinga2_filelogger.py index f2ffdc0a..86ca1d9a 100644 --- a/plugins/modules/icinga2_filelogger.py +++ b/plugins/modules/icinga2_filelogger.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -25,4 +26,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_graphitewriter.py b/plugins/modules/icinga2_graphitewriter.py index c4ecc7d1..61ff3265 100644 --- a/plugins/modules/icinga2_graphitewriter.py +++ b/plugins/modules/icinga2_graphitewriter.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -30,4 +31,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_host.py b/plugins/modules/icinga2_host.py index 06564741..efc9ca63 100644 --- a/plugins/modules/icinga2_host.py +++ b/plugins/modules/icinga2_host.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -56,4 +57,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_hostgroup.py b/plugins/modules/icinga2_hostgroup.py index 8cb1f32a..749a89d6 100644 --- a/plugins/modules/icinga2_hostgroup.py +++ b/plugins/modules/icinga2_hostgroup.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_icingaapplication.py b/plugins/modules/icinga2_icingaapplication.py index 53aad634..5946e843 100644 --- a/plugins/modules/icinga2_icingaapplication.py +++ b/plugins/modules/icinga2_icingaapplication.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_idomysqlconnection.py b/plugins/modules/icinga2_idomysqlconnection.py index 05628ed5..70f4d71a 100644 --- a/plugins/modules/icinga2_idomysqlconnection.py +++ b/plugins/modules/icinga2_idomysqlconnection.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_idopgsqlconnection.py b/plugins/modules/icinga2_idopgsqlconnection.py index 28e926d5..b96a4849 100644 --- a/plugins/modules/icinga2_idopgsqlconnection.py +++ b/plugins/modules/icinga2_idopgsqlconnection.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_influxdbwriter.py b/plugins/modules/icinga2_influxdbwriter.py index 70e256a3..c8d8f7bd 100644 --- a/plugins/modules/icinga2_influxdbwriter.py +++ b/plugins/modules/icinga2_influxdbwriter.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -39,4 +40,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_notificationcomponent.py b/plugins/modules/icinga2_notificationcomponent.py index 8f45c6a2..c7e5a82a 100644 --- a/plugins/modules/icinga2_notificationcomponent.py +++ b/plugins/modules/icinga2_notificationcomponent.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -24,4 +25,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_service.py b/plugins/modules/icinga2_service.py index 6252a5ec..5a12197a 100644 --- a/plugins/modules/icinga2_service.py +++ b/plugins/modules/icinga2_service.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -68,4 +69,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_servicegroup.py b/plugins/modules/icinga2_servicegroup.py index 8cb1f32a..749a89d6 100644 --- a/plugins/modules/icinga2_servicegroup.py +++ b/plugins/modules/icinga2_servicegroup.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_sysloglogger.py b/plugins/modules/icinga2_sysloglogger.py index 8ac983f2..69e3bd2d 100644 --- a/plugins/modules/icinga2_sysloglogger.py +++ b/plugins/modules/icinga2_sysloglogger.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -25,4 +26,3 @@ def main(): if __name__ == '__main__': main() - diff --git a/plugins/modules/icinga2_timeperiod.py b/plugins/modules/icinga2_timeperiod.py index d7b7d21f..fe5c8290 100644 --- a/plugins/modules/icinga2_timeperiod.py +++ b/plugins/modules/icinga2_timeperiod.py @@ -5,6 +5,7 @@ def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), diff --git a/plugins/modules/icinga2_zone.py b/plugins/modules/icinga2_zone.py index bb733e41..855ca763 100644 --- a/plugins/modules/icinga2_zone.py +++ b/plugins/modules/icinga2_zone.py @@ -1,10 +1,11 @@ #!/usr/bin/python - + from ansible.module_utils.basic import AnsibleModule def main(): module = AnsibleModule( + supports_check_mode=True, argument_spec = dict( state = dict(default='present', choices=['present', 'absent']), name = dict(required=True), @@ -21,10 +22,9 @@ def main(): order = args.pop('order') state = args.pop('state') file = args.pop('file') - del args['_global'] + del args['_global'] module.exit_json(changed=False, args=args, name=name, order=str(order), state=state, file=file) if __name__ == '__main__': main() - diff --git a/roles/icinga2/tasks/configure.yml b/roles/icinga2/tasks/configure.yml index 5ae31e36..01ae2fed 100644 --- a/roles/icinga2/tasks/configure.yml +++ b/roles/icinga2/tasks/configure.yml @@ -44,6 +44,7 @@ shell: > find {{ icinga2_fragments_path }} -type d -empty register: _empty_result + check_mode: false changed_when: _empty_result.stdout_lines |length > 0 - name: remove empty config dirs diff --git a/roles/icinga2/tasks/features/idomysql.yml b/roles/icinga2/tasks/features/idomysql.yml index 79245c62..0a5c5d37 100644 --- a/roles/icinga2/tasks/features/idomysql.yml +++ b/roles/icinga2/tasks/features/idomysql.yml @@ -33,8 +33,9 @@ shell: > {{ mysqlcmd }} -Ns -e "select version from icinga_dbversion" - ignore_errors: True - changed_when: False + failed_when: false + changed_when: false + check_mode: false register: db_schema - name: MySQL import IDO schema diff --git a/roles/icinga2/tasks/features/idopgsql.yml b/roles/icinga2/tasks/features/idopgsql.yml index d5b1754e..a4baf1ba 100644 --- a/roles/icinga2/tasks/features/idopgsql.yml +++ b/roles/icinga2/tasks/features/idopgsql.yml @@ -33,8 +33,9 @@ shell: > {{ psqlcmd }} -w -c "select version from icinga_dbversion" - ignore_errors: True - changed_when: False + failed_when: false + changed_when: false + check_mode: false register: db_schema - name: PostgreSQL import IDO schema diff --git a/roles/icinga2/tasks/install_on_RedHat.yml b/roles/icinga2/tasks/install_on_RedHat.yml index bdae39cd..5099af57 100644 --- a/roles/icinga2/tasks/install_on_RedHat.yml +++ b/roles/icinga2/tasks/install_on_RedHat.yml @@ -2,3 +2,8 @@ yum: name: icinga2 state: present +- name: Yum - install package icinga2-selinux + yum: + name: icinga2-selinux + state: present + when: ansible_selinux is defined and ansible_selinux.status == "enabled"