auser-poolparty 0.0.8 → 0.0.9

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 (80) hide show
  1. data/CHANGELOG +8 -0
  2. data/README.txt +10 -10
  3. data/Rakefile +30 -21
  4. data/{web/static/site/images → assets}/clouds.png +0 -0
  5. data/bin/instance +39 -34
  6. data/bin/pool +44 -29
  7. data/bin/poolnotify +34 -0
  8. data/config/haproxy.conf +1 -1
  9. data/config/heartbeat_authkeys.conf +1 -1
  10. data/config/monit/haproxy.monit.conf +2 -1
  11. data/config/nginx.conf +1 -1
  12. data/config/reconfigure_instances_script.sh +28 -9
  13. data/config/sample-config.yml +1 -1
  14. data/lib/core/string.rb +3 -0
  15. data/lib/modules/ec2_wrapper.rb +47 -22
  16. data/lib/modules/file_writer.rb +38 -0
  17. data/lib/modules/sprinkle_overrides.rb +32 -0
  18. data/lib/modules/vlad_override.rb +5 -4
  19. data/lib/poolparty.rb +14 -10
  20. data/lib/poolparty/application.rb +33 -19
  21. data/lib/poolparty/master.rb +227 -105
  22. data/lib/poolparty/optioner.rb +8 -4
  23. data/lib/poolparty/plugin.rb +34 -4
  24. data/lib/poolparty/provider/packages/haproxy.rb +0 -15
  25. data/lib/poolparty/provider/packages/heartbeat.rb +1 -1
  26. data/lib/poolparty/provider/packages/ruby.rb +6 -6
  27. data/lib/poolparty/provider/packages/s3fuse.rb +9 -2
  28. data/lib/poolparty/provider/provider.rb +65 -25
  29. data/lib/poolparty/remote_instance.rb +95 -74
  30. data/lib/poolparty/remoter.rb +48 -37
  31. data/lib/poolparty/remoting.rb +41 -17
  32. data/lib/poolparty/scheduler.rb +4 -4
  33. data/lib/poolparty/tasks.rb +1 -1
  34. data/lib/poolparty/tasks/package.rake +53 -0
  35. data/lib/poolparty/tasks/plugins.rake +1 -1
  36. data/poolparty.gemspec +50 -58
  37. data/spec/application_spec.rb +28 -0
  38. data/spec/core_spec.rb +9 -0
  39. data/spec/ec2_wrapper_spec.rb +87 -0
  40. data/spec/file_writer_spec.rb +73 -0
  41. data/spec/files/describe_response +37 -0
  42. data/spec/files/multi_describe_response +69 -0
  43. data/spec/files/remote_desc_response +37 -0
  44. data/spec/helpers/ec2_mock.rb +3 -0
  45. data/spec/master_spec.rb +302 -78
  46. data/spec/monitors/cpu_monitor_spec.rb +2 -1
  47. data/spec/monitors/memory_spec.rb +1 -0
  48. data/spec/monitors/misc_monitor_spec.rb +1 -0
  49. data/spec/monitors/web_spec.rb +1 -0
  50. data/spec/optioner_spec.rb +12 -0
  51. data/spec/plugin_manager_spec.rb +10 -10
  52. data/spec/plugin_spec.rb +6 -3
  53. data/spec/pool_binary_spec.rb +3 -0
  54. data/spec/poolparty_spec.rb +12 -7
  55. data/spec/provider_spec.rb +1 -0
  56. data/spec/remote_instance_spec.rb +18 -18
  57. data/spec/remoter_spec.rb +4 -2
  58. data/spec/remoting_spec.rb +10 -2
  59. data/spec/scheduler_spec.rb +0 -6
  60. data/spec/spec_helper.rb +13 -0
  61. metadata +83 -52
  62. data/Manifest +0 -115
  63. data/lib/poolparty/tmp.rb +0 -46
  64. data/misc/basics_tutorial.txt +0 -142
  65. data/web/static/conf/nginx.conf +0 -22
  66. data/web/static/site/images/balloon.png +0 -0
  67. data/web/static/site/images/cb.png +0 -0
  68. data/web/static/site/images/railsconf_preso_img.png +0 -0
  69. data/web/static/site/index.html +0 -71
  70. data/web/static/site/javascripts/application.js +0 -3
  71. data/web/static/site/javascripts/corner.js +0 -178
  72. data/web/static/site/javascripts/jquery-1.2.6.pack.js +0 -11
  73. data/web/static/site/misc.html +0 -42
  74. data/web/static/site/storage/pool_party_presentation.pdf +0 -0
  75. data/web/static/site/stylesheets/application.css +0 -100
  76. data/web/static/site/stylesheets/reset.css +0 -17
  77. data/web/static/src/layouts/application.haml +0 -25
  78. data/web/static/src/pages/index.haml +0 -25
  79. data/web/static/src/pages/misc.haml +0 -5
  80. data/web/static/src/stylesheets/application.sass +0 -100
