diff --git a/defaults/main.yml b/defaults/main.yml index 99fc1445..051fa7d7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -26,9 +26,6 @@ datadog_additional_checks: [] # set this to `true` to delete default checks datadog_disable_default_checks: false -# default tracked checks -datadog_tracked_checks: "{{ datadog_checks | list + datadog_additional_checks }}" - # default user/group datadog_user: dd-agent datadog_group: dd-agent diff --git a/tasks/agent-win.yml b/tasks/agent-win.yml index 359c3e7a..75e58954 100644 --- a/tasks/agent-win.yml +++ b/tasks/agent-win.yml @@ -50,6 +50,15 @@ with_items: "{{ datadog_checks|list }}" notify: restart datadog-agent-win +- name: Ensure datadog-trace-agent and datadog-process-agent are not disabled + win_service: + name: "{{ item }}" + start_mode: manual + when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode + with_list: + - datadog-trace-agent + - datadog-process-agent + - name: Create system-probe configuration file win_template: src: system-probe.yaml.j2 @@ -63,15 +72,16 @@ start_mode: auto when: not datadog_skip_running_check and datadog_enabled and not ansible_check_mode -- name: Ensure datadog-agent is not running +- name: Ensure datadog-agent is disabled win_service: name: "{{ item }}" state: stopped + start_mode: disabled when: not datadog_skip_running_check and not datadog_enabled with_list: - - datadogagent - - datadog-process-agent - datadog-trace-agent + - datadog-process-agent + - datadogagent - name: Create installation information file template: diff --git a/tasks/main.yml b/tasks/main.yml index 9a6c700b..93a104d7 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -5,6 +5,9 @@ - name: Check if OS is supported include_tasks: os-check.yml +- name: Resolve datadog_tracked_checks later to defend against variable presidence issues arising from dynamically included null datadog_checks + include_tasks: sanitize-checks.yml + - name: Set Facts for Datadog Agent Major Version include_tasks: set-parse-version.yml diff --git a/tasks/sanitize-checks.yml b/tasks/sanitize-checks.yml new file mode 100644 index 00000000..1778722a --- /dev/null +++ b/tasks/sanitize-checks.yml @@ -0,0 +1,8 @@ +- name: Defend against defined but null datadog_checks variable + set_fact: + datadog_checks: "{{ datadog_checks | default({}, true) }}" + +- name: Resolve datadog_tracked_checks + set_fact: + datadog_tracked_checks: "{{ datadog_checks | list + datadog_additional_checks | default([], true) }}" +