auser-poolparty 0.2.35 → 0.2.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. data/Manifest.txt +5 -9
  2. data/bin/cloud-start +1 -1
  3. data/lib/erlang/messenger/ebin/master_app.beam +0 -0
  4. data/lib/erlang/messenger/ebin/node_app.beam +0 -0
  5. data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
  6. data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
  7. data/lib/erlang/messenger/ebin/pm_event_manager.beam +0 -0
  8. data/lib/erlang/messenger/ebin/pm_master_event_handler.beam +0 -0
  9. data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
  10. data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
  11. data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
  12. data/lib/erlang/messenger/src/pm_client.erl +19 -13
  13. data/lib/erlang/messenger/src/pm_cluster.erl +7 -6
  14. data/lib/erlang/messenger/src/pm_master.erl +5 -8
  15. data/lib/poolparty/aska/aska.rb +111 -0
  16. data/lib/poolparty/base_packages/poolparty.rb +23 -13
  17. data/lib/poolparty/core/array.rb +3 -0
  18. data/lib/poolparty/core/kernel.rb +2 -2
  19. data/lib/poolparty/core/object.rb +17 -1
  20. data/lib/poolparty/core/symbol.rb +6 -0
  21. data/lib/poolparty/helpers/provisioner_base.rb +3 -7
  22. data/lib/poolparty/helpers/provisioners/master.rb +9 -6
  23. data/lib/poolparty/helpers/provisioners/slave.rb +3 -4
  24. data/lib/poolparty/monitors/base_monitor.rb +32 -5
  25. data/lib/poolparty/{helpers → net}/messenger.rb +1 -1
  26. data/lib/poolparty/net/remoter.rb +4 -3
  27. data/lib/poolparty/pool/cloud.rb +1 -1
  28. data/lib/poolparty/pool/script.rb +1 -1
  29. data/lib/poolparty/templates/puppetcleaner +3 -1
  30. data/lib/poolparty/version.rb +1 -1
  31. data/lib/poolparty.rb +1 -1
  32. data/poolparty.gemspec +7 -11
  33. data/spec/poolparty/aska/aska_spec.rb +97 -0
  34. data/spec/poolparty/monitors/base_monitor_spec.rb +83 -2
  35. data/spec/poolparty/monitors/monitors/cpu_monitor_spec.rb +0 -1
  36. data/spec/poolparty/{helpers → net}/messenger_spec.rb +2 -0
  37. data/spec/poolparty/net/remote_bases/ec2_spec.rb +3 -2
  38. data/spec/poolparty/net/remote_instance_spec.rb +1 -0
  39. data/spec/poolparty/net/remote_spec.rb +8 -1
  40. data/spec/poolparty/net/remoter_base_spec.rb +4 -1
  41. data/spec/poolparty/net/remoter_spec.rb +5 -0
  42. data/spec/poolparty/pool/cloud_spec.rb +2 -0
  43. data/spec/poolparty/pool/plugin_model_spec.rb +1 -0
  44. data/spec/poolparty/pool/resource_spec.rb +3 -0
  45. data/spec/poolparty/pool/script_spec.rb +14 -2
  46. data/spec/poolparty/spec_helper.rb +13 -1
  47. data/website/index.html +1 -1
  48. metadata +7 -11
  49. data/lib/erlang/messenger/utils.beam +0 -0
@@ -154,7 +154,7 @@ module PoolParty
154
154
  # they need a few options to run, these are the required options
155
155
  # to be saved on the remote "master" machine
156
156
  def minimum_runnable_options
157
- [:keypair, :minimum_instances, :maximum_instances]
157
+ [:keypair, :minimum_instances, :maximum_instances, :ami, :expand_when, :contract_when]
158
158
  end
159
159
 
160
160
  # Add all the poolparty requirements here
@@ -26,7 +26,7 @@ module PoolParty
26
26
  with_cloud(cl) do
27
27
  out << <<-EOE
28
28
  cloud :#{name} do