@@ -3,7 +3,8 @@ require "lib/poolparty/monitors/cpu"
3
3
 
4
4
  describe "monitors" do
5
5
  describe "when included" do
6
- before(:each) do
6
+ before(:each) do
7
+ stub_option_load
7
8
  @master = Master.new
8
9
  @instance = RemoteInstance.new
9
10
  end
@@ -4,6 +4,7 @@ require "lib/poolparty/monitors/memory"
4
4
  describe "monitors" do
5
5
  describe "when included" do
6
6
  before(:each) do
7
+ stub_option_load
7
8
  @master = Master.new
8
9
  @instance = RemoteInstance.new
9
10
  end
@@ -18,6 +18,7 @@ PoolParty.register_monitor Database
18
18
  describe "monitors (random, to spec the inclusion)" do
19
19
  describe "when included" do
20
20
  before(:each) do
21
+ stub_option_load
21
22
  @master = Master.new
22
23
  @instance = RemoteInstance.new
23
24
  end
@@ -4,6 +4,7 @@ require "lib/poolparty/monitors/web"
4
4
  describe "monitors" do
5
5
  describe "when included" do
6
6
  before(:each) do
7
+ stub_option_load
7
8
  Application.stub!(:client_port).and_return 8001
8
9
  @master = Master.new
9
10
  @instance = RemoteInstance.new
@@ -13,10 +13,22 @@ describe "Optioner with options" do
13
13
  it "should be able to pull out the lonely arguments with optional argument switches" do
14
14
  Optioner.parse("-s 30 -q -n start".split(" "), %w(-q -n)).should == ["start"]
15
15
  end
16
+ it "should be able to pull out the lonely arguments with optional argument switches in any order" do
17
+ Optioner.parse("start -s 30 -q -n".split(" "), %w(-q -n)).should == ["start"]
18
+ end
19
+ it "should be able to pull out the lonely, default arguments with optional argument switches" do
20
+ Optioner.parse("-s 30 -q -n start -i -v".split(" "), %w(-q -n)).should == ["start"]
21
+ end
16
22
  it "should pull out the lonely arguments if none are there" do
17
23
  Optioner.parse("-s 30 -q".split(" ")).should == []
18
24
  end
19
25
  it "should pull out empty array if there are no lonely arguments" do
20
26
  Optioner.parse("-s 30".split(" ")).should == []
21
27
  end
28
+ it "should pull out quoted arguments" do
29
+ Optioner.parse("-s 30 'ls'".split(" ")).should == ["'ls'"]
30
+ end
31
+ it "should be able to pull out a quoted argument in a sea of nonquotes" do
32
+ Optioner.parse("-v -k auser scp 'pkg/poolparty-0.0.9.gem'".split(" ")).should == ["scp", "'pkg/poolparty-0.0.9.gem'"]
33
+ end
22
34
  end
@@ -7,25 +7,25 @@ describe "Plugin manager" do
7
7
  end
8
8
  it "should git clone the directory when it is installing a plugin" do
9
9
  File.stub!(:directory?).and_return false
10
- Git.should_receive(:clone).with("git@github.com:auser/pool-party.git", "/Users/auser/Sites/work/citrusbyte/internal/gems/pool-party/pool/vendor/pool-party").and_return true
11
- PluginManager.install_plugin "git@github.com:auser/pool-party.git"
10
+ Git.should_receive(:clone).with("git@github.com:auser/PoolParty.git", "/Users/auser/Sites/work/citrusbyte/internal/gems/poolparty/pool/vendor/poolparty").and_return true
11
+ PluginManager.install_plugin "git@github.com:auser/PoolParty.git"
12
12
  end
13
13
  it "should keep a list of the installed plugin locations" do
