Skip to content

Commit f84dd07

Browse files
author
Slavek Kabrda
authored
Fix installation of newer pinned version by DNF (#429)
1 parent a43754c commit f84dd07

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

tasks/parse-version.yml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,22 +35,27 @@
3535
set_fact:
3636
datadog_agent_major_version: "{{ datadog_major }}"
3737

38+
- name: Set helper variables
39+
set_fact:
40+
datadog_agent_linux_version: "{{ datadog_epoch }}:{{ datadog_major }}.{{ datadog_minor }}.{{ datadog_bugfix }}{{ datadog_suffix }}-{{ datadog_release }}"
41+
datadog_rpm_version_finding_cmd: "rpm -q --qf '%{EPOCH}:%{VERSION}-%{RELEASE}' {{ datadog_agent_flavor }}"
42+
3843
- name: Set OS-specific versions
3944
# NOTE: if changing these, make sure the format correspond with values in datadog_version_finding_cmds below
4045
set_fact:
41-
datadog_agent_debian_version: "{{ datadog_epoch }}:{{ datadog_major }}.{{ datadog_minor }}.{{ datadog_bugfix }}{{ datadog_suffix }}-{{ datadog_release }}"
42-
datadog_agent_redhat_version: "{{ datadog_major }}.{{ datadog_minor }}.{{ datadog_bugfix }}{{ datadog_suffix }}-{{ datadog_release }}"
43-
datadog_agent_suse_version: "{{ datadog_epoch }}:{{ datadog_major }}.{{ datadog_minor }}.{{ datadog_bugfix }}{{ datadog_suffix }}-{{ datadog_release }}"
46+
datadog_agent_debian_version: "{{ datadog_agent_linux_version }}"
47+
datadog_agent_redhat_version: "{{ datadog_agent_linux_version }}"
48+
datadog_agent_suse_version: "{{ datadog_agent_linux_version }}"
4449
datadog_agent_windows_version: "{{ datadog_major }}.{{ datadog_minor }}.{{ datadog_bugfix }}{{ datadog_suffix }}"
4550

4651
- name: Construct commands to find Agent version
4752
set_fact:
4853
datadog_version_finding_cmds:
4954
Debian: "dpkg -s {{ datadog_agent_flavor }} | grep '^Version:' | awk '{print $2}'"
50-
RedHat: "rpm -q --qf '%{VERSION}-%{RELEASE}' {{ datadog_agent_flavor }}"
51-
Rocky: "rpm -q --qf '%{VERSION}-%{RELEASE}' {{ datadog_agent_flavor }}"
52-
AlmaLinux: "rpm -q --qf '%{VERSION}-%{RELEASE}' {{ datadog_agent_flavor }}"
53-
Suse: "rpm -q --qf '%{EPOCH}:%{VERSION}-%{RELEASE}' {{ datadog_agent_flavor }}"
55+
RedHat: "{{ datadog_rpm_version_finding_cmd }}"
56+
Rocky: "{{ datadog_rpm_version_finding_cmd }}"
57+
AlmaLinux: "{{ datadog_rpm_version_finding_cmd }}"
58+
Suse: "{{ datadog_rpm_version_finding_cmd }}"
5459

5560
- name: Create OS-specific version dict
5661
set_fact:

tasks/pkg-redhat/install-pinned.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111

1212
- name: Install pinned datadog-agent package (yum)
1313
yum:
14-
name: "{{ datadog_agent_flavor }}-{{ datadog_agent_redhat_version }}"
14+
# We have to add architecture, because yum only understands epoch when architecture is also specified
15+
name: "{{ datadog_agent_flavor }}-{{ datadog_agent_redhat_version }}.{{ ansible_facts.architecture }}"
1516
update_cache: yes
1617
state: present
1718
allow_downgrade: "{{ datadog_agent_allow_downgrade }}"

0 commit comments

Comments
 (0)