29
- #{cl.minimum_runnable_options.map {|o| "\t#{o} \"#{cl.send o}\""}.join("\n")}
29
+ #{cl.minimum_runnable_options.map {|o| "\t#{o} #{cl.send(o).respec_string}"}.join("\n")}
30
30
  end
31
31
  EOE
32
32
  end
@@ -2,5 +2,7 @@
2
2
 
3
3
  . /etc/profile
4
4
  ps aux | grep puppetmaster | awk '{print $2}' | xargs kill
5
+ /etc/init.d/puppetmaster stop
5
6
  rm -rf /etc/puppet/ssl
6
- /usr/bin/env puppetmasterd --verbose
7
+ puppetmasterd --verbose
8
+ /etc/init.d/puppetmaster start
@@ -2,7 +2,7 @@ module PoolParty
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- TINY = 35
5
+ TINY = 36
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
data/lib/poolparty.rb CHANGED
@@ -16,7 +16,7 @@ ActiveSupport::Dependencies.load_paths << File.dirname(__FILE__)
16
16
  ## Load PoolParty
17
17
  require "#{File.dirname(__FILE__)}/poolparty/version"
18
18
 
19
- %w(core modules exceptions dependency_resolutions monitors net).each do |dir|
19
+ %w(core modules exceptions aska dependency_resolutions monitors net).each do |dir|
20
20
  Dir[File.dirname(__FILE__) + "/poolparty/#{dir}/**.rb"].each do |file|
21
21
  require file
22
22
  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.35
4
+ version: 0.2.36
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-10-30 00:00:00 -07:00
12
+ date: 2008-10-31 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -137,6 +137,7 @@ files:
137
137
  - bin/server-start-node
138
138
  - config/hoe.rb
139
139
  - config/requirements.rb
140
+ - erl_crash.dump
140
141
  - examples/basic.rb
141
142
  - examples/plugin_without_plugin_directory.rb
142
143
  - examples/poolparty.rb
@@ -243,8 +244,8 @@ files:
243
244
  - lib/erlang/messenger/src/pm_packager.erl
244
245
  - lib/erlang/messenger/src/utils.erl
245
246
  - lib/erlang/messenger/useful_snippets
246
- - lib/erlang/messenger/utils.beam
247
247
  - lib/poolparty.rb
248
+ - lib/poolparty/aska/aska.rb
248
249
  - lib/poolparty/base_packages/haproxy.rb
249
250
  - lib/poolparty/base_packages/heartbeat.rb
250
251
  - lib/poolparty/base_packages/poolparty.rb
@@ -276,7 +277,6 @@ files:
276
277
  - lib/poolparty/helpers/binary.rb
277
278
  - lib/poolparty/helpers/console.rb
278
279
  - lib/poolparty/helpers/display.rb
279
- - lib/poolparty/helpers/messenger.rb
280
280
  - lib/poolparty/helpers/optioner.rb
281
281
  - lib/poolparty/helpers/provisioner_base.rb
282
282
  - lib/poolparty/helpers/provisioners/master.rb
@@ -294,6 +294,7 @@ files:
294
294
  - lib/poolparty/monitors/base_monitor.rb
295
295
  - lib/poolparty/monitors/monitors/cpu_monitor.rb
296
296
  - lib/poolparty/monitors/monitors/memory_monitor.rb
297
+ - lib/poolparty/net/messenger.rb
297
298
  - lib/poolparty/net/remote.rb
298
299
  - lib/poolparty/net/remote_bases/ec2.rb
299
300
  - lib/poolparty/net/remote_instance.rb
@@ -325,12 +326,6 @@ files:
325
326
  - lib/poolparty/pool/resources/symlink.rb
326
327
  - lib/poolparty/pool/resources/variable.rb
327
328
  - lib/poolparty/pool/script.rb