14
- PluginManager.install_plugin "git@github.com:auser/pool-party-plugins.git"
15
- PoolParty.installed_plugins.should == ["git@github.com:auser/pool-party-plugins.git"]
14
+ PluginManager.install_plugin "git@github.com:auser/poolparty-plugins.git"
15
+ PoolParty.installed_plugins.should == ["git@github.com:auser/poolparty-plugins.git"]
16
16
  end
17
17
  it "should be able to rescan the plugin directory and tell which plugins are installed" do
18
- PluginManager.install_plugin "git@github.com:auser/pool-party-plugins.git"
19
- PluginManager.scan.should == %w(pool-party-plugins)
18
+ PluginManager.install_plugin "git@github.com:auser/poolparty-plugins.git"
19
+ PluginManager.scan.should == %w(poolparty-plugins)
20
20
  end
21
21
  it "should be able to remove a plugin based on the name" do
22
- PluginManager.install_plugin "git@github.com:auser/pool-party-plugins.git"
23
- PluginManager.remove_plugin "pool-party-plugins"
22
+ PluginManager.install_plugin "git@github.com:auser/poolparty-plugins.git"
23
+ PluginManager.remove_plugin "poolparty-plugins"
24
24
  PluginManager.scan.should == %w()
25
25
  end
26
26
  it "should be able to extract the git repos from the .git/config file" do
27
- PluginManager.install_plugin "git@github.com:auser/pool-party-plugins.git"
27
+ PluginManager.install_plugin "git@github.com:auser/poolparty-plugins.git"
28
28
  PoolParty.reset!
29
- PoolParty.installed_plugins.should == ["git@github.com:auser/pool-party-plugins.git"]
29
+ PoolParty.installed_plugins.should == ["git@github.com:auser/poolparty-plugins.git"]
30
30
  end
31
31
  end
data/spec/plugin_spec.rb CHANGED
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/spec_helper'
3
3
  class TestPlugin < PoolParty::Plugin
4
4
  after_define_tasks :takss
5
5
  after_install :echo_hosts, :email_updates
6
- before_configure :echo_hosts
6
+ before_configure_cloud :echo_hosts
7
7
  after_start :echo_start
8
8
 
9
9
  def echo_start(master)
@@ -32,6 +32,7 @@ describe "Plugin" do
32
32
  end
33
33
  describe "usage" do
34
34
  before(:each) do
35
+ stub_option_load
35
36
  @instance = RemoteInstance.new
36
37
  @master = Master.new
37
38
 
@@ -52,6 +53,7 @@ describe "Plugin" do
52
53
  end
53
54
  it "should should call echo_hosts after calling configure" do
54
55
  @test.should_receive(:echo_hosts).at_least(1)
56
+ # @instance.stub!(:)
55
57
  @instance.install
56
58
  end
57
59
  it "should call email_updates after calling install" do
@@ -60,14 +62,15 @@ describe "Plugin" do
60
62
  end
61
63
  it "should call echo_hosts before it calls configure" do
62
64
  @test.should_receive(:echo_hosts).at_least(1).and_return "hi"
63
- @instance.configure
65
+ @master.configure_cloud
64
66
  end
65
67
  it "should not call echo_hosts after if configures" do
66
68
  @test.should_not_receive(:email_updates)
67
- @instance.configure
69
+ @master.configure_cloud
68
70
  end
69
71
  it "should say that it started on the master" do
70
72
  @test.should_receive(:echo_start).at_least(1).and_return "hi"
73
+ @master.stub!(:install_cloud)
71
74
  @master.start
72
75
  end
73
76
  describe "instance methods" do
@@ -2,6 +2,9 @@ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe "Pool binary" do
4
4
  describe "running" do
5
+ before(:each) do
6
+ stub_option_load
7
+ end
5
8
  it "should call PoolParty.options" do
6
9
  options = PoolParty.options(:optsparse => {:banner => "Usage: pool [OPTIONS] {start | stop | list | maintain | restart}" })
7
10
  end
@@ -1,15 +1,20 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe "Application options" do
4
- it "should parse and use a config file if it is given for the options" do
5
- YAML.should_receive(:load).and_return({:config_file => "config/sample-config.yml"})
6
- Application.make_options(:config_file => "config/sample-config.yml")
7
- end
8
- it "should require all the plugin's init files in the plugin directory" do
9
- PoolParty.should_receive(:load_plugins).once
10
- Application.options
4
+ before(:each) do
5
+ # stub_option_load
11
6
  end
12
7
  it "should be able to say that the plugin directory is the current directory" do
