From 63480474c6bbce238a5e408ba517a38e0ffc6532 Mon Sep 17 00:00:00 2001 From: Tollef Fog Heen Date: Thu, 1 Feb 2018 19:51:03 +0100 Subject: [PATCH] Pull list of hosts to health check from hiera Instead of hard coding the set of hosts that Fastly checks, put the information in hiera. --- hieradata/common.yaml | 3 +++ modules/roles/manifests/debian_mirror.pp | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/hieradata/common.yaml b/hieradata/common.yaml index a4a54abcf..5538e58f1 100644 --- a/hieradata/common.yaml +++ b/hieradata/common.yaml @@ -245,6 +245,7 @@ roles: - '130.89.148.12:80' - '[2001:610:1908:b000::148:12]:80' - '[2001:67c:2564:a119::148:12]:80' + fastly-backend: false - mirror-bytemark.debian.org: service-hostname: bytemark.debian.backend.mirrors.debian.org listen-addresses: @@ -261,10 +262,12 @@ roles: listen-addresses: - '217.196.149.232:80' - '[2a02:16a8:dc41:100::232]:80' + fastly-backend: false - mirror-isc.debian.org: listen-addresses: - '149.20.4.15:80' - '[2001:4f8:1:c::15]:80' + fastly-backend: false debian_mirror_onion: - klecker.debian.org - mirror-bytemark.debian.org diff --git a/modules/roles/manifests/debian_mirror.pp b/modules/roles/manifests/debian_mirror.pp index c3e2ab1c3..6e563aa34 100644 --- a/modules/roles/manifests/debian_mirror.pp +++ b/modules/roles/manifests/debian_mirror.pp @@ -37,8 +37,12 @@ class roles::debian_mirror { } } + $mirrors = hiera_hash('roles::debian_mirror',[]) + $fastly_mirrors = $mirrors.filter |$h| { $h[1]['fastly-backend'] } + $hosts_to_check = $fastly_mirrors.map | $h| { $h1['service-hostname'] } + roles::mirror_health { 'ftp': - check_hosts => ['accumu.debian.backend.mirrors.debian.org', 'bytemark.debian.backend.mirrors.debian.org', 'conova.debian.backend.mirrors.debian.org', 'skroutz.debian.backend.mirrors.debian.org'], + check_hosts => $hosts_to_check, check_service => 'ftp', url => 'http://debian.backend.mirrors.debian.org/debian/dists/sid/Release', health_url => 'http://debian.backend.mirrors.debian.org/_health', -- 2.20.1