auser-poolparty 0.2.89 → 0.2.90

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest.txt CHANGED
@@ -54,6 +54,7 @@ bin/server-write-new-nodes
54
54
  config/hoe.rb
55
55
  config/requirements.rb
56
56
  examples/basic.rb
57
+ examples/deploy.rb
57
58
  examples/plugin_without_plugin_directory.rb
58
59
  examples/poolparty.rb
59
60
  generators/poolspec/USAGE
@@ -178,6 +179,7 @@ lib/poolparty/base_packages/poolparty.rb
178
179
  lib/poolparty/base_packages/ruby.rb
179
180
  lib/poolparty/base_packages/runit.rb
180
181
  lib/poolparty/capistrano.rb
182
+ lib/poolparty/capistrano/cloud_tasks.rb
181
183
  lib/poolparty/config/postlaunchmessage.txt
182
184
  lib/poolparty/core/array.rb
183
185
  lib/poolparty/core/class.rb
@@ -209,6 +211,7 @@ lib/poolparty/extra/deployments.rb
209
211
  lib/poolparty/helpers/binary.rb
210
212
  lib/poolparty/helpers/console.rb
211
213
  lib/poolparty/helpers/display.rb
214
+ lib/poolparty/helpers/loading.rb
212
215
  lib/poolparty/helpers/nice_printer.rb
213
216
  lib/poolparty/helpers/optioner.rb
214
217
  lib/poolparty/helpers/ruberl.rb
data/PostInstall.txt CHANGED
@@ -1,4 +1,4 @@
1
- Get ready to jump in the pool, you just installed PoolParty! (Updated at 16:58 12/16/08)
1
+ Get ready to jump in the pool, you just installed PoolParty! (Updated at 13:28 12/18/08)
2
2
 
3
3
  To get started, run the generator:
4
4
 
data/bin/cloud-add-access CHANGED
@@ -10,7 +10,7 @@ end
10
10
 
11
11
  @instance_number = (o.num || 0 ).to_i
12
12
 
13
- if o.unflagged_args.length == 1
13
+ if o.unflagged_args.length > 1
14
14
  @file = o.unflagged_args.pop
15
15
  else
16
16
  puts header("Error")
@@ -24,4 +24,5 @@ EOE
24
24
  vputs "** Building messenger **", o
25
25
  vputs "Running command #{cmd.runnable}", o
26
26
 
