Refactor hiera lookup for security mirrors slightly
[mirror/dsa-puppet.git] / modules / roles / manifests / security_mirror.pp
index 9122ea2..472a145 100644 (file)
@@ -36,12 +36,12 @@ class roles::security_mirror {
                content => template('roles/security_mirror/security.debian.org.erb')
        }
 
-       $mirrors = hiera_hash('roles::security_mirror',[])
-       notify { "Mirrors: ${mirrors}": }
-       $fastly_mirrors = $mirrors.filter |$h| { $h[1]['fastly-backend'] }
-       notify { "Fastly Mirrors: ${fastly_mirrors}": }
-       $hosts_to_check = $fastly_mirrors.map |$h| { $h[1]['service-hostname'] }
-       notify {" Actual hosts to check Mirrors: ${hosts_to_check}": }
+        # roles is a list of hashes, which needs to be unpacked into a regular hash
+        $mirrors = hiera('roles.security_mirror', [])
+        # unpack $mirrors and construct a hash
+        $m2 = Hash($mirrors.map |$h| { $h.map |$k, $v| { [$k, $v] }[0]})
+        $fastly_mirrors = $m2.filter |$h| { $h[1]['fastly-backend'] }
+        $hosts_to_check = $fastly_mirrors.map |$h| { $h[1]['service-hostname'] }
 
         roles::mirror_health { 'security':
                check_hosts   => $hosts_to_check,