328
- - lib/poolparty/pool/tmp/.ppkeys
329
- - lib/poolparty/pool/tmp/happydayz
330
- - lib/poolparty/pool/tmp/install_master.sh
331
- - lib/poolparty/pool/tmp/pool.spec
332
- - lib/poolparty/pool/tmp/poolparty.pp
333
- - lib/poolparty/pool/tmp/tc-instances.list
334
329
  - lib/poolparty/templates/authkeys
335
330
  - lib/poolparty/templates/cib.xml
336
331
  - lib/poolparty/templates/gem
@@ -348,6 +343,7 @@ files:
348
343
  - script/generate
349
344
  - script/txt2html
350
345
  - setup.rb
346
+ - spec/poolparty/aska/aska_spec.rb
351
347
  - spec/poolparty/base_packages/haproxy_spec.rb
352
348
  - spec/poolparty/base_packages/heartbeat_spec.rb
353
349
  - spec/poolparty/bin/console_spec.rb
@@ -362,7 +358,6 @@ files:
362
358
  - spec/poolparty/dependency_resolutions/base_spec.rb
363
359
  - spec/poolparty/helpers/binary_spec.rb
364
360
  - spec/poolparty/helpers/display_spec.rb
365
- - spec/poolparty/helpers/messenger_spec.rb
366
361
  - spec/poolparty/helpers/optioner_spec.rb
367
362
  - spec/poolparty/helpers/provisioner_base_spec.rb
368
363
  - spec/poolparty/helpers/provisioners/master_spec.rb
@@ -374,6 +369,7 @@ files:
374
369
  - spec/poolparty/modules/s3_string_spec.rb
375
370
  - spec/poolparty/monitors/base_monitor_spec.rb
376
371
  - spec/poolparty/monitors/monitors/cpu_monitor_spec.rb
372
+ - spec/poolparty/net/messenger_spec.rb
377
373
  - spec/poolparty/net/remote_bases/ec2_spec.rb
378
374
  - spec/poolparty/net/remote_instance_spec.rb
379
375
  - spec/poolparty/net/remote_spec.rb