13
8
  File.basename(PoolParty.plugin_dir).should == "vendor"
14
9
  end
10
+ it "should not load plugins if the directory doesn't exist" do
11
+ File.stub!(:directory?).with(plugin_dir).and_return false
12
+ Dir.should_not_receive(:[])
13
+ PoolParty.load_plugins
14
+ end
15
+ it "should load the plugins if the directory exists" do
16
+ File.stub!(:directory?).with(plugin_dir).and_return true
17
+ Dir.should_receive(:[]).and_return %w()
18
+ PoolParty.load_plugins
19
+ end
15
20
  end
@@ -2,6 +2,7 @@ require File.dirname(__FILE__) + '/spec_helper'
2
2
 
3
3
  describe "Provider" do
4
4
  before(:each) do
5
+ stub_option_load
5
6
  @ips = ["127.0.0.1"]
6
7
  end
7
8
  it "should be able to make a roles from the ips" do
@@ -11,6 +11,7 @@ class RemoteInstance
11
11
  end
12
12
  describe "remote instance" do
13
13
  before(:each) do
14
+ stub_option_load
14
15
  @instance = RemoteInstance.new({:ip => "127.0.0.1", :instance_id => "i-abcdef1"})
15
16
  @instance.stub!(:ssh).and_return true
16
17
  @instance.stub!(:scp).and_return true
@@ -53,14 +54,12 @@ describe "remote instance" do
53
54
  it "should be able to build a haproxy_entry" do
54
55
  @instance.haproxy_entry.should =~ /server/
55
56
  end
56
- describe "callbacks" do
57
- it "should call configure after it calls install"
58
- end
59
57
  end
60
58
  describe "new configuration style (build scripts)" do
61
59
  before(:each) do
62
60
  @tempfile = Tempfile.new("/tmp")
63
61
  Kernel.stub!(:system).and_return true
62
+ stub_option_load
64
63
  end
65
64
  # it "should try to run the scp build file" do
66
65
  # Master.should_receive(:build_scp_instances_script_for).with(@instance).and_return @tempfile
@@ -81,27 +80,37 @@ describe "remote instance" do
81
80
  describe "with a public ip" do
82
81
  before(:each) do
83
82
  Application.stub!(:public_ip).and_return "127.0.0.1"
83
+ Master.stub!(:new).and_return @master
84
+ @master.stub!(:nodes).and_return [@instance]
85
+ end
86
+ it "should call configure on the instances after configure_cloud" do
87
+ @instance.should_receive(:configure).and_return true
88
+ @master.configure_cloud
84
89
  end
85
90
  it "should run associate_address if there is a public_ip set in the Application.options" do
86
91
  @instance.should_receive(:associate_address_with).with(Application.public_ip, @instance.instance_id).and_return true
87
- @instance.configure
92
+ @master.configure_cloud
88
93
  end
89
94
  it "should not run associate_address_with if the public_ip is empty" do
90
95
  Application.stub!(:public_ip).and_return ""
91
96
  @instance.should_not_receive(:associate_address_with)
92
- @instance.configure
97
+ @master.configure_cloud
93
98
  end
94
99
 
95
100
  end
96
101
  end
97
102
  describe "in failover" do
103
+ before(:each) do
104
+ Master.stub!(:new).and_return @master
105
+ end
98
106
  it "should be able to become master " do
99
107
  @instance.stub!(:configure).and_return true
100
108
  @instance.number = 1
101
109
  @instance.become_master
102
110
  @instance.number.should == 0
103
111
  end
104
- it "should reconfigure after becoming master" do
112
+ it "should reconfigure after becoming master" do
113
+ @master.should_receive(:configure_cloud).and_return true
105
114
  @instance.should_receive(:configure).and_return true
106
115
  @instance.become_master
107
116
  end
@@ -124,6 +133,9 @@ describe "remote instance" do
124
133
  end
125
134
 
126
135
  describe "when installing the poolparty software" do
136
+ before(:each) do
137
+ @instance.stub!(:run_now).and_return ""
138
+ end
127
139
  it "should be able to detect if the stack_installed? == false" do
128
140
  @instance.stack_installed?.should == false
129
141
  end
@@ -133,17 +145,5 @@ describe "remote instance" do
133
145
  end
134
146
  end
135
147
 
