auser-poolparty 0.1.0 → 0.1.1
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.
- 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
|