@@ -0,0 +1,97 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ class Car
4
+ include Aska
5
+ rules :names, [
6
+ "x > 0",
7
+ "y > 0",
8
+ "x > y"
9
+ ]
10
+ end
11
+ describe "Rules" do
12
+ before(:each) do
13
+ @car = Car.new
14
+ end
15
+ it "should be able to define rules as an array and they should be set as the rules on the class" do
16
+ @car.rules.class.should == Hash
17
+ end
18
+ it "should be able to look up the rules based on the name into an array" do
19
+ @car.names.class.should == Aska::Rules
20
+ end
21
+ it "should be able to turn them into a string" do
22
+ @car.names.to_s.should == "'x > 0', 'y > 0', 'x > y'"
23
+ end
24
+ it "should be able to say that rules are defined when they are defined" do
25
+ @car.names.should_not be_nil
26
+ end
27
+ it "should be able tos ay that rules are not defined when they are not defined" do
28
+ @car.look_up_rules(:cars_and_wheels).should be_empty
29
+ end
30
+ it "should be able to say if the rules are not rules" do
31
+ @car.are_rules?(:cars_and_wheels).should be_false
32
+ end
33
+ it "should be able to say that rules are rules" do
34
+ @car.are_rules?(:names).should be_true
35
+ end
36
+ describe "parsing" do
37
+ it "should be able to parse the x > 0 into an array" do
38
+ @car.names.include?({"x"=>[">","0"]}).should == true
39
+ end
40
+ it "should be able to parse y > 0 into an array" do
41
+ @car.names.include?({"y"=>[">","0"]}).should == true
42
+ end
43
+ it "should be able to parse x > y into the hash" do
44
+ @car.names.include?({"x"=>[">","y"]}).should == true
45
+ end
46
+ it "should have 3 rules" do
47
+ @car.names.size.should == 3
48
+ end
49
+ it "should be able to look up the names as a rule" do
50
+ Car.look_up_rules(:names).should == [{"x"=>[">", "0"]}, {"y"=>[">", "0"]}, {"x"=>[">", "y"]}]
51
+ end
52
+ end
53
+ # it "should use x if available instead of x_aska" do
54
+ # @car.x = 6
55
+ # @car.get_var(:x).class.should == @car.x_aska.class
56
+ # end
57
+ # it "should be able to get the variable associated with the instance and return it" do
58
+ # @car.x_aska = 4
59
+ # @car.get_var(:x).class.should == @car.x_aska.class
60
+ # end
61
+ it "should be able to get a number with the instance and return it as a float" do
62
+ @car.__aska_get_var(4).class.should == Float
63
+ end
64
+ it "should be able to get the method it's applying as a method symbol" do
65
+ @car.__aska_get_var(:<).class.should == Symbol
66
+ end
67
+ it "should be able to get the method as a symbol" do
68
+ @car.__aska_get_var("<").class.should == Symbol
69
+ end
70
+ it "should be able to retrieve the value of the rule when checking if it's valid" do
71
+ @car.x = 10
72
+ @car.valid_rule?({:x => [:==, 10]}).should == true
73
+ end
74
+ it "should be able to apply the rules and say that they are not met when they aren't" do
75
+ @car.valid_rules?(:names).should == false
76
+ end
77
+ it "should be able to apply the rules and say they aren't valid when they aren't all met" do
78
+ @car.x = 5
79
+ @car.y = 10
80
+ @car.valid_rules?(:names).should == true
81
+ end
82
+ it "should be able to apply the rules and say they aren't valid when they aren't all met" do
83
+ @car.x = 5
84
+ @car.y = 0
85
+ @car.valid_rules?(:names).should == false
86
+ end
87
+ it "should be able to apply the rules and say that they are in fact valid" do
88
+ @car.x = 10
89
+ @car.y = 5
90
+ @car.valid_rules?(:names).should == true
91
+ end
92
+ it "should have the rules in an array of hashes" do
93
+ @car.names.each do |n|
94
+
95
+ end
96
+ end
97
+ end
@@ -1,6 +1,12 @@
1
1
  require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
- include PoolParty::Monitors
3
+ class TestMonitorClass
4
+ include PoolParty::Monitors
5
+ include Configurable
6
+ def default_options
7
+ {}
8
+ end
9
+ end
4
10
 
5
11
  describe "Monitors" do
6
12
  it "should have a list of available monitors" do
@@ -11,9 +17,84 @@ describe "Monitors" do
11
17
  PoolParty::Monitors.register_monitor :fake
12
18
  size.should == PoolParty::Monitors.available_monitors.size - 1
13
19
  end
