| #!/usr/bin/env ruby |
| |
| # |
| # Scaffolding needed to test infrastructure-puppet/modules/vhosts_whimsy/... |
| # preprocess_vhosts.rb puppet macro |
| # |
| |
| $LOAD_PATH.unshift '/srv/whimsy/lib' |
| require 'whimsy/asf' |
| |
| # Allow override of local repo |
| IP = ARGV.shift || ASF::Git['infrastructure-puppet'] |
| |
| module Puppet |
| module Parser |
| module Functions |
| def self.newfunction(*args) |
| end |
| end |
| end |
| end |
| |
| require 'yaml' |
| require "#{IP}/modules/vhosts_whimsy/lib/puppet/parser/functions/preprocess_vhosts.rb" |
| |
| yaml = Dir["#{IP}/data/nodes/whimsy-vm*.apache.org.yaml"]. |
| sort_by {|path| path[/-vm(\d+)/, 1].to_i}.last |
| facts = YAML.load_file(yaml)['vhosts_whimsy::vhosts::vhosts']['whimsy-vm-443'] |
| ldap = ASF::LDAP::RO_HOSTS.join(' ') # to be closer to live site |
| |
| macros = Puppet::Parser::Functions::ApacheVHostMacros.new(facts, ldap) |
| puts macros.result['custom_fragment'] |