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.
Files changed (59) hide show
  1. data/CHANGELOG +1 -0
  2. data/README.txt +5 -7
  3. data/Rakefile +27 -12
  4. data/bin/instance +2 -2
  5. data/bin/pool +8 -6
  6. data/config/reconfigure_instances_script.sh +3 -3
  7. data/config/sample-config.yml +1 -1
  8. data/lib/core/array.rb +5 -2
  9. data/lib/core/hash.rb +1 -1
  10. data/lib/core/string.rb +6 -2
  11. data/lib/helpers/plugin_spec_helper.rb +4 -5
  12. data/lib/modules/sprinkle_overrides.rb +24 -29
  13. data/lib/poolparty/application.rb +37 -27
  14. data/lib/poolparty/master.rb +35 -14
  15. data/lib/poolparty/plugin.rb +11 -6
  16. data/lib/poolparty/plugin_manager.rb +2 -2
  17. data/lib/poolparty/provider/{packages/essential.rb → essential.rb} +0 -0
  18. data/lib/poolparty/provider/{packages/git.rb → git.rb} +0 -0
  19. data/lib/poolparty/provider/{packages/haproxy.rb → haproxy.rb} +1 -1
  20. data/lib/poolparty/provider/{packages/heartbeat.rb → heartbeat.rb} +0 -0
  21. data/lib/poolparty/provider/{packages/rsync.rb → rsync.rb} +0 -0
  22. data/lib/poolparty/provider/{packages/ruby.rb → ruby.rb} +1 -1
  23. data/lib/poolparty/provider/{packages/s3fuse.rb → s3fuse.rb} +0 -0
  24. data/lib/poolparty/provider.rb +86 -2
  25. data/lib/poolparty/remote_instance.rb +35 -21
  26. data/lib/poolparty/remoter.rb +4 -1
  27. data/lib/poolparty/remoting.rb +2 -1
  28. data/lib/poolparty/tasks/cloud.rake +1 -1
  29. data/lib/poolparty/tasks/development.rake +48 -13
  30. data/lib/poolparty/tasks.rb +24 -6
  31. data/lib/poolparty.rb +8 -4
  32. data/poolparty.gemspec +10 -7
  33. data/spec/helpers/ec2_mock.rb +5 -2
  34. data/spec/{application_spec.rb → lib/application_spec.rb} +42 -9
  35. data/spec/{callback_spec.rb → lib/callback_spec.rb} +1 -1
  36. data/spec/{core_spec.rb → lib/core_spec.rb} +6 -4
  37. data/spec/{ec2_wrapper_spec.rb → lib/ec2_wrapper_spec.rb} +3 -3
  38. data/spec/{file_writer_spec.rb → lib/file_writer_spec.rb} +2 -2
  39. data/spec/{kernel_spec.rb → lib/kernel_spec.rb} +1 -1
  40. data/spec/{master_spec.rb → lib/master_spec.rb} +38 -16
  41. data/spec/{optioner_spec.rb → lib/optioner_spec.rb} +1 -1
  42. data/spec/{plugin_manager_spec.rb → lib/plugin_manager_spec.rb} +3 -3
  43. data/spec/{plugin_spec.rb → lib/plugin_spec.rb} +12 -1
  44. data/spec/{pool_binary_spec.rb → lib/pool_binary_spec.rb} +1 -1
  45. data/spec/{poolparty_spec.rb → lib/poolparty_spec.rb} +5 -5
  46. data/spec/lib/provider_spec.rb +72 -0
  47. data/spec/{remote_instance_spec.rb → lib/remote_instance_spec.rb} +51 -9
  48. data/spec/{remoter_spec.rb → lib/remoter_spec.rb} +7 -2
  49. data/spec/{remoting_spec.rb → lib/remoting_spec.rb} +60 -4
  50. data/spec/{scheduler_spec.rb → lib/scheduler_spec.rb} +1 -1
  51. data/spec/{string_spec.rb → lib/string_spec.rb} +1 -1
  52. data/spec/monitors/cpu_monitor_spec.rb +2 -2
  53. data/spec/monitors/memory_spec.rb +3 -3
  54. data/spec/monitors/misc_monitor_spec.rb +1 -1
  55. data/spec/monitors/web_spec.rb +3 -3
  56. metadata +46 -41
  57. data/lib/poolparty/provider/packages/monit.rb +0 -6
  58. data/lib/poolparty/provider/provider.rb +0 -100
  59. 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.0
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-02 00:00:00 -07:00
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/packages
129
- - lib/poolparty/provider/packages/essential.rb
130
- - lib/poolparty/provider/packages/git.rb
131
- - lib/poolparty/provider/packages/haproxy.rb
132
- - lib/poolparty/provider/packages/heartbeat.rb
133
- - lib/poolparty/provider/packages/monit.rb
134
- - lib/poolparty/provider/packages/rsync.rb
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/packages
216
- - lib/poolparty/provider/packages/essential.rb
217
- - lib/poolparty/provider/packages/git.rb
218
- - lib/poolparty/provider/packages/haproxy.rb
219
- - lib/poolparty/provider/packages/heartbeat.rb
220
- - lib/poolparty/provider/packages/monit.rb
221
- - lib/poolparty/provider/packages/rsync.rb
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/kernel_spec.rb
253
- - spec/master_spec.rb
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 02:12PM, 07/02/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 "
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,6 +0,0 @@
1
- package :monit do
2
- description "Monit monitoring service"
3
- apt %w( monit )
4
-
5
- post :apt, "sudo mkdir /etc/monit", "sed -i 's/startup=0/startup=1/g' /etc/default/monit"
6
- end
@@ -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
@@ -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