20
+ it "should define the mehtod fake when register_monitor :fake" do
21
+ PoolParty::Monitors.register_monitor :fake
22
+ TestMonitorClass.new.respond_to?(:fake).should == true
23
+ end
24
+ it "should call the Messenger with messenger_send!('get_load fake')" do
25
+ PoolParty::Messenger.should_receive(:messenger_send!).with("get_load fake").and_return true
26
+ TestMonitorClass.new.fake
27
+ end
28
+ describe "expansions" do
29
+ before(:each) do
30
+ @tmc = TestMonitorClass.new
31
+ @tmc.instance_eval do
32
+ expand_when "cpu > 95", "memory > 90"
33
+ contract_when "cpu < 15", "memory < 10"
34
+ end
35
+ end
36
+ it "should have the method expand_when as a class method" do
37
+ @tmc.respond_to?(:expand_when).should == true
38
+ end
39
+ it "should have expansions as a collection of rules on the object" do
40
+ @tmc.expand_when.class.should == Aska::Rules
41
+ end
42
+ it "should return the expand_when as a set of rules" do
43
+ @tmc.expand_when.class.should == Aska::Rules
44
+ end
45
+ it "should have the expansion in the array on the instance" do
46
+ @tmc.expand_when.first.should == {"cpu" => [">", "95"]}
47
+ end
48
+ it "should have the memory expansion in the array on the instance" do
49
+ @tmc.expand_when[1].should == {"memory" => [">", "90"]}
50
+ end
51
+ it "should have 2 expansions" do
52
+ @tmc.expand_when.size.should == 2
53
+ end
54
+ it "should give us the method cpu for free" do
55
+ @tmc.respond_to?(:cpu).should == true
56
+ end
57
+ describe "when memory is over the limit" do
58
+ before(:each) do
59
+ @tmc.stub!(:memory).and_return 99
60
+ end
61
+ it "should say it should not expand if the cpu is short of the limit" do
62
+ @tmc.stub!(:cpu).and_return 43
63
+ @tmc.valid_rules?(:expand_when).should == false
64
+ end
65
+ it "should say that it has the valid expansion rules when the cpu is higher than the limit" do
66
+ @tmc.stub!(:cpu).and_return 98
67
+ @tmc.valid_rules?(:expand_when).should == true
68
+ end
69
+ end
70
+ describe "when cpu is over the limit" do
71
+ before(:each) do
72
+ @tmc.stub!(:cpu).and_return 98
73
+ end
74
+ it "should say it should not expand if the cpu is short of the limit" do
75
+ @tmc.stub!(:memory).and_return 43
76
+ @tmc.valid_rules?(:expand_when).should == false
77
+ end
78
+ it "should say that it has the valid expansion rules when the cpu is higher than the limit" do
79
+ @tmc.stub!(:memory).and_return 98
80
+ @tmc.valid_rules?(:expand_when).should == true
81
+ end
82
+ end
83
+ describe "when neither is over the limits" do
84
+ it "should not expand" do
85
+ @tmc.valid_rules?(:expand_when).should == false
86
+ end
87
+ end
88
+ it "should be able to turn them into a string" do
89
+ @tmc.expand_when.to_s.should == "'cpu > 95', 'memory > 90'"
90
+ end
91
+ it "should be able to turn them into a string with expand_when" do
92
+ @tmc.expand_when.to_s.should == "'cpu > 95', 'memory > 90'"
93
+ end
94
+ end
14
95
  end
15
96
  describe "BaseMonitor" do
16
97
  it "should have the singleton method run defined" do
17
- BaseMonitor.respond_to?(:run).should == true
98
+ PoolParty::Monitors::BaseMonitor.respond_to?(:run).should == true
18
99
  end
19
100
  end
@@ -5,7 +5,6 @@ include PoolParty::Monitors
5
5
  describe "CpuMonitor" do
6
6
  before(:each) do
7
7
  @mon = CpuMonitor.new
8
- CpuMonitor.stub!(:new).and_return @mon
9
8
  end
10
9
  it "should have the singleton method run defined" do
11
10
  CpuMonitor.respond_to?(:run).should == true
@@ -4,6 +4,8 @@ setup_cl
4
4
 
5
5
  include PoolParty::Messenger
6
6
 
7
+ Object.send :undef_method, :messenger_send!
8
+
7
9
  describe "Messenger" do
8
10
  it "should have the method messenger_send!" do
9
11
  Messenger.respond_to?(:messenger_send!).should == true
@@ -1,9 +1,9 @@
1
1
  require File.dirname(__FILE__) + '/../../spec_helper'
2
2
 
3
- include Remote
3
+ # include Remote
4
4
 
5
5
  class TestClass
6
- include RemoterBase
6
+ include PoolParty::Remote::RemoterBase
7
7
  include Ec2
8
8
  include CloudResourcer
9
9
 
@@ -20,6 +20,7 @@ class TestClass
20
20
  end
21
21
  describe "ec2 remote base" do
22
22
  before(:each) do
23
+ setup
23
24
  @tr = TestClass.new
24
25
  stub_remoter_for(@tr)
25
26
  @tr.stub!(:get_instances_description).and_return response_list_of_instances
@@ -4,6 +4,7 @@ include Remote
4
4
 