136
- describe "when installing plugins" do
137
- it "should call update_plugins after become master" do
138
- @instance.should_receive(:update_plugins).at_least(1)
139
- @instance.configure
140
- end
141
- it "should try to install the plugins from the git repos of the installed plugins" do
142
- PluginManager.remove_plugin "pool-party-plugins"
143
- PluginManager.install_plugin "git@github.com:auser/pool-party-plugins.git"
144
- @instance.update_plugin_string.should == ["git@github.com:auser/pool-party-plugins.git"]
145
- end
146
- end
147
-
148
148
  end
149
149
  end
data/spec/remoter_spec.rb CHANGED
@@ -7,8 +7,10 @@ class TestRemote
7
7
  end
8
8
  describe "Remoter" do
9
9
  before(:each) do
10
+ stub_option_load
11
+
10
12
  @instance = RemoteInstance.new
11
- @master = Master.new
13
+ @master = Master.new
12
14
 
13
15
  @remoter = TestRemote.new
14
16
  @remoter.stub!(:put).and_return "true"
@@ -20,7 +22,7 @@ describe "Remoter" do
20
22
  Application.stub!(:username).and_return "root"
21
23
  end
22
24
  it "should have an ssh method that corresponds to ssm with the keypair" do
23
- @remoter.ssh_string.should == "ssh -i /Users/id_rsa-app -o StrictHostKeyChecking=no"
25
+ RemoteInstance.ssh_string.should == "ssh -i /Users/id_rsa-app -o StrictHostKeyChecking=no -l root"
24
26
  end
25
27
  it "should have a list of ssh_tasks" do
26
28
  @remoter.ssh_tasks.should == []
@@ -3,6 +3,7 @@ require File.dirname(__FILE__) + "/helpers/ec2_mock"
3
3
 
4
4
  describe "Master remoting: " do
5
5
  before(:each) do
6
+ stub_option_load
6
7
  Kernel.stub!(:system).and_return true
7
8
  Application.stub!(:environment).and_return("test") # So it doesn't daemonize
8
9
  Application.stub!(:minimum_instances).and_return(2)
@@ -11,7 +12,7 @@ describe "Master remoting: " do
11
12
  Application.stub!(:verbose).and_return(false) # Turn off messaging
12
13
 
13
14
  @master = Master.new
14
- @master.launch_new_instance!
15
+ @master.launch_new_instance!
15
16
  end
16
17
  describe "starting" do
17
18
  before(:each) do
@@ -61,12 +62,19 @@ describe "Master remoting: " do
61
62
  end
62
63
  end
63
64
  describe "configuring" do
65
+ before(:each) do
66
+ @instance = RemoteInstance.new
67
+ @instance.stub!(:ip).and_return "127.0.0.1"
68
+ @instance.stub!(:name).and_return "node0"
69
+ Master.stub!(:new).and_return @master
70
+ @master.stub!(:nodes).and_return [@instance]
71
+ end
64
72
  it "should call configure on all of the nodes when calling reconfigure_running_instances" do
65
73
  @master.nodes.each {|a|
66
74
  a.stub!(:status).and_return("running")
67
75
  a.should_receive(:configure).and_return true
68
76
  }
69
- @master.reconfigure_running_instances
77
+ @master.configure_cloud
70
78
  end
71
79
  it "should call restart_with_monit on all of the nodes when calling restart_running_instances_services" do
72
80
  @master.nodes.each {|a| a.should_receive(:restart_with_monit).and_return true }
@@ -64,12 +64,6 @@ describe "Scheduler" do
64
64
  @test.run_thread_list
65
65
  @test._tasker.tasks.size.should == 0
66
66
  end
67
- describe "daemonizing" do
68
- it "should detached the process" do
69
- Process.should_receive(:detach).once
70
- @test.daemonize
71
- end
72
- end
73
67
  end
74
68
  end
75
69
  end
data/spec/spec_helper.rb CHANGED
@@ -16,6 +16,19 @@ extend PoolParty
16
16
  Application.environment = "test"
17
17
  Application.verbose = false
18
18
 
19
+ def stub_option_load
20
+ @str=<<-EOS
21
+ :access_key:
22
+ 3.14159
23
+ EOS
24
+ @sio = StringIO.new
25
+ StringIO.stub!(:new).and_return @sio
26
+ Application.stub!(:open).with("http://169.254.169.254/latest/user-data").and_return @sio
27
+ @sio.stub!(:read).and_return @str
28
+ PoolParty.stub!(:timer).and_return Timeout
29
+ PoolParty.timer.stub!(:timeout).and_return lambda {YAML.load(open("http://169.254.169.254/latest/user-data").read)}
30
+ end
31
+
19
32
  def wait_launch(time=5)
