Sha256: 7510fef309dc98bb6a4bec4ff4ac83c2ff80f487627eec88ebc43a5494e94df3

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 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('-s', '--slave', 'Provision slave (default: false)')    { optioner.provision_slave true }
  opts.on('-i num', '--id num', 'Instance num to provision')    { |i| optioner.instance_num i }
end

load_pool(o.spec || Binary.get_existing_spec_location)

include Remote

@clouds = extract_cloud_from_options o

@clouds.each do |cloud|

  with_cloud(cloud, {:verbose => o.verbose, :testing => o.testing, :provision_slave => (o.provision_slave || false), :instance_number => o.instance_num}) do

    instance_num = instance_number.to_i if instance_number
    
    if instance_num
      @instance = get_instance_by_number( instance_num )
      vputs "Provisioning instance: #{@instance.name} (#{instance_num})"
      Provisioner.provision_slave(@instance, self, testing)
    else
      if provision_slave
        vputs "Provisioning slaves"
        Provisioner.provision_slaves(self, testing)
      else
        vputs "Provisioning master"
        provisioning_in_progress
        verbose ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
        provisioning_complete
      end
    end
    
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
auser-poolparty-0.2.38 bin/cloud-provision
auser-poolparty-0.2.39 bin/cloud-provision