Skip to content

Commit 380b44c

Browse files
brendanlonghush-hush
authored andcommitted
Support Agent v6 on yum-based platforms
- Add the DataDog yum beta repo - Fix some places where we don't update or restart the agent - Create /etc/datadog
1 parent bc66f14 commit 380b44c

File tree

6 files changed

+37
-14
lines changed

6 files changed

+37
-14
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ install:
66
- pip install ansible-lint
77

88
script:
9-
- ansible-lint -v $(find tests -name *yml) -x ANSIBLE0010
9+
- ansible-lint -v $(find tests -name *yml) -x ANSIBLE0006,ANSIBLE0010

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
CHANGELOG
22
=========
33

4+
# 1.5.0 / 2018-01-05
5+
6+
* [FEATURE] Add Agent6 (beta) support on RPM-based distros. See [#90][] (thanks [@brendanlong][])
7+
48
# 1.4.0 / 2017-10-30
59

610
* [FEATURE] Allow specifying custom repo. See [#80][]

defaults/main.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ datadog_agent_allow_downgrade: no
4545
# * set 'datadog_agent_allow_downgrade' to yes
4646
datadog_agent6: no
4747

48-
# beta APT repo where datadog-agent v6 packages are available
48+
# beta repos where datadog-agent v6 packages are available
4949
datadog_agent6_apt_repo: "deb http://apt.datadoghq.com beta main"
50+
datadog_agent6_yum_repo: "https://yum.datadoghq.com/beta/{{ ansible_userspace_architecture }}/"
5051

5152
### End of Beta-Agent6-only experimental attributes ###
5253
########################################################################

tasks/agent6.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
---
2-
- name: Create main Datadog agent yaml configuration file (beta)
2+
- name: Create /etc/datadog-agent
3+
file:
4+
dest: /etc/datadog-agent
5+
state: directory
6+
7+
- name: Create main Datadog agant yaml configuration file (beta)
38
template:
49
src: datadog.yaml.j2
510
dest: /etc/datadog-agent/datadog.yaml

tasks/pkg-redhat.yml

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,36 @@
88
- name: Import new RPM key
99
rpm_key: key=/tmp/DATADOG_RPM_KEY_E09422B3.public state=present
1010

11-
- name: Copy repo file into place
12-
template: src=datadog.repo.j2 dest=/etc/yum.repos.d/datadog.repo owner=root group=root mode=0644
11+
- name: Install DataDog yum repo
12+
yum_repository:
13+
name: datadog
14+
description: Datadog, Inc.
15+
baseurl: "{{ datadog_yum_repo }}"
16+
enabled: yes
17+
gpgcheck: yes
18+
gpgkey: "{{ datadog_yum_gpgkey }}"
19+
state: "{% if datadog_agent6 %}absent{% else %}present{% endif %}"
20+
21+
- name: Install DataDog yum repo (beta)
22+
yum_repository:
23+
name: datadog-beta
24+
description: Datadog, Inc.
25+
baseurl: "{{ datadog_agent6_yum_repo }}"
26+
enabled: yes
27+
gpgcheck: yes
28+
gpgkey: "{{ datadog_yum_gpgkey }}"
29+
state: "{% if datadog_agent6 %}present{% else %}absent{% endif %}"
1330

1431
- name: Install pinned datadog-agent package
1532
yum:
1633
name: datadog-agent-{{ datadog_agent_version }}
1734
state: present
1835
when: datadog_agent_version != ""
36+
notify: restart datadog-agent
1937

38+
# Using `yum` directly to work around an Ansible bug:
39+
# https://github.com/ansible/ansible/issues/20608
2040
- name: Install latest datadog-agent package
21-
yum:
22-
name: datadog-agent
23-
state: latest
41+
command: yum install -y datadog-agent
2442
when: datadog_agent_version == ""
43+
notify: restart datadog-agent

templates/datadog.repo.j2

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)