20
33
  pid = fork {yield}
21
34
  wait time
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: auser-poolparty
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ari Lerner
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
11
-
12
- date: 2008-06-20 00:00:00 -07:00
10
+ cert_chain:
11
+ date: 2008-06-28 00:00:00 -07:00
13
12
  default_executable:
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
@@ -31,7 +30,7 @@ dependencies:
31
30
  version: "0"
32
31
  version:
33
32
  - !ruby/object:Gem::Dependency
34
- name: aska
33
+ name: auser-aska
35
34
  version_requirement:
36
35
  version_requirements: !ruby/object:Gem::Requirement
37
36
  requirements:
@@ -48,17 +47,41 @@ dependencies:
48
47
  - !ruby/object:Gem::Version
49
48
  version: "0"
50
49
  version:
50
+ - !ruby/object:Gem::Dependency
51
+ name: crafterm-sprinkle
52
+ version_requirement:
53
+ version_requirements: !ruby/object:Gem::Requirement
54
+ requirements:
55
+ - - ">="
56
+ - !ruby/object:Gem::Version
57
+ version: "0"
58
+ version:
59
+ - !ruby/object:Gem::Dependency
60
+ name: SystemTimer
61
+ version_requirement:
62
+ version_requirements: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: "0"
67
+ version:
51
68
  description: Run your entire application off EC2, managed and auto-scaling
52
69
  email: ari.lerner@citrusbyte.com
53
70
  executables:
54
71
  - instance
55
72
  - pool
73
+ - poolnotify
56
74
  extensions: []
57
75
 
58
76
  extra_rdoc_files:
77
+ - CHANGELOG
78
+ - README.txt
79
+ - bin
59
80
  - bin/instance
60
81
  - bin/pool
61
- - CHANGELOG
82
+ - bin/poolnotify
83
+ - lib
84
+ - lib/core
62
85
  - lib/core/array.rb
63
86
  - lib/core/exception.rb
64
87
  - lib/core/float.rb
@@ -69,20 +92,29 @@ extra_rdoc_files:
69
92
  - lib/core/proc.rb
70
93
  - lib/core/string.rb
71
94
  - lib/core/time.rb
95
+ - lib/modules
72
96
  - lib/modules/callback.rb
73
97
  - lib/modules/ec2_wrapper.rb
98
+ - lib/modules/file_writer.rb
74
99
  - lib/modules/safe_instance.rb
100
+ - lib/modules/sprinkle_overrides.rb
75
101
  - lib/modules/vlad_override.rb
102
+ - lib/poolparty
103
+ - lib/poolparty.rb
76
104
  - lib/poolparty/application.rb
77
105
  - lib/poolparty/init.rb
78
106
  - lib/poolparty/master.rb
107
+ - lib/poolparty/monitors
108
+ - lib/poolparty/monitors.rb
79
109
  - lib/poolparty/monitors/cpu.rb
80
110
  - lib/poolparty/monitors/memory.rb
81
111
  - lib/poolparty/monitors/web.rb
82
- - lib/poolparty/monitors.rb
83
112
  - lib/poolparty/optioner.rb
84
113
  - lib/poolparty/plugin.rb
85
114
  - lib/poolparty/plugin_manager.rb
115
+ - lib/poolparty/provider
116
+ - lib/poolparty/provider.rb
117
+ - lib/poolparty/provider/packages
86
118
  - lib/poolparty/provider/packages/essential.rb
87
119
  - lib/poolparty/provider/packages/git.rb
88
120
  - lib/poolparty/provider/packages/haproxy.rb
@@ -92,40 +124,49 @@ extra_rdoc_files:
92
124
  - lib/poolparty/provider/packages/ruby.rb
93
125
  - lib/poolparty/provider/packages/s3fuse.rb
94
126
  - lib/poolparty/provider/provider.rb
95
- - lib/poolparty/provider.rb
96
127
  - lib/poolparty/remote_instance.rb
97
128
  - lib/poolparty/remoter.rb
98
129
  - lib/poolparty/remoting.rb
99
130
  - lib/poolparty/scheduler.rb
131
+ - lib/poolparty/tasks
132
+ - lib/poolparty/tasks.rb
100
133
  - lib/poolparty/tasks/cloud.rake
