auser-poolparty 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +1 -0
- data/README.txt +5 -7
- data/Rakefile +27 -12
- data/bin/instance +2 -2
- data/bin/pool +8 -6
- data/config/reconfigure_instances_script.sh +3 -3
- data/config/sample-config.yml +1 -1
- data/lib/core/array.rb +5 -2
- data/lib/core/hash.rb +1 -1
- data/lib/core/string.rb +6 -2
- data/lib/helpers/plugin_spec_helper.rb +4 -5
- data/lib/modules/sprinkle_overrides.rb +24 -29
- data/lib/poolparty/application.rb +37 -27
- data/lib/poolparty/master.rb +35 -14
- data/lib/poolparty/plugin.rb +11 -6
- data/lib/poolparty/plugin_manager.rb +2 -2
- data/lib/poolparty/provider/{packages/essential.rb → essential.rb} +0 -0
- data/lib/poolparty/provider/{packages/git.rb → git.rb} +0 -0
- data/lib/poolparty/provider/{packages/haproxy.rb → haproxy.rb} +1 -1
- data/lib/poolparty/provider/{packages/heartbeat.rb → heartbeat.rb} +0 -0
- data/lib/poolparty/provider/{packages/rsync.rb → rsync.rb} +0 -0
- data/lib/poolparty/provider/{packages/ruby.rb → ruby.rb} +1 -1
- data/lib/poolparty/provider/{packages/s3fuse.rb → s3fuse.rb} +0 -0
- data/lib/poolparty/provider.rb +86 -2
- data/lib/poolparty/remote_instance.rb +35 -21
- data/lib/poolparty/remoter.rb +4 -1
- data/lib/poolparty/remoting.rb +2 -1
- data/lib/poolparty/tasks/cloud.rake +1 -1
- data/lib/poolparty/tasks/development.rake +48 -13
- data/lib/poolparty/tasks.rb +24 -6
- data/lib/poolparty.rb +8 -4
- data/poolparty.gemspec +10 -7
- data/spec/helpers/ec2_mock.rb +5 -2
- data/spec/{application_spec.rb → lib/application_spec.rb} +42 -9
- data/spec/{callback_spec.rb → lib/callback_spec.rb} +1 -1
- data/spec/{core_spec.rb → lib/core_spec.rb} +6 -4
- data/spec/{ec2_wrapper_spec.rb → lib/ec2_wrapper_spec.rb} +3 -3
- data/spec/{file_writer_spec.rb → lib/file_writer_spec.rb} +2 -2
- data/spec/{kernel_spec.rb → lib/kernel_spec.rb} +1 -1
- data/spec/{master_spec.rb → lib/master_spec.rb} +38 -16
- data/spec/{optioner_spec.rb → lib/optioner_spec.rb} +1 -1
- data/spec/{plugin_manager_spec.rb → lib/plugin_manager_spec.rb} +3 -3
- data/spec/{plugin_spec.rb → lib/plugin_spec.rb} +12 -1
- data/spec/{pool_binary_spec.rb → lib/pool_binary_spec.rb} +1 -1
- data/spec/{poolparty_spec.rb → lib/poolparty_spec.rb} +5 -5
- data/spec/lib/provider_spec.rb +72 -0
- data/spec/{remote_instance_spec.rb → lib/remote_instance_spec.rb} +51 -9
- data/spec/{remoter_spec.rb → lib/remoter_spec.rb} +7 -2
- data/spec/{remoting_spec.rb → lib/remoting_spec.rb} +60 -4
- data/spec/{scheduler_spec.rb → lib/scheduler_spec.rb} +1 -1
- data/spec/{string_spec.rb → lib/string_spec.rb} +1 -1
- data/spec/monitors/cpu_monitor_spec.rb +2 -2
- data/spec/monitors/memory_spec.rb +3 -3
- data/spec/monitors/misc_monitor_spec.rb +1 -1
- data/spec/monitors/web_spec.rb +3 -3
- metadata +46 -41
- data/lib/poolparty/provider/packages/monit.rb +0 -6
- data/lib/poolparty/provider/provider.rb +0 -100
- data/spec/provider_spec.rb +0 -18
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auser-poolparty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ari Lerner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
|
-
date: 2008-07-
|
11
|
+
date: 2008-07-19 00:00:00 -07:00
|
12
12
|
default_executable:
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
@@ -65,6 +65,15 @@ dependencies:
|
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: "0"
|
67
67
|
version:
|
68
|
+
- !ruby/object:Gem::Dependency
|
69
|
+
name: open4
|
70
|
+
version_requirement:
|
71
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: "0"
|
76
|
+
version:
|
68
77
|
- !ruby/object:Gem::Dependency
|
69
78
|
name: echoe
|
70
79
|
version_requirement:
|
@@ -125,16 +134,13 @@ extra_rdoc_files:
|
|
125
134
|
- lib/poolparty/plugin_manager.rb
|
126
135
|
- lib/poolparty/provider
|
127
136
|
- lib/poolparty/provider.rb
|
128
|
-
- lib/poolparty/provider/
|
129
|
-
- lib/poolparty/provider/
|
130
|
-
- lib/poolparty/provider/
|
131
|
-
- lib/poolparty/provider/
|
132
|
-
- lib/poolparty/provider/
|
133
|
-
- lib/poolparty/provider/
|
134
|
-
- lib/poolparty/provider/
|
135
|
-
- lib/poolparty/provider/packages/ruby.rb
|
136
|
-
- lib/poolparty/provider/packages/s3fuse.rb
|
137
|
-
- lib/poolparty/provider/provider.rb
|
137
|
+
- lib/poolparty/provider/essential.rb
|
138
|
+
- lib/poolparty/provider/git.rb
|
139
|
+
- lib/poolparty/provider/haproxy.rb
|
140
|
+
- lib/poolparty/provider/heartbeat.rb
|
141
|
+
- lib/poolparty/provider/rsync.rb
|
142
|
+
- lib/poolparty/provider/ruby.rb
|
143
|
+
- lib/poolparty/provider/s3fuse.rb
|
138
144
|
- lib/poolparty/remote_instance.rb
|
139
145
|
- lib/poolparty/remoter.rb
|
140
146
|
- lib/poolparty/remoting.rb
|
@@ -212,16 +218,13 @@ files:
|
|
212
218
|
- lib/poolparty/plugin_manager.rb
|
213
219
|
- lib/poolparty/provider
|
214
220
|
- lib/poolparty/provider.rb
|
215
|
-
- lib/poolparty/provider/
|
216
|
-
- lib/poolparty/provider/
|
217
|
-
- lib/poolparty/provider/
|
218
|
-
- lib/poolparty/provider/
|
219
|
-
- lib/poolparty/provider/
|
220
|
-
- lib/poolparty/provider/
|
221
|
-
- lib/poolparty/provider/
|
222
|
-
- lib/poolparty/provider/packages/ruby.rb
|
223
|
-
- lib/poolparty/provider/packages/s3fuse.rb
|
224
|
-
- lib/poolparty/provider/provider.rb
|
221
|
+
- lib/poolparty/provider/essential.rb
|
222
|
+
- lib/poolparty/provider/git.rb
|
223
|
+
- lib/poolparty/provider/haproxy.rb
|
224
|
+
- lib/poolparty/provider/heartbeat.rb
|
225
|
+
- lib/poolparty/provider/rsync.rb
|
226
|
+
- lib/poolparty/provider/ruby.rb
|
227
|
+
- lib/poolparty/provider/s3fuse.rb
|
225
228
|
- lib/poolparty/remote_instance.rb
|
226
229
|
- lib/poolparty/remoter.rb
|
227
230
|
- lib/poolparty/remoting.rb
|
@@ -237,41 +240,43 @@ files:
|
|
237
240
|
- lib/poolparty/thread_pool.rb
|
238
241
|
- lib/s3
|
239
242
|
- lib/s3/s3_object_store_folders.rb
|
243
|
+
- plugins
|
240
244
|
- spec
|
241
|
-
- spec/application_spec.rb
|
242
|
-
- spec/callback_spec.rb
|
243
|
-
- spec/core_spec.rb
|
244
|
-
- spec/ec2_wrapper_spec.rb
|
245
|
-
- spec/file_writer_spec.rb
|
246
245
|
- spec/files
|
247
246
|
- spec/files/describe_response
|
248
247
|
- spec/files/multi_describe_response
|
249
248
|
- spec/files/remote_desc_response
|
250
249
|
- spec/helpers
|
251
250
|
- spec/helpers/ec2_mock.rb
|
252
|
-
- spec/
|
253
|
-
- spec/
|
251
|
+
- spec/lib
|
252
|
+
- spec/lib/application_spec.rb
|
253
|
+
- spec/lib/callback_spec.rb
|
254
|
+
- spec/lib/core_spec.rb
|
255
|
+
- spec/lib/ec2_wrapper_spec.rb
|
256
|
+
- spec/lib/file_writer_spec.rb
|
257
|
+
- spec/lib/kernel_spec.rb
|
258
|
+
- spec/lib/master_spec.rb
|
259
|
+
- spec/lib/optioner_spec.rb
|
260
|
+
- spec/lib/plugin_manager_spec.rb
|
261
|
+
- spec/lib/plugin_spec.rb
|
262
|
+
- spec/lib/pool_binary_spec.rb
|
263
|
+
- spec/lib/poolparty_spec.rb
|
264
|
+
- spec/lib/provider_spec.rb
|
265
|
+
- spec/lib/remote_instance_spec.rb
|
266
|
+
- spec/lib/remoter_spec.rb
|
267
|
+
- spec/lib/remoting_spec.rb
|
268
|
+
- spec/lib/scheduler_spec.rb
|
269
|
+
- spec/lib/string_spec.rb
|
254
270
|
- spec/monitors
|
255
271
|
- spec/monitors/cpu_monitor_spec.rb
|
256
272
|
- spec/monitors/memory_spec.rb
|
257
273
|
- spec/monitors/misc_monitor_spec.rb
|
258
274
|
- spec/monitors/web_spec.rb
|
259
|
-
- spec/optioner_spec.rb
|
260
|
-
- spec/plugin_manager_spec.rb
|
261
|
-
- spec/plugin_spec.rb
|
262
|
-
- spec/pool_binary_spec.rb
|
263
|
-
- spec/poolparty_spec.rb
|
264
|
-
- spec/provider_spec.rb
|
265
|
-
- spec/remote_instance_spec.rb
|
266
|
-
- spec/remoter_spec.rb
|
267
|
-
- spec/remoting_spec.rb
|
268
|
-
- spec/scheduler_spec.rb
|
269
275
|
- spec/spec_helper.rb
|
270
|
-
- spec/string_spec.rb
|
271
276
|
- poolparty.gemspec
|
272
277
|
has_rdoc: true
|
273
278
|
homepage: http://poolpartyrb.com
|
274
|
-
post_install_message: "\n \n Get ready to jump in the pool, you just installed PoolParty! (Updated at
|
279
|
+
post_install_message: "\n \n Get ready to jump in the pool, you just installed PoolParty! (Updated at 05:57PM, 07/19/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 / #poolpartyrb\n \n *** Ari Lerner @ <ari.lerner@citrusbyte.com> ***\n "
|
275
280
|
rdoc_options:
|
276
281
|
- --line-numbers
|
277
282
|
- --inline-source
|
@@ -1,100 +0,0 @@
|
|
1
|
-
module PoolParty
|
2
|
-
class Provider
|
3
|
-
class << self
|
4
|
-
attr_accessor :user_packages
|
5
|
-
end
|
6
|
-
|
7
|
-
def self.install_poolparty(ips)
|
8
|
-
@ips = ips
|
9
|
-
|
10
|
-
load_str = load_packages
|
11
|
-
|
12
|
-
script=<<-EOS
|
13
|
-
#{load_str.join("\n")}
|
14
|
-
|
15
|
-
policy :poolparty, :roles => :app do
|
16
|
-
requires :git
|
17
|
-
requires :ruby
|
18
|
-
requires :failover
|
19
|
-
requires :proxy
|
20
|
-
requires :monit
|
21
|
-
requires :s3fs
|
22
|
-
requires :rsync
|
23
|
-
requires :required_gems
|
24
|
-
end
|
25
|
-
|
26
|
-
#{install_from_sprinkle_string}
|
27
|
-
EOS
|
28
|
-
|
29
|
-
PoolParty.message "Installing required poolparty paraphernalia"
|
30
|
-
Sprinkle::Script.sprinkle script
|
31
|
-
end
|
32
|
-
|
33
|
-
def self.install_userpackages(ips)
|
34
|
-
@ips = ips
|
35
|
-
|
36
|
-
script=<<-EOS
|
37
|
-
#{load_strings.join("\n")}
|
38
|
-
|
39
|
-
policy :userpackages, :roles => :app do
|
40
|
-
#{user_packages.join("\n")}
|
41
|
-
end
|
42
|
-
|
43
|
-
#{install_from_sprinkle_string}
|
44
|
-
EOS
|
45
|
-
|
46
|
-
PoolParty.message "Installing user defined packages"
|
47
|
-
Sprinkle::Script.sprinkle script# unless load_strings.empty?
|
48
|
-
end
|
49
|
-
|
50
|
-
def self.define_user_package string
|
51
|
-
user_packages << string
|
52
|
-
end
|
53
|
-
|
54
|
-
def self.define_user_install string
|
55
|
-
load_strings << string
|
56
|
-
end
|
57
|
-
|
58
|
-
def self.user_packages
|
59
|
-
@@user_packages ||= []
|
60
|
-
end
|
61
|
-
|
62
|
-
def self.load_strings
|
63
|
-
@@load_strings ||= []
|
64
|
-
end
|
65
|
-
|
66
|
-
def self.load_packages
|
67
|
-
load_str = []
|
68
|
-
returning load_str do
|
69
|
-
Dir["#{File.expand_path(File.dirname(__FILE__))}/packages/*"].each {|f| load_str << open(f).read}
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
def self.install_from_sprinkle_string
|
74
|
-
<<-EOS
|
75
|
-
deployment do
|
76
|
-
delivery :vlad do
|
77
|
-
|
78
|
-
set :ssh_flags, "#{RemoteInstance.ssh_string.gsub(/ssh/, '')}"
|
79
|
-
|
80
|
-
#{string_roles_from_ips(@ips)}
|
81
|
-
end
|
82
|
-
|
83
|
-
source do
|
84
|
-
prefix '/usr/local'
|
85
|
-
archives '/root/sources'
|
86
|
-
builds '/root/builds'
|
87
|
-
end
|
88
|
-
|
89
|
-
end
|
90
|
-
EOS
|
91
|
-
end
|
92
|
-
|
93
|
-
def self.string_roles_from_ips(ips)
|
94
|
-
ips.collect do |ip|
|
95
|
-
"role :app, '#{ip}'"
|
96
|
-
end.join("\n")
|
97
|
-
end
|
98
|
-
|
99
|
-
end
|
100
|
-
end
|
data/spec/provider_spec.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/spec_helper'
|
2
|
-
|
3
|
-
describe "Provider" do
|
4
|
-
before(:each) do
|
5
|
-
stub_option_load
|
6
|
-
@ips = ["127.0.0.1"]
|
7
|
-
end
|
8
|
-
it "should be able to make a roles from the ips" do
|
9
|
-
Provider.string_roles_from_ips(@ips).should == "role :app, '127.0.0.1'"
|
10
|
-
end
|
11
|
-
describe "running" do
|
12
|
-
it "should be able to run with the provided packages" do
|
13
|
-
Sprinkle::Script.should_receive(:sprinkle).once.and_return true
|
14
|
-
Provider.should_receive(:string_roles_from_ips).with(@ips).and_return ""
|
15
|
-
Provider.install_poolparty(@ips)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|