5
5
  describe "Remote Instance" do
6
6
  before(:each) do
7
+ setup
7
8
  @valid_hash = {:ip => "127.0.0.1", :name => "master", :responding => "true"}
8
9
  end
9
10
  describe "configurable" do
@@ -16,12 +16,16 @@ class TestClass
16
16
  def keypair
17
17
  "fake_keypair"
18
18
  end
19
+ def verbose
20
+ false
21
+ end
19
22
  end
20
23
 
21
24
  describe "Remote" do
22
25
  before(:each) do
23
26
  @tc = TestClass.new
24
-
27
+ @tc.stub!(:verbose).and_return false
28
+ setup
25
29
  end
26
30
  it "should have the method 'using'" do
27
31
  @tc.respond_to?(:using).should == true
@@ -192,6 +196,7 @@ describe "Remote" do
192
196
  end
193
197
  describe "expansions" do
194
198
  before(:each) do
199
+ setup
195
200
  @tc.stub!(:copy_ssh_app).and_return true
196
201
  @tc.stub!(:prepare_reconfiguration).and_return "full"
197
202
  PoolParty::Provisioner.stub!(:reconfigure_master).and_return true
@@ -206,6 +211,7 @@ describe "Remote" do
206
211
  end
207
212
  describe "expand_cloud_if_necessary" do
208
213
  before(:each) do
214
+ setup
209
215
  stub_list_from_remote_for(@tc)
210
216
  @tc.stub!(:request_launch_new_instances).and_return true
211
217
  @tc.stub!(:can_start_a_new_instance).and_return true
@@ -241,6 +247,7 @@ describe "Remote" do
241
247
  @tc.stub!(:request_termination_of_non_master_instance).and_return true
242
248
  @tc.stub!(:can_shutdown_an_instance?).and_return true
243
249
  @tc.stub!(:wait).and_return true
250
+ @tc.stub!(:valid_rules?).and_return false
244
251
  end
245
252
  it "should receive can_shutdown_an_instance?" do
246
253
  @tc.should_receive(:can_shutdown_an_instance?).once
@@ -7,9 +7,12 @@ class TestRemoter
7
7
  end
8
8
 
9
9
  describe "RemoterBase" do
10
+ before(:each) do
11
+ setup
12
+ end
10
13
  describe "methods" do
11
14
  before(:each) do
12
- @tr = TestRemoter.new
15
+ @tr = TestRemoter.new
13
16
  end
14
17
  %w(launch_new_instance! terminate_instance describe_instance instances_list).each do |method|
15
18
  eval <<-EOE
@@ -2,6 +2,10 @@ require File.dirname(__FILE__) + '/../spec_helper'
2
2
 
3
3
  include PoolParty::Remote
4
4
 
5
+ def valid_rules?(*args)
6
+ false
7
+ end
8
+
5
9
  class TestClass
6
10
  include CloudResourcer
7
11
  include Remote
@@ -14,6 +18,7 @@ class TestClass
14
18
  end
15
19
  describe "Remoter" do
16
20
  before(:each) do
21
+ setup
17
22
  @cloud = cloud :app do;end
18
23
  @tc = TestClass.new
19
24
  @tc.parent = @cloud
@@ -13,6 +13,7 @@ end
13
13
 
14
14
  describe "Cloud" do
15
15
  before(:each) do
16
+ setup
16
17
  reset_resources!
17
18
  end
18
19
  describe "wrapped" do
@@ -47,6 +48,7 @@ describe "Cloud" do
47
48
  describe "options" do
48
49
  before(:each) do
49
50
  reset!
51
+ setup
50
52
  @p = pool :options do
51
53
  minimum_instances 100
52
54
  access_key "access_key"
@@ -3,6 +3,7 @@ require File.dirname(__FILE__) + '/test_plugins/webserver'
3
3
 
4
4
  describe "Plugin" do
5
5
  before(:each) do
6
+ setup
6
7
  @p = pool :poolpartyrb do