101
134
  - lib/poolparty/tasks/development.rake
102
135
  - lib/poolparty/tasks/ec2.rake
103
136
  - lib/poolparty/tasks/instance.rake
137
+ - lib/poolparty/tasks/package.rake
104
138
  - lib/poolparty/tasks/plugins.rake
105
139
  - lib/poolparty/tasks/server.rake
106
- - lib/poolparty/tasks.rb
107
- - lib/poolparty/tmp.rb
108
- - lib/poolparty.rb
140
+ - lib/s3
109
141
  - lib/s3/s3_object_store_folders.rb
110
- - README.txt
111
142
  files:
112
- - archives/ruby-1.8.6-p111.tar.gz
143
+ - CHANGELOG
144
+ - README.txt
145
+ - Rakefile
146
+ - assets
147
+ - assets/clouds.png
148
+ - bin
113
149
  - bin/instance
114
150
  - bin/pool
115
- - CHANGELOG
151
+ - bin/poolnotify
152
+ - config
116
153
  - config/cloud_master_takeover
117
154
  - config/create_proxy_ami.sh
118
155
  - config/haproxy.conf
119
156
  - config/heartbeat.conf
120
157
  - config/heartbeat_authkeys.conf
158
+ - config/installers
121
159
  - config/installers/ubuntu_install.sh
160
+ - config/monit
161
+ - config/monit.conf
122
162
  - config/monit/haproxy.monit.conf
123
163
  - config/monit/nginx.monit.conf
124
- - config/monit.conf
125
164
  - config/nginx.conf
126
165
  - config/reconfigure_instances_script.sh
127
166
  - config/sample-config.yml
128
167
  - config/scp_instances_script.sh
168
+ - lib
169
+ - lib/core
129
170
  - lib/core/array.rb
130
171
  - lib/core/exception.rb
131
172
  - lib/core/float.rb
@@ -136,20 +177,29 @@ files:
136
177
  - lib/core/proc.rb
137
178
  - lib/core/string.rb
138
179
  - lib/core/time.rb
180
+ - lib/modules
139
181
  - lib/modules/callback.rb
140
182
  - lib/modules/ec2_wrapper.rb
183
+ - lib/modules/file_writer.rb
141
184
  - lib/modules/safe_instance.rb
185
+ - lib/modules/sprinkle_overrides.rb
142
186
  - lib/modules/vlad_override.rb
187
+ - lib/poolparty
188
+ - lib/poolparty.rb
143
189
  - lib/poolparty/application.rb
144
190
  - lib/poolparty/init.rb
145
191
  - lib/poolparty/master.rb
192
+ - lib/poolparty/monitors
193
+ - lib/poolparty/monitors.rb
146
194
  - lib/poolparty/monitors/cpu.rb
147
195
  - lib/poolparty/monitors/memory.rb
148
196
  - lib/poolparty/monitors/web.rb
149
- - lib/poolparty/monitors.rb
150
197
  - lib/poolparty/optioner.rb
151
198
  - lib/poolparty/plugin.rb
152
199
  - lib/poolparty/plugin_manager.rb
200
+ - lib/poolparty/provider
201
+ - lib/poolparty/provider.rb
202
+ - lib/poolparty/provider/packages
153
203
  - lib/poolparty/provider/packages/essential.rb
154
204
  - lib/poolparty/provider/packages/git.rb
155
205
  - lib/poolparty/provider/packages/haproxy.rb
@@ -159,31 +209,36 @@ files:
159
209
  - lib/poolparty/provider/packages/ruby.rb
160
210
  - lib/poolparty/provider/packages/s3fuse.rb
161
211
  - lib/poolparty/provider/provider.rb
162
- - lib/poolparty/provider.rb
163
212
  - lib/poolparty/remote_instance.rb
164
213
  - lib/poolparty/remoter.rb
165
214
  - lib/poolparty/remoting.rb
166
215
  - lib/poolparty/scheduler.rb
216
+ - lib/poolparty/tasks
217
+ - lib/poolparty/tasks.rb
167
218
  - lib/poolparty/tasks/cloud.rake
168
219
  - lib/poolparty/tasks/development.rake
169
220
  - lib/poolparty/tasks/ec2.rake
170
221
  - lib/poolparty/tasks/instance.rake
222
+ - lib/poolparty/tasks/package.rake
171
223
  - lib/poolparty/tasks/plugins.rake
