Skip to content

Commit adb996e

Browse files
authored
[FA] Process apm list again (#600)
* Move apm libraries processing * Debug * Fix loop condition * Fix * Temptative fix * Temptative fix * Cleanup * Fix * Fix * Fix * Fix * Fix linter * Fix * Fix * Add default loo * Add default loop * Fix default value * Fix default value * Fix default value * Fix default value * Fix default value * Fix default value * Fix default value
1 parent b1a7c24 commit adb996e

File tree

5 files changed

+19
-9
lines changed

5 files changed

+19
-9
lines changed

tasks/installer-setup.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@
8686
- not datadog_installer_bootstrap_result.failed
8787
loop: "{{ datadog_installer_owned_apm_packages.results }}"
8888

89+
- name: Update version number for APM libraries not owned by the installer
90+
set_fact:
91+
pre_processed_datadog_apm_libraries: "{{ pre_processed_datadog_apm_libraries | default([], true) |
92+
difference([(item.item | regex_replace('[:]latest', ''))]) }}"
93+
loop: "{{ datadog_installer_owned_apm_packages.results }}"
94+
when:
95+
- item.rc == 0
96+
- not datadog_installer_bootstrap_result.failed
97+
8998
- name: Stop duration measurements
9099
command: "date +%s%N"
91100
register: datadog_installer_stop_time

tasks/pkg-debian/install-apm-inject.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,16 @@
33
set_fact:
44
agent_dd_apm_install_pkgs: "{{ (agent_dd_apm_install_pkgs |
55
default([], true)) + ['datadog-apm-library-' + (item | regex_replace('[:]', '='))] }}"
6-
loop: "{{ pre_processed_datadog_apm_libraries }}"
6+
loop: "{{ pre_processed_datadog_apm_libraries | default([], true) }}"
77
when: not ansible_check_mode
88

99
- name: Unpin tracer libraries for install
1010
dpkg_selections:
1111
name: "{{ item }}"
1212
selection: install
13-
loop: "{{ agent_dd_apm_install_pkgs | reject('match', '^.*=.*$') | list }}"
13+
loop: "{{ agent_dd_apm_install_pkgs | default([], true) | reject('match', '^.*=.*$') | list }}"
1414
failed_when: false
15+
when: not ansible_check_mode
1516

1617
- name: Install APM Inject Library
1718
apt:
@@ -25,15 +26,15 @@
2526
apt:
2627
name: "{{ (item | default([], true)) }}"
2728
state: "{{ 'present' if '=' in item else 'latest' }}" # noqa package-latest
28-
loop: "{{ agent_dd_apm_install_pkgs }}"
29+
loop: "{{ agent_dd_apm_install_pkgs | default([], true) }}"
2930
when: not ansible_check_mode
3031

3132
- name: Show installed tracers
3233
debug:
33-
msg: "Installed tracers: {{ agent_dd_apm_install_pkgs }}"
34+
msg: "Installed tracers: {{ agent_dd_apm_install_pkgs | default([], true) }}"
3435

3536
- name: Prevent libraries from being upgraded
3637
dpkg_selections:
3738
name: "{{ item.split('=')[0] }}"
3839
selection: hold
39-
loop: "{{ agent_dd_apm_install_pkgs | select('match', '^.*=.*$') | list }}"
40+
loop: "{{ agent_dd_apm_install_pkgs | default([], true) | select('match', '^.*=.*$') | list }}"

tasks/pkg-redhat.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
set_fact:
120120
agent_dd_apm_install_pkgs: "{{ (agent_dd_apm_install_pkgs |
121121
default([], true)) + ['datadog-apm-library-' + (item | regex_replace('[:]', '-'))] }}"
122-
loop: "{{ pre_processed_datadog_apm_libraries }}"
122+
loop: "{{ pre_processed_datadog_apm_libraries | default([], true) }}"
123123
when: not ansible_check_mode and datadog_apm_instrumentation_enabled | length > 0
124124

125125
- name: Set versioned includepkgs variable

tasks/pkg-redhat/install-apm-inject.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
set_fact:
55
agent_dd_apm_install_pkgs: "{{ (agent_dd_apm_install_pkgs |
66
default([], true)) + ['datadog-apm-library-' + (item | regex_replace('[:]', '-'))] }}"
7-
loop: "{{ pre_processed_datadog_apm_libraries }}"
7+
loop: "{{ pre_processed_datadog_apm_libraries | default([], true) }}"
88
when: not ansible_check_mode and ansible_pkg_mgr == "dnf"
99

1010
- name: Install APM inject library (dnf)

tasks/telemetry.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"{{ telemetry_payload | default({}) |
1515
combine({telemetry_library_key[item.split(':')[0]]:
1616
item.split(':')[1] | default('default')}) }}"
17-
loop: "{{ pre_processed_datadog_apm_libraries }}"
17+
loop: "{{ pre_processed_datadog_apm_libraries | default([], true) }}"
1818

1919
- name: Build telemetry request
2020
set_fact:
@@ -27,7 +27,7 @@
2727
event_name: 'agent.injection.success'
2828
tags: "{{ {'install_time': ansible_date_time.epoch | int,
2929
'install_type': 'ansible'} |
30-
combine(telemetry_payload) }}"
30+
combine(telemetry_payload | default({})) }}"
3131

3232
- name: Send installation telemetry to Datadog
3333
uri:

0 commit comments

Comments
 (0)