27
- out = %x[#{cmd.runnable}]
27
+ beams_not_running = %x[ps aux | grep beam | grep master].nil?
28
+ out = %x[#{cmd.runnable}] if beams_not_running
@@ -0,0 +1,5 @@
1
+ set :keep_releases, 5
2
+
3
+ task :development do
4
+ role :littleye_web, cloud(:littleye_web).ip
5
+ end
@@ -21,7 +21,7 @@ class PoolspecGenerator < RubiGen::Base
21
21
  m.directory ''
22
22
  BASEDIRS.each { |path| m.directory path }
23
23
 
24
- m.template "pool_spec_template.erb", "#{@name}.pool"
24
+ m.template "pool_spec_template.erb", "clouds.pool"
25
25
  # Create stubs
26
26
  # m.template "template.rb", "some_file_after_erb.rb"
27
27
  # m.template_copy_each ["template.rb", "template2.rb"]
data/lib/poolparty.rb CHANGED
@@ -1,8 +1,7 @@
1
- require 'rubygems'
2
-
3
1
  # Load required gems
2
+ $:.unshift("/Users/auser/Development/open-source/ruby/net-ssh/lib")
4
3
  @required_software = Array.new
5
- %w(activesupport ftools logging resolv ruby2ruby digest/sha2 open3).each do |lib|
4
+ %w(rubygems activesupport ftools logging resolv ruby2ruby digest/sha2).each do |lib|
6
5
  begin
7
6
  require lib
8
7
  rescue Exception => e
@@ -55,9 +54,12 @@ module PoolParty
55
54
  def log
56
55
  @logger ||= make_new_logger
57
56
  end
58
-
57
+ def reset!
58
+ $pools = $clouds = $plugins = @describe_instances = nil
59
+ end
59
60
  class PoolParty
60
61
  def initialize(spec)
62
+ reset!
61
63
  Script.inflate(spec) if spec
62
64
  end
63
65
  end
@@ -89,4 +91,6 @@ module PoolParty
89
91
  require file
90
92
  end
91
93
  end
92
- end
94
+ end
95
+
96
+ PoolParty.reset!
@@ -6,8 +6,6 @@ module PoolParty
6
6
  execute_on_master do
7
7
  has_package({:name => "haproxy"})
8
8
 
9
- # Service is required
10
- has_service(:name => "haproxy", :ensures => "running", :hasrestart => true)
11
9
  # Restart sysklogd after we update the haproxy.log
12
10
  has_service(:name => "sysklogd")
13
11
 
@@ -25,7 +23,9 @@ module PoolParty
25
23
  has_line_in_file("SYSLOGD=\"-r\"", "/etc/default/syslogd")
26
24
  has_line_in_file("local0.* /var/log/haproxy.log", "/etc/syslog.conf", {:notify => get_service("sysklogd")})
27
25
 
28
- # has_exec(:name => "reloadhaproxy", :command => "/etc/init.d/haproxy reload", :requires => get_package("haproxy"))
26
+ has_exec(:name => "reloadhaproxy", :command => "/etc/init.d/haproxy reload", :requires => get_package("haproxy"))
27
+ # Service is required
28
+ has_service(:name => "haproxy", :ensures => "running", :hasrestart => true, :notify => get_exec("reloadhaproxy"))
29
29
 
30
30
  # These can also be passed in via hash
31
31
  has_remotefile(:name => "/etc/haproxy.cfg") do
@@ -59,10 +59,11 @@ module PoolParty
59
59
  end
60
60
 
61
61
  # execute_on_node do
62
- has_cron(:name => "node puppetd runner", :user => Base.user, :minute => "*/15") do
62
+ has_cron(:name => "node puppetd runner", :user => Base.user, :minute => "*/10") do
63
63
  requires get_gempackage("poolparty")
64
64
  command "/usr/bin/puppetrunner"
65
65
  end
66
+ has_user(:name => user)
66
67
  # end
67
68
 
68
69
  # end
@@ -1,10 +1,53 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__)))
2
+ require "poolparty"
3
+ require "poolpartycl"
4
+
1
5
  module PoolParty
2
6
  module Capistrano
3
7
 
4
- def set_cloud(cld=nil)
5
- raise unless cld
6
- @cloud = cld
8
+ $cap_clouds = {}
9
+
10
+ def set_poolparty_file(file)
11
+ load_pool file
12
+ end
13
+
14
+ def set_cloud(name)
15
+ cld = PoolParty::Cloud.cloud(name)
16
+ if cld && !cloud_retrieved_already?
17
+ $cap_clouds[name] = cld
18
+ @cloud = cld
19
+ instance_eval <<-EOE
20
+ ssh_options[:keys] = [ '#{cld.full_keypair_basename_path}' ]
21
+ set :user, '#{cld.user}'
22
+ set :username, "#{cld.user}"
23
+ ssh_options[:forward_agent] = true
24
+ EOE
25
+ end
26
+ cld
27
+ end
28
+
29
+ def cloud_retrieved_already?
30
+ $cap_clouds.key?(name)
31
+ end
32
+ def get_cloud(name)
33
+ set_cloud(name)
7
34
  end
35
+
36
+ def cloud_master(name)
37
+ get_cloud(name).ip
38
+ end
39
+
40
+ def set_role_for_all_instances(role, name)
41
+ ips = get_cloud(name).list_of_running_instances.map {|ri| ri.ip }
42
+ ips.each {|ip| send :role, role.to_sym, "#{ip}"}
43
+ end
44
+ end
45
+ end
46
+
47
+ module Capistrano
48
+ class Configuration
49
+ include ::PoolParty::Capistrano
8
50
 