172
224
  - lib/poolparty/tasks/server.rake
173
- - lib/poolparty/tasks.rb
174
- - lib/poolparty/tmp.rb
175
- - lib/poolparty.rb
225
+ - lib/s3
176
226
  - lib/s3/s3_object_store_folders.rb
177
- - Manifest
178
- - misc/basics_tutorial.txt
179
- - Rakefile
180
- - README.txt
227
+ - spec
181
228
  - spec/application_spec.rb
182
229
  - spec/callback_spec.rb
183
230
  - spec/core_spec.rb
231
+ - spec/ec2_wrapper_spec.rb
232
+ - spec/file_writer_spec.rb
233
+ - spec/files
234
+ - spec/files/describe_response
235
+ - spec/files/multi_describe_response
236
+ - spec/files/remote_desc_response
237
+ - spec/helpers
184
238
  - spec/helpers/ec2_mock.rb
185
239
  - spec/kernel_spec.rb
186
240
  - spec/master_spec.rb
241
+ - spec/monitors
187
242
  - spec/monitors/cpu_monitor_spec.rb
188
243
  - spec/monitors/memory_spec.rb
189
244
  - spec/monitors/misc_monitor_spec.rb
@@ -200,34 +255,10 @@ files:
200
255
  - spec/scheduler_spec.rb
201
256
  - spec/spec_helper.rb
202
257
  - spec/string_spec.rb
203
- - tmp/node0-pool-party-ha.cf
204
- - tmp/node0-pool-party-haresources
205
- - tmp/node0-pool-party-hosts
206
- - tmp/node1-pool-party-ha.cf
207
- - tmp/node1-pool-party-haresources
208
- - tmp/node1-pool-party-hosts
209
- - tmp/pool-party-haproxy.cfg
210
- - web/static/conf/nginx.conf
211
- - web/static/site/images/balloon.png
212
- - web/static/site/images/cb.png
213
- - web/static/site/images/clouds.png
214
- - web/static/site/images/railsconf_preso_img.png
215
- - web/static/site/index.html
216
- - web/static/site/javascripts/application.js
217
- - web/static/site/javascripts/corner.js
218
- - web/static/site/javascripts/jquery-1.2.6.pack.js
219
- - web/static/site/misc.html
220
- - web/static/site/storage/pool_party_presentation.pdf
221
- - web/static/site/stylesheets/application.css
222
- - web/static/site/stylesheets/reset.css
223
- - web/static/src/layouts/application.haml
224
- - web/static/src/pages/index.haml
225
- - web/static/src/pages/misc.haml
226
- - web/static/src/stylesheets/application.sass
227
258
  - poolparty.gemspec
228
259
  has_rdoc: true
229
260
  homepage: http://blog.citrusbyte.com
230
- post_install_message: " Thanks for installing PoolParty!\n \n Please check out the documentation for any questions or check out the google groups at\n http://groups.google.com/group/poolpartyrb\n \n Don't forget to check out the plugins for extending PoolParty!\n \n For more information, check http://poolpartyrb.com\n *** Ari Lerner @ <ari.lerner@citrusbyte.com> ***\n"
261
+ post_install_message: "\n \n Get ready to jump in the pool, you just installed PoolParty! (Updated at 05:15PM, 06/28/08)\n\n Please check out the documentation for any questions or check out the google groups at\n http://groups.google.com/group/poolpartyrb\n\n Don't forget to check out the plugin tutorial @ http://poolpartyrb.com for extending PoolParty! \n\n For more information, check http://poolpartyrb.com\n On IRC: \n irc.freenode.net\n #poolpartyrb\n *** Ari Lerner @ <ari.lerner@citrusbyte.com> ***\n "
231
262
  rdoc_options:
232
263
  - --line-numbers
233
264
  - --inline-source
@@ -245,14 +276,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
245
276
  version:
246
277
  required_rubygems_version: !ruby/object:Gem::Requirement
247
278
  requirements:
248
- - - ">="
279
+ - - "="
249
280
  - !ruby/object:Gem::Version
250
- version: "0"
281
+ version: "1.2"
251
282
  version:
252
283
  requirements: []
253
284
 
254
285
  rubyforge_project: poolparty
255
- rubygems_version: 1.0.1
286
+ rubygems_version: 1.2.0
256
287
  signing_key:
257
288
  specification_version: 2
258
289
  summary: Run your entire application off EC2, managed and auto-scaling