7
8
  cloud :app do
8
9
  apache do
@@ -10,6 +10,9 @@ class MyResource < PoolParty::Resources::Resource
10
10
  end
11
11
  end
12
12
  describe "Resource" do
13
+ before(:each) do
14
+ setup
15
+ end
13
16
  describe "wrapped" do
14
17
  before(:each) do
15
18
  @resource = MyResource.new({:a => 10}) do
@@ -5,6 +5,7 @@ include PoolParty::Resources
5
5
  describe "Script" do
6
6
  before(:each) do
7
7
  reset_resources!
8
+ setup
8
9
  end
9
10
  describe "wrapped" do
10
11
  it "should have inflate as a class method" do
@@ -43,16 +44,27 @@ describe "Script" do
43
44
  before(:each) do
44
45
  reset!
45
46
  reset_resources!
46
- pool :appdotcom do
47
+ pool :appdotcomcoo do
47
48
  keypair "snoodle"
49
+ ami "ami-123456"
50
+
48
51
  cloud :app do
52
+ expand_when "cpu > 90", "memory > 80"
53
+ contract_when "cpu < 10", "memory < 10"
54
+
49
55
  has_file :name => "/etc/httpd/httpd.conf"
50
56
  end
51
57
  end
52
58
  @saved = Script.save!(false)
53
59
  end
54
60
  it "should save the keypair" do
55
- @saved.should =~ /keypair "snoodle"/
61
+ @saved.should =~ /keypair 'snoodle'/
62
+ end
63
+ it "should save the ami" do
64
+ @saved.should =~ /ami 'ami-123456'/
65
+ end
66
+ it "should save the expansions" do
67
+ @saved.should =~ /expand_when 'cpu>90', 'memory>80'/
56
68
  end
57
69
  end
58
70
  end
@@ -17,6 +17,10 @@ extend PoolParty
17
17
  Base.environment = "test"
18
18
  Base.verbose = false
19
19
 
20
+ def setup
21
+ PoolParty::Messenger.stub!(:messenger_send!).and_return false
22
+ end
23
+
20
24
  def setup_cl
21
25
  require 'poolpartycl'
22
26
  end
@@ -62,7 +66,7 @@ def stub_list_from_local_for(o)
62
66
  @ris = @list.split(/\n/).map {|line| PoolParty::Remote::RemoteInstance.new(line) }
63
67
  end
64
68
  def stub_remoter_for(o)
65
- o.stub!(:ec2).and_return EC2::Base.new( :access_key_id => "not a key", :secret_access_key => "even more not a key")
69
+ o.stub!(:ec2).and_return EC2::Base.new( :access_key_id => "not a key", :secret_access_key => "even more not a key")
66
70
  end
67
71
  def stub_list_from_remote_for(o, launch_stub=true)
68
72
  stub_remoter_for(o)
@@ -99,6 +103,7 @@ def running_remote_instances
99
103
  end
100
104
 
101
105
  def reset_response!
106
+ setup
102
107
  @ris = nil
103
108
  end
104
109
 
@@ -122,4 +127,11 @@ def drop_pending_instances_for(o)
122
127
  puts "hi"
123
128
  o.list_of_pending_instances.stub!(:size).and_return 0
124
129
  1
130
+ end
131
+
132
+ # Stub for messenger_send!
133
+ class Object
134
+ def messenger_send!(*args)
135
+ true
136
+ end
125
137
  end
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.35</a>
37
+ <a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.36</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.35
4
+ version: 0.2.36
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-10-30 00:00:00 -07:00
12
+ date: 2008-10-31 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -137,6 +137,7 @@ files:
137
137
  - bin/server-start-node
138
138
  - config/hoe.rb
139
139
  - config/requirements.rb
140
+ - erl_crash.dump
140
141
  - examples/basic.rb
141
142
  - examples/plugin_without_plugin_directory.rb
142
143
  - examples/poolparty.rb
