Skip to content

Commit 07e4e55

Browse files
Merge pull request #92 from ernestas-poskus/run_linter
Run ansible-lint and yamllint
2 parents d955021 + 0db6657 commit 07e4e55

12 files changed

+63
-16
lines changed

.travis.yml

+3
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ script:
5555
# Test role.
5656
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm ansible-playbook /etc/ansible/roles/role_under_test/tests/test.yml'
5757

58+
# Lint role.
59+
- 'sudo docker exec --tty "$(cat ${container_id})" env TERM=xterm bash /etc/ansible/roles/role_under_test/lint /etc/ansible/roles/role_under_test'
60+
5861
# View container logs
5962
- 'sudo docker logs "$(cat ${container_id})"'
6063

handlers/main.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
# handlers file for ansible-prometheus
33

44
- name: reload daemon
5-
command: systemctl daemon-reload
5+
systemd:
6+
daemon_reload: yes
67

78
- name: restart prometheus
89
service: name=prometheus state=restarted enabled=yes

lint

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/bin/bash
2+
path=${1:-.}
3+
4+
python_path="$(python -m site --user-base)/bin"
5+
echo "Python pip bin's path: $python_path"
6+
7+
pip install yamllint --user
8+
pip install ansible-lint --user
9+
10+
yamllint_file="/tmp/yamllint.yaml"
11+
12+
curl https://raw.githubusercontent.com/ansible/galaxy/devel/galaxy/importer/linters/yamllint.yaml -o "$yamllint_file"
13+
"$python_path/yamllint" -s -c "$yamllint_file" "$path" && "$python_path/ansible-lint" "$path"

meta/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ galaxy_info:
55

66
license: BSD
77

8-
min_ansible_version: 2.1
8+
min_ansible_version: 2.4
99

1010
platforms:
1111
- name: EL

tasks/install-alert_manager.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'alertmanager.yml'
1+
- name: Include alert manager variables
2+
include_vars: 'alertmanager.yml'
23

34
- name: Creating alert manager directories
45
file:
@@ -22,15 +23,15 @@
2223
group: "{{ prometheus_group }}"
2324
copy: no
2425
creates: "{{ prometheus_install_dir }}/{{ prometheus_alert_manager_archive }}"
25-
ignore_errors: "{{ansible_check_mode}}"
26+
ignore_errors: "{{ ansible_check_mode }}"
2627

2728
- name: Copy alert manager config
2829
template:
2930
src: alertmanager.yml.j2
3031
dest: "{{ prometheus_alert_manager_config_dir }}/alertmanager.yml"
3132
owner: "{{ prometheus_owner }}"
3233
group: "{{ prometheus_group }}"
33-
validate: "{{ prometheus_install_dir }}/{{ prometheus_alert_manager_archive }}/amtool check-config %s --alertmanager.url={% if prometheus_alert_manager_web__external_url is not none %}{{ prometheus_alert_manager_web__external_url }}{% else %}'http://127.0.0.1:9093'{% endif %}"
34+
validate: "{{ prometheus_install_dir }}/{{ prometheus_alert_manager_archive }}/amtool check-config %s --alertmanager.url={{ _alert_manager_validate_url }}"
3435
notify:
3536
restart alertmanager
3637

tasks/install-blackbox_exporter.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'blackboxexporter.yml'
1+
- name: Include blackbox exporter variables
2+
include_vars: 'blackboxexporter.yml'
23

34
- name: Creating blackbox exporter directories
45
file:
@@ -19,7 +20,7 @@
1920
group: "{{ prometheus_group }}"
2021
copy: no
2122
creates: "{{ prometheus_install_dir }}/{{ prometheus_blackbox_exporter_archive }}"
22-
ignore_errors: "{{ansible_check_mode}}"
23+
ignore_errors: "{{ ansible_check_mode }}"
2324

