Sha256: ede634e56aec569927006e7f0a389b7ed36e3951277a1c93e556cddb7a4476e2

Contents?: true

Size: 1.37 KB

Versions: 3

Compression:

Stored size: 1.37 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})"
      instance_num == 0 ? Provisioner.provision_master(self, testing) : 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

3 entries across 3 versions & 1 rubygems

Version Path
auser-poolparty-0.2.40 bin/cloud-provision
auser-poolparty-0.2.41 bin/cloud-provision
auser-poolparty-0.2.42 bin/cloud-provision