auser-poolparty 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +8 -0
- data/README.txt +10 -10
- data/Rakefile +30 -21
- data/{web/static/site/images → assets}/clouds.png +0 -0
- data/bin/instance +39 -34
- data/bin/pool +44 -29
- data/bin/poolnotify +34 -0
- data/config/haproxy.conf +1 -1
- data/config/heartbeat_authkeys.conf +1 -1
- data/config/monit/haproxy.monit.conf +2 -1
- data/config/nginx.conf +1 -1
- data/config/reconfigure_instances_script.sh +28 -9
- data/config/sample-config.yml +1 -1
- data/lib/core/string.rb +3 -0
- data/lib/modules/ec2_wrapper.rb +47 -22
- data/lib/modules/file_writer.rb +38 -0
- data/lib/modules/sprinkle_overrides.rb +32 -0
- data/lib/modules/vlad_override.rb +5 -4
- data/lib/poolparty.rb +14 -10
- data/lib/poolparty/application.rb +33 -19
- data/lib/poolparty/master.rb +227 -105
- data/lib/poolparty/optioner.rb +8 -4
- data/lib/poolparty/plugin.rb +34 -4
- data/lib/poolparty/provider/packages/haproxy.rb +0 -15
- data/lib/poolparty/provider/packages/heartbeat.rb +1 -1
- data/lib/poolparty/provider/packages/ruby.rb +6 -6
- data/lib/poolparty/provider/packages/s3fuse.rb +9 -2
- data/lib/poolparty/provider/provider.rb +65 -25
- data/lib/poolparty/remote_instance.rb +95 -74
- data/lib/poolparty/remoter.rb +48 -37
- data/lib/poolparty/remoting.rb +41 -17
- data/lib/poolparty/scheduler.rb +4 -4
- data/lib/poolparty/tasks.rb +1 -1
- data/lib/poolparty/tasks/package.rake +53 -0
- data/lib/poolparty/tasks/plugins.rake +1 -1
- data/poolparty.gemspec +50 -58
- data/spec/application_spec.rb +28 -0
- data/spec/core_spec.rb +9 -0
- data/spec/ec2_wrapper_spec.rb +87 -0
- data/spec/file_writer_spec.rb +73 -0
- data/spec/files/describe_response +37 -0
- data/spec/files/multi_describe_response +69 -0
- data/spec/files/remote_desc_response +37 -0
- data/spec/helpers/ec2_mock.rb +3 -0
- data/spec/master_spec.rb +302 -78
- data/spec/monitors/cpu_monitor_spec.rb +2 -1
- data/spec/monitors/memory_spec.rb +1 -0
- data/spec/monitors/misc_monitor_spec.rb +1 -0
- data/spec/monitors/web_spec.rb +1 -0
- data/spec/optioner_spec.rb +12 -0
- data/spec/plugin_manager_spec.rb +10 -10
- data/spec/plugin_spec.rb +6 -3
- data/spec/pool_binary_spec.rb +3 -0
- data/spec/poolparty_spec.rb +12 -7
- data/spec/provider_spec.rb +1 -0
- data/spec/remote_instance_spec.rb +18 -18
- data/spec/remoter_spec.rb +4 -2
- data/spec/remoting_spec.rb +10 -2
- data/spec/scheduler_spec.rb +0 -6
- data/spec/spec_helper.rb +13 -0
- metadata +83 -52
- data/Manifest +0 -115
- data/lib/poolparty/tmp.rb +0 -46
- data/misc/basics_tutorial.txt +0 -142
- data/web/static/conf/nginx.conf +0 -22
- data/web/static/site/images/balloon.png +0 -0
- data/web/static/site/images/cb.png +0 -0
- data/web/static/site/images/railsconf_preso_img.png +0 -0
- data/web/static/site/index.html +0 -71
- data/web/static/site/javascripts/application.js +0 -3
- data/web/static/site/javascripts/corner.js +0 -178
- data/web/static/site/javascripts/jquery-1.2.6.pack.js +0 -11
- data/web/static/site/misc.html +0 -42
- data/web/static/site/storage/pool_party_presentation.pdf +0 -0
- data/web/static/site/stylesheets/application.css +0 -100
- data/web/static/site/stylesheets/reset.css +0 -17
- data/web/static/src/layouts/application.haml +0 -25
- data/web/static/src/pages/index.haml +0 -25
- data/web/static/src/pages/misc.haml +0 -5
- data/web/static/src/stylesheets/application.sass +0 -100
data/spec/monitors/web_spec.rb
CHANGED
data/spec/optioner_spec.rb
CHANGED
@@ -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
|
data/spec/plugin_manager_spec.rb
CHANGED
@@ -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/
|
11
|
-
PluginManager.install_plugin "git@github.com:auser/
|
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/
|
15
|
-
PoolParty.installed_plugins.should == ["git@github.com:auser/
|
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/
|
19
|
-
PluginManager.scan.should == %w(
|
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/
|
23
|
-
PluginManager.remove_plugin "
|
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/
|
27
|
+
PluginManager.install_plugin "git@github.com:auser/poolparty-plugins.git"
|
28
28
|
PoolParty.reset!
|
29
|
-
PoolParty.installed_plugins.should == ["git@github.com:auser/
|
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
|
-
|
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
|
-
@
|
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
|
-
@
|
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
|
data/spec/pool_binary_spec.rb
CHANGED
@@ -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
|
data/spec/poolparty_spec.rb
CHANGED
@@ -1,15 +1,20 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/spec_helper'
|
2
2
|
|
3
3
|
describe "Application options" do
|
4
|
-
|
5
|
-
|
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
|
data/spec/provider_spec.rb
CHANGED
@@ -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
|
-
@
|
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
|
-
@
|
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
|
-
|
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 == []
|
data/spec/remoting_spec.rb
CHANGED
@@ -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.
|
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 }
|
data/spec/scheduler_spec.rb
CHANGED
@@ -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.
|
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
|
-
-
|
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/
|
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
|
-
-
|
143
|
+
- CHANGELOG
|
144
|
+
- README.txt
|
145
|
+
- Rakefile
|
146
|
+
- assets
|
147
|
+
- assets/clouds.png
|
148
|
+
- bin
|
113
149
|
- bin/instance
|
114
150
|
- bin/pool
|
115
|
-
-
|
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/
|
174
|
-
- lib/poolparty/tmp.rb
|
175
|
-
- lib/poolparty.rb
|
225
|
+
- lib/s3
|
176
226
|
- lib/s3/s3_object_store_folders.rb
|
177
|
-
-
|
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: "
|
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: "
|
281
|
+
version: "1.2"
|
251
282
|
version:
|
252
283
|
requirements: []
|
253
284
|
|
254
285
|
rubyforge_project: poolparty
|
255
|
-
rubygems_version: 1.0
|
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
|