2425
- name: Copy blackbox exporter config
2526
template:
@@ -35,7 +36,7 @@
3536
path: "{{ prometheus_install_dir }}/{{ prometheus_blackbox_exporter_archive }}/blackbox_exporter"
3637
capability: cap_net_raw+ep
3738
state: present
38-
ignore_errors: "{{ansible_check_mode}}"
39+
ignore_errors: "{{ ansible_check_mode }}"
3940
notify:
4041
- reload blackboxexporter
4142

tasks/install-node_exporter.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'nodeexporter.yml'
1+
- name: Include node exporter variables
2+
include_vars: 'nodeexporter.yml'
23

34
- name: Download and extract Prometheus node exporter tarball
45
unarchive:
@@ -8,7 +9,7 @@
89
group: "{{ prometheus_group }}"
910
copy: no
1011
creates: "{{ prometheus_install_dir }}/{{ prometheus_node_exporter_archive }}"
11-
ignore_errors: "{{ansible_check_mode}}"
12+
ignore_errors: "{{ ansible_check_mode }}"
1213

1314
- name: Install Prometheus node exporter systemd service
1415
template:

tasks/install-prometheus.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'prometheus.yml'
1+
- name: Include prometheus variables
2+
include_vars: 'prometheus.yml'
23

34
- name: Creating Prometheus directories
45
file:
@@ -21,7 +22,7 @@
2122
group: "{{ prometheus_group }}"
2223
copy: no
2324
creates: "{{ prometheus_install_dir }}/{{ prometheus_archive }}"
24-
ignore_errors: "{{ansible_check_mode}}"
25+
ignore_errors: "{{ ansible_check_mode }}"
2526

2627
- name: Copy Prometheus config
2728
template:

tasks/install-push_gateway.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'pushgateway.yml'
1+
- name: Include pushgateway variables
2+
include_vars: 'pushgateway.yml'
23

34
- name: Download and extract Prometheus push gateway tarball
45
unarchive:
@@ -8,7 +9,7 @@
89
group: "{{ prometheus_group }}"
910
copy: no
1011
creates: "{{ prometheus_install_dir }}/{{ prometheus_push_gateway_archive }}"
11-
ignore_errors: "{{ansible_check_mode}}"
12+
ignore_errors: "{{ ansible_check_mode }}"
1213

1314
- name: Install Prometheus push gateway systemd service
1415
template:

tasks/install-snmp_exporter.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
- include_vars: 'snmpexporter.yml'
1+
- name: Include snmp exporter variables
2+
include_vars: 'snmpexporter.yml'
23

34
- name: Creating snmp exporter directories
45
file:
@@ -19,7 +20,7 @@
1920
group: "{{ prometheus_group }}"
2021
copy: no
2122
creates: "{{ prometheus_install_dir }}/{{ prometheus_snmp_exporter_archive }}"
22-
ignore_errors: "{{ansible_check_mode}}"
23+
ignore_errors: "{{ ansible_check_mode }}"
2324

2425
- name: Copy snmp exporter config
2526
copy:

vars/alertmanager.yml

+3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
_alert_manager_validate_url:
2+
"{% if prometheus_alert_manager_web__external_url is not none %}{{ prometheus_alert_manager_web__external_url }}{% else %}'http://127.0.0.1:9093'{% endif %}"
3+
14
############################################################
25
# Auto generated
36
############################################################

yamllint.yaml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
# Based on ansible-lint config
3+
extends: default
4+
5+
rules:
6+
braces: {max-spaces-inside: 1, level: error}
7+
brackets: {max-spaces-inside: 1, level: error}
8+
colons: {max-spaces-after: -1, level: error}
9+
commas: {max-spaces-after: -1, level: error}
10+
comments: disable
11+
comments-indentation: disable
12+
document-start: disable
13+
empty-lines: {max: 3, level: error}
14+
hyphens: {level: error}
15+
indentation: disable
16+
key-duplicates: enable
17+
line-length: disable
18+
new-line-at-end-of-file: disable
19+
new-lines: {type: unix}
20+
trailing-spaces: disable
21+
truthy: disable

0 commit comments

Comments
 (0)