Sha256: b107598d57b8b0ace7962f1241a2d648d5711ae22474657048cea92542a22bf8

Contents?: true

Size: 1.5 KB

Versions: 6

Compression:

Stored size: 1.5 KB

Contents

#!/usr/bin/env ruby
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
require "poolparty"
require "poolpartycl"

o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
  opts.on('-n name', '--name name', 'Update hosts for local pool named [name]')    { |p| optioner.cloudname p }
end

o.loaded_clouds.each do |cloud|
  with_cloud(cloud) do
    vputs "Cloud: #{name}"
    
    new_hosts_listing = returning Array.new do |arr|
      
      puts list_of_running_instances
      
      list_of_running_instances.each do |ri|
        vputs ri.hosts_file_listing_for(self)
        arr << ri.hosts_file_listing_for(self)
      end
      other_clouds.each do |other|
        other.list_of_running_instances.each do |ri|
          vputs ri.hosts_file_listing_for(self)
          arr << ri.hosts_file_listing_for(self)
        end
      end
    end.join("\n")
    
    if testing
      puts new_hosts_listing
    else
      new_hosts_file = "#{Default.manifest_path}/classes/hosts.pp"
      
      arr = returning Array.new do |arr|
        new_hosts_listing.split(/\n/).each do |line|
          parts = line.split(/\t/).map {|a| a.chomp }
          ip,hostname,aliases = parts[0], parts[1], parts[2..-1]
          vputs "ip: #{ip} for #{hostname} as #{aliases}"
          h = PoolParty::Resources::Host.new(:name => hostname, :ip => Resolv::DNS.new.getaddress(ip).to_s, :alias => aliases)
          arr << h.to_string
        end
      end
      
      ::File.open(new_hosts_file, "w+") {|f| f << arr.join("\n") }
    end
    
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
auser-poolparty-1.1.1 bin/server-update-hosts
auser-poolparty-1.1.3 bin/server-update-hosts
auser-poolparty-1.1.4 bin/server-update-hosts
auser-poolparty-1.1.5 bin/server-update-hosts
fairchild-poolparty-1.1.3 bin/server-update-hosts
fairchild-poolparty-1.1.4 bin/server-update-hosts