X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Ftemplates%2Fbuildd_master_wb-authorized_keys.erb;h=ff9eebededc6931c7153652797480c406d579d46;hb=5ff8effb6bd628012063850038b74191d34a73c6;hp=67267c9348d55dc23a0d78301888d35a36e082f5;hpb=358a56bc09139e443b6d7fc9e5578041908c147c;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/templates/buildd_master_wb-authorized_keys.erb b/modules/roles/templates/buildd_master_wb-authorized_keys.erb index 67267c934..ff9eebede 100644 --- a/modules/roles/templates/buildd_master_wb-authorized_keys.erb +++ b/modules/roles/templates/buildd_master_wb-authorized_keys.erb @@ -4,35 +4,36 @@ <%= def getbuilddkey(host) - key = nil - begin - facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read) - return facts.values['buildd_key'] - rescue Exception => e - end - return key + key = nil + begin + facts = YAML.load(File.open("/var/lib/puppet/yaml/facts/#{host}.yaml").read) + return facts.values['buildd_key'] + rescue Exception => e + end + return key end allnodeinfo = scope.lookupvar('site::allnodeinfo') -roles = scope.lookupvar('site::roles') +buildds = [] -mirrors = [] -roles['buildd'].each do |node| - key = getbuilddkey(node) - mirrors << { 'node' => node, 'addr' => allnodeinfo[node]['ipHostNumber'], 'key' => key} +allnodeinfo.keys.sort.each do |node| + next unless scope.lookupvar('site::allnodeinfo')[node]['purpose'] + next unless scope.lookupvar('site::allnodeinfo')[node]['purpose'].include?('buildd') + key = getbuilddkey(node) + buildds << { 'node' => node, 'addr' => allnodeinfo[node]['ipHostNumber'], 'key' => key} end lines = [] -for m in mirrors do - lines << '# ' + m['node'] - if m['key'].nil? - lines << "# no key for node" - else - lines << "command=\"/srv/wanna-build/bin/wanna-build --ssh-wrapper #{m['node']}\"," + - 'no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-user-rc,' + - 'from="' + m['addr'].join(',') + '" ' + - m['key'] - end +for m in buildds do + lines << '# ' + m['node'] + if m['key'].nil? + lines << "## no key for node" + else + lines << "command=\"/srv/wanna-build/bin/wanna-build --ssh-wrapper #{m['node'].split('.')[0]}\"," + + 'restrict,' + + 'from="' + m['addr'].join(',') + '" ' + + m['key'] + end end lines.join("\n")