Sha256: 182cf26ea86b4eb8908869d9dafe7a4b907ae767a578bc75a64dae592ca0cb36

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 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 cloudname', '--name name', 'Start cloud by this name')    { |c| optioner.cloudname c }
  opts.on('-p', '--slave', 'Provision slave (default: false)')    { optioner.provision_slave true }
  opts.on('-i num', '--id num', 'Instance num to provision')    { |i| optioner.instance_number i }
end

o.loaded_clouds.each do |cloud|

  with_cloud(cloud) do

    instance_num = instance_number.to_i if instance_number
    
    if instance_num
      @instance = get_instance_by_number( instance_num )
      instance_num == 0 ? Provisioner.provision_master(self, testing) : Provisioner.provision_slave(@instance, self, testing)
      Provisioner.process_clean_reconfigure_for!(@instance, self, testing)
    else
      if provision_slave
        vputs "Provisioning slaves"
        Provisioner.provision_slaves(self, testing)
      else
        vputs "Provisioning master"
        (verbose || testing) ? Provisioner.provision_master(self, testing) : hide_output { Provisioner.provision_master(self, testing) }
      end
    end
    
    clear_base_directory unless testing
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
auser-poolparty-0.2.76 bin/cloud-provision
auser-poolparty-0.2.77 bin/cloud-provision
auser-poolparty-0.2.78 bin/cloud-provision
auser-poolparty-0.2.79 bin/cloud-provision