Use hiera data for pulling health check data for security hosts
authorTollef Fog Heen <tfheen@err.no>
Thu, 1 Feb 2018 19:25:00 +0000 (20:25 +0100)
committerTollef Fog Heen <tfheen@err.no>
Thu, 1 Feb 2018 19:25:00 +0000 (20:25 +0100)
hieradata/common.yaml
modules/roles/manifests/security_mirror.pp

index 1dbe0ef..deeff31 100644 (file)
@@ -129,11 +129,17 @@ roles:
     - mirror-accumu.debian.org
     - mirror-skroutz.debian.org
     - lobos.debian.org
+        service-hostname: lobos.security.backend.mirrors.debian.org
+        fastly-backend: true
     - santoro.debian.org
     - setoguchi.debian.org
     - sechter.debian.org
     - villa.debian.org
+        service-hostname: villa.security.backend.mirrors.debian.org
+        fastly-backend: true
     - wieck.debian.org
+        service-hostname: wieck.security.backend.mirrors.debian.org
+        fastly-backend: true
   security_mirror_onion:
     - mirror-isc.debian.org
     - mirror-umn.debian.org
index 25af73c..66201aa 100644 (file)
@@ -36,8 +36,12 @@ class roles::security_mirror {
                content => template('roles/security_mirror/security.debian.org.erb')
        }
 
+       $mirrors = hiera_hash('roles::security_mirror',[])
+       $fastly_mirrors = $mirrors.filter |$h| { $h[1]['fastly-backend'] }
+       $hosts_to_check = $fastly_mirrors.map | $h| { $h1['service-hostname'] }
+
         roles::mirror_health { 'security':
-               check_hosts   => hiera('roles.security_mirror'),
+               check_hosts   => $hosts_to_check,
                check_service => 'security',
                url           => 'http://security.backend.mirrors.debian.org/debian/dists/sid/Release',
                health_url    => 'http://security.backend.mirrors.debian.org/_health',