Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,9 @@ datadog_config_ex:

`pre_tasks` and `post_tasks` folders allow to run user defined tasks. `pre_tasks` for tasks to be executed before executing any tasks from the Datadog role and `post_tasks` for those to be executed after.

All installation tasks on all supported platforms register a `datadog_agent_install` variable that can then
be used in `post_tasks` to check the installation task's result: `datadog_agent_install.changed` is set to `true` if the installation task did install something, and `false` otherwise (for instance if the requested version was already installed).

## Known Issues and Workarounds

### dirmngr
Expand Down
19 changes: 4 additions & 15 deletions tasks/pkg-debian.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,19 +76,8 @@
update_cache: yes
when: (datadog_apt_repo | length > 0) and (not ansible_check_mode)

- name: Ensure pinned version of Datadog agent is installed
apt:
name: "datadog-agent={{ datadog_agent_debian_version }}"
state: present
force: "{{ datadog_agent_allow_downgrade }}"
update_cache: yes
cache_valid_time: "{{ datadog_apt_cache_valid_time }}"
when: (datadog_agent_debian_version is defined) and (not ansible_check_mode)
- include_tasks: pkg-debian/install-pinned.yml
when: datadog_agent_debian_version is defined

- name: Ensure Datadog agent is installed
apt:
name: datadog-agent
state: latest # noqa 403
update_cache: yes
cache_valid_time: "{{ datadog_apt_cache_valid_time }}"
when: (datadog_agent_debian_version is not defined) and (not ansible_check_mode)
- include_tasks: pkg-debian/install-latest.yml
when: datadog_agent_debian_version is not defined
9 changes: 9 additions & 0 deletions tasks/pkg-debian/install-latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
- name: Install latest datadog-agent package
apt:
name: datadog-agent
state: latest # noqa 403
update_cache: yes
cache_valid_time: "{{ datadog_apt_cache_valid_time }}"
register: datadog_agent_install
when: not ansible_check_mode
10 changes: 10 additions & 0 deletions tasks/pkg-debian/install-pinned.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
- name: Install pinned datadog-agent package
apt:
name: "datadog-agent={{ datadog_agent_debian_version }}"
state: present
force: "{{ datadog_agent_allow_downgrade }}"
update_cache: yes
cache_valid_time: "{{ datadog_apt_cache_valid_time }}"
register: datadog_agent_install
when: not ansible_check_mode
17 changes: 4 additions & 13 deletions tasks/pkg-redhat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,8 @@
state: present
when: (datadog_yum_repo | length > 0) and (not ansible_check_mode)

- name: Install pinned datadog-agent package
yum:
name: "datadog-agent-{{ datadog_agent_redhat_version }}"
state: present
allow_downgrade: "{{ datadog_agent_allow_downgrade }}"
when: (datadog_agent_redhat_version is defined) and (not ansible_check_mode)
notify: restart datadog-agent
- include_tasks: pkg-redhat/install-pinned.yml
when: datadog_agent_redhat_version is defined

- name: Install latest datadog-agent package
yum:
name: datadog-agent
update_cache: yes
state: latest # noqa 403
when: (datadog_agent_redhat_version is not defined) and (not ansible_check_mode)
- include_tasks: pkg-redhat/install-latest.yml
when: datadog_agent_redhat_version is not defined
9 changes: 9 additions & 0 deletions tasks/pkg-redhat/install-latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
- name: Install latest datadog-agent package
yum:
name: datadog-agent
update_cache: yes
state: latest # noqa 403
register: datadog_agent_install
when: not ansible_check_mode
notify: restart datadog-agent
9 changes: 9 additions & 0 deletions tasks/pkg-redhat/install-pinned.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
- name: Install pinned datadog-agent package
yum:
name: "datadog-agent-{{ datadog_agent_redhat_version }}"
state: present
allow_downgrade: "{{ datadog_agent_allow_downgrade }}"
register: datadog_agent_install
when: not ansible_check_mode
notify: restart datadog-agent
17 changes: 4 additions & 13 deletions tasks/pkg-suse.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,17 +67,8 @@
args:
warn: false # silence warning about using zypper directly

- name: Install pinned datadog-agent package
zypper:
name: "datadog-agent={{ datadog_agent_suse_version }}"
state: present
oldpackage: "{{ datadog_agent_allow_downgrade }}"
when: (datadog_agent_suse_version is defined) and (not ansible_check_mode)
notify: restart datadog-agent
- include_tasks: pkg-suse/install-pinned.yml
when: datadog_agent_suse_version is defined

- name: Install latest datadog-agent package
zypper:
name: datadog-agent
state: latest # noqa 403
when: (datadog_agent_suse_version is not defined) and (not ansible_check_mode)
notify: restart datadog-agent
- include_tasks: pkg-suse/install-latest.yml
when: datadog_agent_suse_version is not defined
8 changes: 8 additions & 0 deletions tasks/pkg-suse/install-latest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
- name: Ensure Datadog agent is installed
zypper:
name: datadog-agent
state: latest # noqa 403
register: datadog_agent_install
when: not ansible_check_mode
notify: restart datadog-agent
9 changes: 9 additions & 0 deletions tasks/pkg-suse/install-pinned.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
- name: Install pinned datadog-agent package
zypper:
name: "datadog-agent={{ datadog_agent_suse_version }}"
state: present
oldpackage: "{{ datadog_agent_allow_downgrade }}"
register: datadog_agent_install
when: not ansible_check_mode
notify: restart datadog-agent
2 changes: 1 addition & 1 deletion tasks/pkg-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,11 @@
dest: '%TEMP%\ddagent.msi'
register: download_msi_result


- name: Install downloaded agent
win_package:
path: "{{ download_msi_result.dest }}"
arguments: "{{ win_install_args }}"
register: datadog_agent_install
when: not ansible_check_mode

- name: Delete temporary msi
Expand Down