51
+ # Dir["#{::File.dirname(__FILE__)}/capistrano/*.rb"].each {|f| pload f }
9
52
  end
10
53
  end
@@ -0,0 +1,10 @@
1
+ Capistrano::Configuration.instance(:must_exist).load do
2
+ namespace(:cloud_tasks) do
3
+ desc "List running clouds"
4
+ task :list do
5
+ cmd = "cloud-list -n #{cloud.name}"
6
+ puts cmd
7
+ # %x[cmd]
8
+ end
9
+ end
10
+ end
@@ -1,7 +1,25 @@
1
1
  =begin rdoc
2
2
  Kernel overloads
3
3
  =end
4
+
4
5
  module Kernel
6
+ def get_latest_caller
7
+ returning Array.new do |arr|
8
+ callstack.size.times {|i| arr << callstack[i][0] unless callstack[i][0] =~ /lib\/poolparty/ }
9
+ end.first
10
+ end
11
+ def callstack( level = 1 )
12
+ call_str_array = caller(level)
13
+ stack = []
14
+ call_str_array.each{ |call_str|
15
+ file, lineno, method = call_str.split(':')
16
+ if method =~ /in `(.*)'/ then
17
+ method = $1.intern()
18
+ end
19
+ stack << [file, lineno.to_i, method]
20
+ }
21
+ stack
22
+ end
5
23
  # Nice wait instead of sleep
6
24
  def wait(time=5)
7
25
  sleep time.is_a?(String) ? eval(time) : time
@@ -27,7 +27,7 @@ class Object
27
27
  self
28
28
  end
29
29
  def send_if_method(v, *args)
30
- if (v.nil? || v.to_s.empty? || v.is_a?(Array) || v.is_a?(Integer))
30
+ if (v.nil? || v.to_s.empty? || v.is_a?(Array) || v.is_a?(Integer))# && !v.is_a?(Symbol))#)v.is_a?(String)
31
31
  v
32
32
  else
33
33
  vs = v.to_s.to_sym
@@ -14,6 +14,9 @@ class String
14
14
  def ^(h={})
15
15
  self.gsub(/:([\w]+)/) {h[$1.to_sym] if h.include?($1.to_sym)}
16
16
  end
17
+ def grab_filename_from_caller_trace
18
+ self.gsub(/\.rb(.*)/, '.rb')
19
+ end
17
20
  def arrayable
18
21
  self.strip.split(/\n/)
19
22
  end
@@ -2,10 +2,11 @@ require "ftools"
2
2
  module PoolParty
3
3
 
4
4
  # Load a file that contains a pool into memory
5
- def load_pool(filename)
6
-
5
+ def load_pool(filename=nil)
6
+ filename = Dir["#{Dir.pwd}/**/*.rb"].select {|f| ::File.basename(f) == "clouds.rb" }.first unless filename
7
+
7
8
  unless filename && ::File.readable?(filename)
8
- puts "Please specify your cloud with -s, move it to ./clouds.pool or in your POOL_SPEC environment variable"
9
+ puts "Please specify your cloud with -s, move it to ./clouds.rb or in your POOL_SPEC environment variable"
9
10
  exit(1)
10
11
  else
11
12
  $pool_specfile = filename
@@ -42,14 +43,14 @@ module PoolParty
42
43
  # These are the locations the spec file can be before the cloud
43
44
  # aborts because it cannot load the cloud
44
45
  def get_existing_spec_location
45
- [
46
+ [
46
47
  "#{Base.remote_storage_path}/#{Base.default_specfile_name}",
47
- "#{Base.default_specfile_name}",
48
- ENV["POOL_SPEC"],
49
- "#{Base.storage_directory}/#{Base.default_specfile_name}",
50
- "#{Base.base_config_directory}/#{Base.default_specfile_name}",
51
- "#{Base.default_project_specfile_name}"
52
- ].reject {|a| a.nil?}.reject do |f|
48
+ "#{Base.default_specfile_name}",
49
+ "#{Base.base_config_directory}/#{Base.default_specfile_name}",
50
+ Dir["#{Dir.pwd}/*/clouds.rb"],
51
+ ENV["POOL_SPEC"],
52
+ "#{Base.storage_directory}/#{Base.default_specfile_name}"
53
+ ].flatten.reject {|a| a.nil?}.reject do |f|
53
54
  f unless ::File.readable?(f)
54
55
  end.first
55
56
  end
@@ -0,0 +1,4 @@
1
+ module PoolParty
2
+ module Loading
3
+ end
4
+ end
@@ -109,7 +109,7 @@ module PoolParty
109
109
  self.loaded_pools extract_pool_from_options(self)
110
110
 
111
111
  reject_junk_options!
112
- raise CloudNotFoundException.new("Please specify your cloud with -s, move it to ./clouds.pool or in your POOL_SPEC environment variable") unless loaded_clouds && !loaded_clouds.empty?
112
+ raise CloudNotFoundException.new("Please specify your cloud with -s, move it to ./clouds.rb or in your POOL_SPEC environment variable") unless loaded_clouds && !loaded_clouds.empty?
113
113
  loaded_pools.each do |pl|
114
114
  pl.configure(self.options)
115
115
  end
@@ -5,7 +5,7 @@ module PoolParty
5
5
 
6
6
  def plugin_directory(*args)
7
7
  args = ["#{::File.expand_path(Dir.pwd)}/plugins"] if args.empty?
8
- args.each {|arg| Dir["#{arg}/*/*.rb"].each {|f| require f rescue "" }}
8
+ args.each {|arg| Dir["#{arg}/*/*.rb"].each {|f| require f }}
9
9
  end
10
10
 
11
11
  # Store block
@@ -39,15 +39,15 @@ module PoolParty
39
39
 
40
40
  def setup_dev
41
41
  return true if ::File.exists?("#{remote_keypair_path}") || master.nil?
42
- unless ::File.exists?("#{full_keypair_basename_path}.pub")
43
- cmd = "scp #{scp_array.join(" ")} #{Base.user}@#{master.ip}:.ssh/authorized_keys #{full_keypair_basename_path}.pub"
44
- vputs "Running #{cmd}"
45
- if %x[hostname].chomp == "master"
46
- Kernel.system("cat ~/.ssh/authorized_keys > #{full_keypair_basename_path}.pub")
47
- else
48
- Kernel.system(cmd)
49
- end
50
- end
42
+ # unless ::File.exists?("#{full_keypair_basename_path}.pub")
43
+ # cmd = "scp #{scp_array.join(" ")} #{Base.user}@#{master.ip}:.ssh/authorized_keys #{full_keypair_basename_path}.pub"
44
+ # vputs "Running #{cmd}"
45
+ # if %x[hostname].chomp == "master"
46
+ # Kernel.system("cat ~/.ssh/authorized_keys > #{full_keypair_basename_path}.pub")
47
+ # else
48
+ # Kernel.system(cmd)
49
+ # end
50
+ # end
51
51
  end
52
52
 
53
53
  def full_keypair_path
@@ -57,9 +57,6 @@ module PoolParty
57
57
  ::File.expand_path(keypair_path)
58
58
  end
59
59
  end
60
- def full_pub_keypair_path
61
- @full_pub_keypair_path ||= ::File.expand_path("#{full_keypair_basename_path}.pub")
62
- end
63
60
  def full_keypair_basename_path
64
61
  dir = ::File.dirname(full_keypair_path)
65
62
  basename = ::File.basename(full_keypair_path, ::File.extname(full_keypair_path))
@@ -83,7 +83,7 @@ module PoolParty
83
83
  def self.puppet_rerun_commad
84
84
  puppet_runner_command
85
85
  end
86
- def cloud
86
+ def my_cloud
87
87
  @pa = parent
88
88
  while !(@pa.is_a?(PoolParty::Cloud::Cloud) || @pa.nil? || @pa == self)
89
89
  @pa = @pa.parent
@@ -91,7 +91,7 @@ module PoolParty
91
91
  @pa
92
92
  end
93
93
  def hosts_file_listing_for(cl)
94
- string = (cl.name == cloud.name) ? "#{name}.#{cloud.name}\t#{name}" : "#{name}.#{cloud.name}"
94
+ string = (cl.name == cloud.name) ? "#{name}.#{my_cloud.name}\t#{name}" : "#{name}.#{my_cloud.name}"
95
95
  "#{internal_ip}\t#{string}"
96
96
  end
97
97
  end
@@ -80,6 +80,10 @@ module PoolParty
80
80
  def list_of_nonterminated_instances(list = remote_instances_list)
81
81
  list.reject {|i| i.terminating? || i.terminated? }
82
82
  end
83
+ # We'll stub the ip to be the master ip for ease and accessibility
84
+ def ip
85
+ master.ip
86
+ end
83
87
  # get the master instance
84
88
  def master
85
89
  get_instance_by_number(0)
@@ -20,8 +20,7 @@ module PoolParty
20
20
  :template_directory => "templates",
21
21
  :template_path => "/var/lib/puppet/templates",
22
22
  :module_path => "/etc/puppet/modules/poolparty",
23
- :default_specfile_name => "clouds.pool",
24
- :default_project_specfile_name => "spec/clouds.pool",
23
+ :default_specfile_name => "clouds.rb",
25
24
  :port => "80",
26
25
  :forwarding_port => "8080",
27
26
  :proxy_mode => "http",
@@ -14,6 +14,10 @@ module PoolParty
14
14
  pl.options.merge!(opts) if pl.options
15
15
  pl.run_in_context &block if block
16
16
  end
17
+
18
+ def set_pool_specfile(filename)
19
+ $pool_specfile = filename unless $pool_specfile
20
+ end
17
21
 
18
22
  def reset!
19
23
  $pools = $clouds = $plugins = @describe_instances = nil
@@ -34,6 +38,7 @@ module PoolParty
34
38
  })
35
39
 
36
40
  def initialize(name,&block)
41
+ set_pool_specfile get_latest_caller
37
42
  setup_defaults
38
43
  @pool_name = name
39
44
  @pool_name.freeze
@@ -46,7 +51,7 @@ module PoolParty
46
51
  end
47
52
 
48
53
  def setup_defaults
49
- plugin_directory "#{::File.dirname(pool_specfile ? pool_specfile : Dir.pwd)}/plugins"
54
+ plugin_directory "#{pool_specfile ? ::File.dirname(pool_specfile) : Dir.pwd}/plugins"
50
55
  PoolParty::Extra::Deployments.include_deployments "#{Dir.pwd}/deployments"
51
56
  end
52
57
 
@@ -65,7 +65,7 @@ module PoolParty
65
65
  def loaded
66
66
  create_config
67
67
  end
68
-
68
+
69
69
  def set_poolparty_roles
70
70
  returning Array.new do |arr|
71
71
  arr << "role 'master.#{@cloud.name}'.to_sym, '#{@cloud.master.ip}'"
@@ -33,9 +33,14 @@ module Capistrano
33
33
  parent.provisioner
34
34
  end
35
35
 
36
- def cloud
37
- parent.cloud
38
- end
36
+ def cloud(name=nil)
37
+ puts "name: #{name}"
38
+ name ? get_cloud(name) : parent.cloud
39
+ end
40
+
41
+ def get_cloud(name)
42
+ PoolParty::Cloud.cloud(name)
43
+ end
39
44
 
40
45
  def method_missing(sym, *args, &block)
41
46
  if parent.respond_to?(sym)
@@ -136,7 +136,7 @@ aptitude update -y
136
136
  def setup_poolparty_base_structure
137
137
  run <<-EOR
138
138
  cp #{remote_storage_path}/#{key_file_locations.first} "#{base_config_directory}/.ppkeys" &&
139
- mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}/
139
+ mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}/#{default_specfile_name}
140
140
  EOR
141
141
  end
142
142
 
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 89
5
+ TINY = 90
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/poolparty.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: poolparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.89
4
+ version: 0.2.90
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Lerner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-16 00:00:00 -08:00
12
+ date: 2008-12-18 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -170,6 +170,7 @@ files:
170
170
  - config/hoe.rb
171
171
  - config/requirements.rb
172
172
  - examples/basic.rb
173
+ - examples/deploy.rb
173
174
  - examples/plugin_without_plugin_directory.rb
174
175
  - examples/poolparty.rb
175
176
  - generators/poolspec/USAGE
@@ -294,6 +295,7 @@ files:
294
295
  - lib/poolparty/base_packages/ruby.rb
295
296
  - lib/poolparty/base_packages/runit.rb
296
297
  - lib/poolparty/capistrano.rb
298
+ - lib/poolparty/capistrano/cloud_tasks.rb
297
299
  - lib/poolparty/config/postlaunchmessage.txt
298
300
  - lib/poolparty/core/array.rb
299
301
  - lib/poolparty/core/class.rb
@@ -325,6 +327,7 @@ files:
325
327
  - lib/poolparty/helpers/binary.rb
326
328
  - lib/poolparty/helpers/console.rb
327
329
  - lib/poolparty/helpers/display.rb
330
+ - lib/poolparty/helpers/loading.rb
328
331
  - lib/poolparty/helpers/nice_printer.rb
329
332
  - lib/poolparty/helpers/optioner.rb
330
333
  - lib/poolparty/helpers/ruberl.rb
@@ -532,7 +535,7 @@ files:
532
535
  has_rdoc: true
533
536
  homepage: http://poolparty.rubyforge.org
534
537
  post_install_message: |-
535
- Get ready to jump in the pool, you just installed PoolParty! (Updated at 16:58 12/16/08)
538
+ Get ready to jump in the pool, you just installed PoolParty! (Updated at 13:28 12/18/08)
536
539
 
537
540
  To get started, run the generator:
538
541
 
@@ -6,7 +6,10 @@ reset!
6
6
 
7
7
  describe "Console" do
8
8
  before(:each) do
9
- ::File.stub!(:readable?).with("pop").and_return true
9
+ ::File.stub!(:readable?).and_return true
10
+ Dir.stub!(:pwd).and_return "/flop"
11
+ Dir.stub!(:[]).and_return []
12
+ Dir.stub!(:[]).with("/flop/**/*.rb").and_return ["clouds.rb"]
10
13
  end
11
14
  describe "load_pool" do
12
15
  before(:each) do
@@ -14,7 +17,8 @@ describe "Console" do
14
17
  @string =<<-EOS
15
18
  pool :app do
16
19
  maximum_instances 2
17
- cloud :rawr do
20
+ cloud :rawr do
21
+ maximum_instances 2
18
22
  end
19
23
  end
20
24
  EOS
@@ -73,7 +77,7 @@ describe "Console" do
73
77
  }
74
78
  end
75
79
  it "should call inflate from Script with the poolspec" do
76
- PoolParty::Script.should_receive(:inflate).with("spec contents", "myspec.spec")
80
+ PoolParty::Script.should_receive(:inflate).with("spec contents", "myspec.spec").and_return true
77
81
  load_pool(@filename)
78
82
  end
79
83
  end
@@ -17,10 +17,23 @@ describe "Binary" do
17
17
  describe "get_existing_spec_location" do
18
18
  before(:each) do
19
19
  ::File.stub!(:readable?).and_return false
20
- ::File.stub!(:readable?).with("#{Base.storage_directory}/clouds.pool").and_return true
20
+ ::File.stub!(:readable?).with("#{Base.storage_directory}/clouds.rb").and_return true
21
21
  end
22
22
  it "should be a String" do
23
23
  Binary.get_existing_spec_location.class.should == String
24
24
  end
25
25
  end
26
+ describe "load_pool" do
27
+ before(:each) do
28
+ ::File.stub!(:readable?).and_return true
29
+ Binary.stub!(:open).and_return @obj
30
+ @obj.stub!(:read).and_return "crazy"
31
+ Script.stub!(:inflate).and_return true
32
+ Dir.stub!(:pwd).and_return "/flop"
33
+ end
34
+ it "should call Dir[Dir.pwd] if there is no filename given" do
35
+ Dir.should_receive(:[]).with("#{Dir.pwd}/**/*.rb").and_return ["clouds.rb"]
36
+ Binary.load_pool
37
+ end
38
+ end
26
39
  end
@@ -83,6 +83,9 @@ describe "RemoterBase" do
83
83
  end
84
84
  it "should have the method custom_install_tasks" do;@tr.respond_to?(:custom_install_tasks_for).should == true;end
85
85
  it "should have the method custom_configure_tasks" do;@tr.respond_to?(:custom_configure_tasks_for).should == true;end
86
+ it "should set the ip to the master ip" do
87
+ @tr.ip.should == "192.68.0.1"
88
+ end
86
89
  end
87
90
  end
88
91
  end
@@ -44,7 +44,7 @@ describe "Script" do
44
44
  before(:each) do
45
45
  reset!
46
46
  reset_resources!
47
- pool :appdotcomcoo do
47
+ pool :appdotcomcool do
48
48
  keypair "snoodle"
49
49
  ami "ami-123456"
50
50
 
data/website/index.html CHANGED
@@ -34,7 +34,7 @@
34
34
  <h1>PoolParty</h1>
35
35
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/poolparty"; return false'>
36
36
  <p>Get Version</p>
37
- <a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.89</a>
37
+ <a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.90</a>
38
38
  </div>
39
39
  <h1>&#8216;Easy cloud computing&#8217;</h1>
40
40
  <h2>What</h2>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auser-poolparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.89
4
+ version: 0.2.90
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Lerner
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-12-16 00:00:00 -08:00
12
+ date: 2008-12-18 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -170,6 +170,7 @@ files:
170
170
  - config/hoe.rb
171
171
  - config/requirements.rb
172
172
  - examples/basic.rb
173
+ - examples/deploy.rb
173
174
  - examples/plugin_without_plugin_directory.rb
174
175
  - examples/poolparty.rb
175
176
  - generators/poolspec/USAGE
@@ -294,6 +295,7 @@ files:
294
295
  - lib/poolparty/base_packages/ruby.rb
295
296
  - lib/poolparty/base_packages/runit.rb
296
297
  - lib/poolparty/capistrano.rb
298
+ - lib/poolparty/capistrano/cloud_tasks.rb
297
299
  - lib/poolparty/config/postlaunchmessage.txt
298
300
  - lib/poolparty/core/array.rb
299
301
  - lib/poolparty/core/class.rb
@@ -325,6 +327,7 @@ files:
325
327
  - lib/poolparty/helpers/binary.rb
326
328
  - lib/poolparty/helpers/console.rb
327
329
  - lib/poolparty/helpers/display.rb
330
+ - lib/poolparty/helpers/loading.rb
328
331
  - lib/poolparty/helpers/nice_printer.rb
329
332
  - lib/poolparty/helpers/optioner.rb
330
333
  - lib/poolparty/helpers/ruberl.rb
@@ -532,7 +535,7 @@ files:
532
535
  has_rdoc: true
533
536
  homepage: http://poolparty.rubyforge.org
534
537
  post_install_message: |-
535
- Get ready to jump in the pool, you just installed PoolParty! (Updated at 16:58 12/16/08)
538
+ Get ready to jump in the pool, you just installed PoolParty! (Updated at 13:28 12/18/08)
536
539
 
537
540
  To get started, run the generator:
538
541