Skip to content

Commit 3bf6949

Browse files
authored
Merge pull request #3 from stackhpc/fix/grafana-install
Only enable grafana repos during install
2 parents 27b5757 + 15e615f commit 3bf6949

File tree

2 files changed

+26
-49
lines changed

2 files changed

+26
-49
lines changed

tasks/install.yml

Lines changed: 25 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,48 @@
11
---
22

3-
- block:
4-
- name: Update apt cache
5-
apt:
6-
update_cache: true
7-
register: _pre_update_apt_cache
8-
until: _pre_update_apt_cache is succeeded
9-
when:
10-
- ansible_pkg_mgr == "apt"
113

12-
- name: Install dependencies
13-
package:
14-
name: "{{ grafana_dependencies }}"
15-
state: present
16-
register: _install_dep_packages
17-
until: _install_dep_packages is succeeded
18-
retries: 5
19-
delay: 2
4+
- name: Install dependencies
5+
package:
6+
name: "{{ grafana_dependencies }}"
7+
state: present
8+
register: _install_dep_packages
9+
until: _install_dep_packages is succeeded
10+
retries: 5
11+
delay: 2
2012

2113
- name: Remove conflicting grafana packages
2214
package:
2315
name: grafana-data
2416
state: absent
2517
register: _old_grafana_pkgs
2618

27-
- name: Clean apt cache
28-
command: apt clean
29-
when:
30-
- _old_grafana_pkgs is changed
31-
- ansible_pkg_mgr == "apt"
32-
33-
- name: Add Grafana repository file [RHEL/CentOS]
19+
- name: Add (disabled) Grafana repository file [RHEL/CentOS]
3420
template:
3521
src: "{{ grafana_yum_repo_template }}"
3622
dest: "/etc/yum.repos.d/{{ grafana_yum_repo_template | basename | regex_replace('\\.j2$', '') }}"
3723
force: true
3824
backup: true
3925
when: ansible_pkg_mgr in ['yum', 'dnf']
4026

41-
- block:
42-
- name: Import Grafana GPG signing key [Debian/Ubuntu]
43-
apt_key:
44-
url: "https://packages.grafana.com/gpg.key"
45-
state: present
46-
validate_certs: false
47-
register: _add_apt_key
48-
until: _add_apt_key is succeeded
49-
retries: 5
50-
delay: 2
51-
52-
- name: Add Grafana repository [Debian/Ubuntu]
53-
apt_repository:
54-
repo: deb https://packages.grafana.com/oss/deb stable main
55-
state: present
56-
update_cache: true
57-
register: _update_apt_cache
58-
until: _update_apt_cache is succeeded
59-
retries: 5
60-
delay: 2
61-
when:
62-
- ansible_pkg_mgr == "apt"
63-
environment: "{{ grafana_environment }}"
64-
65-
- name: Install Grafana
27+
# Work around the fact the grafana repos are flaky: only enable them if actually required
28+
- name: Check whether Grafana is installed
29+
# Fails with message below if not installed as repo is disabled
30+
# Otherwise succeeds. No change in either case!
6631
package:
6732
name: "{{ grafana_package }}"
6833
state: "{{ (grafana_version == 'latest') | ternary('latest', 'present') }}"
34+
check_mode: true
35+
register: _existing_install
36+
failed_when:
37+
- _existing_install.rc != 0
38+
- "'No package grafana' not in _existing_install.failures[0]"
39+
40+
- name: Install Grafana package
41+
ansible.builtin.dnf:
42+
name: "{{ grafana_package }}"
43+
state: "{{ (grafana_version == 'latest') | ternary('latest', 'present') }}"
44+
enablerepo: grafana
45+
when: "'No package grafana' in _existing_install.get('failures', [''])[0]"
6946
register: _install_packages
7047
until: _install_packages is succeeded
7148
retries: 5

templates/etc/yum.repos.d/grafana.repo.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
name=grafana
44
baseurl=https://packages.grafana.com/oss/rpm
55
repo_gpgcheck=1
6-
enabled=1
6+
enabled=0
77
gpgcheck=1
88
gpgkey=https://packages.grafana.com/gpg.key
99
sslverify=1

0 commit comments

Comments
 (0)