@@ -243,8 +244,8 @@ files:
243
244
  - lib/erlang/messenger/src/pm_packager.erl
244
245
  - lib/erlang/messenger/src/utils.erl
245
246
  - lib/erlang/messenger/useful_snippets
246
- - lib/erlang/messenger/utils.beam
247
247
  - lib/poolparty.rb
248
+ - lib/poolparty/aska/aska.rb
248
249
  - lib/poolparty/base_packages/haproxy.rb
249
250
  - lib/poolparty/base_packages/heartbeat.rb
250
251
  - lib/poolparty/base_packages/poolparty.rb
@@ -276,7 +277,6 @@ files:
276
277
  - lib/poolparty/helpers/binary.rb
277
278
  - lib/poolparty/helpers/console.rb
278
279
  - lib/poolparty/helpers/display.rb
279
- - lib/poolparty/helpers/messenger.rb
280
280
  - lib/poolparty/helpers/optioner.rb
281
281
  - lib/poolparty/helpers/provisioner_base.rb
282
282
  - lib/poolparty/helpers/provisioners/master.rb
@@ -294,6 +294,7 @@ files:
294
294
  - lib/poolparty/monitors/base_monitor.rb
295
295
  - lib/poolparty/monitors/monitors/cpu_monitor.rb
296
296
  - lib/poolparty/monitors/monitors/memory_monitor.rb
297
+ - lib/poolparty/net/messenger.rb
297
298
  - lib/poolparty/net/remote.rb
298
299
  - lib/poolparty/net/remote_bases/ec2.rb
299
300
  - lib/poolparty/net/remote_instance.rb
@@ -325,12 +326,6 @@ files:
325
326
  - lib/poolparty/pool/resources/symlink.rb
326
327
  - lib/poolparty/pool/resources/variable.rb
327
328
  - lib/poolparty/pool/script.rb
328
- - lib/poolparty/pool/tmp/.ppkeys
329
- - lib/poolparty/pool/tmp/happydayz
330
- - lib/poolparty/pool/tmp/install_master.sh
331
- - lib/poolparty/pool/tmp/pool.spec
332
- - lib/poolparty/pool/tmp/poolparty.pp
333
- - lib/poolparty/pool/tmp/tc-instances.list
334
329
  - lib/poolparty/templates/authkeys
335
330
  - lib/poolparty/templates/cib.xml
336
331
  - lib/poolparty/templates/gem
@@ -348,6 +343,7 @@ files:
348
343
  - script/generate
349
344
  - script/txt2html
350
345
  - setup.rb
346
+ - spec/poolparty/aska/aska_spec.rb
351
347
  - spec/poolparty/base_packages/haproxy_spec.rb
352
348
  - spec/poolparty/base_packages/heartbeat_spec.rb
353
349
  - spec/poolparty/bin/console_spec.rb
@@ -362,7 +358,6 @@ files:
362
358
  - spec/poolparty/dependency_resolutions/base_spec.rb
363
359
  - spec/poolparty/helpers/binary_spec.rb
364
360
  - spec/poolparty/helpers/display_spec.rb
365
- - spec/poolparty/helpers/messenger_spec.rb
366
361
  - spec/poolparty/helpers/optioner_spec.rb
367
362
  - spec/poolparty/helpers/provisioner_base_spec.rb
368
363
  - spec/poolparty/helpers/provisioners/master_spec.rb
@@ -374,6 +369,7 @@ files:
374
369
  - spec/poolparty/modules/s3_string_spec.rb
375
370
  - spec/poolparty/monitors/base_monitor_spec.rb
376
371
  - spec/poolparty/monitors/monitors/cpu_monitor_spec.rb
372
+ - spec/poolparty/net/messenger_spec.rb
377
373
  - spec/poolparty/net/remote_bases/ec2_spec.rb
378
374
  - spec/poolparty/net/remote_instance_spec.rb
379
375
  - spec/poolparty/net/remote_spec.rb
Binary file