auser-poolparty 1.2.8 → 1.2.9
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +1 -1
- data/bin/cloud-list +4 -4
- data/bin/cloud-provision +2 -0
- data/bin/cloud-ssh +1 -1
- data/bin/install-poolparty +1 -1
- data/examples/fairchild.rb +26 -17
- data/examples/metavirt_cloud.rb +2 -4
- data/lib/poolparty.rb +2 -7
- data/lib/poolparty/core/array.rb +1 -1
- data/lib/poolparty/core/exception.rb +1 -1
- data/lib/poolparty/core/hash.rb +12 -5
- data/lib/poolparty/core/integer.rb +11 -0
- data/lib/poolparty/core/object.rb +14 -0
- data/lib/poolparty/core/string.rb +6 -1
- data/lib/poolparty/core/time.rb +6 -0
- data/lib/poolparty/extra/duration.rb +96 -0
- data/lib/poolparty/helpers/binary.rb +1 -1
- data/lib/poolparty/modules/cloud_resourcer.rb +1 -1
- data/lib/poolparty/modules/definable_resource.rb +5 -7
- data/lib/poolparty/modules/output.rb +2 -2
- data/lib/poolparty/monitors/base_monitor.rb +17 -0
- data/lib/poolparty/net/init.rb +4 -11
- data/lib/poolparty/net/remote_instance.rb +5 -0
- data/lib/poolparty/net/remoter/connections.rb +14 -11
- data/lib/poolparty/net/remoter/interactive.rb +13 -2
- data/lib/poolparty/net/remoter_base.rb +9 -4
- data/lib/poolparty/net/remoter_bases/ec2/ec2.rb +50 -35
- data/lib/poolparty/net/remoter_bases/ec2/ec2_remote_instance.rb +46 -5
- data/lib/poolparty/net/remoter_bases/ec2/ec2_response_object.rb +57 -1
- data/lib/poolparty/plugins/apache2/apache.rb +13 -160
- data/lib/poolparty/plugins/apache2/passenger_site.rb +86 -0
- data/lib/poolparty/plugins/apache2/php5.rb +40 -0
- data/lib/poolparty/plugins/apache2/virtual_host.rb +53 -0
- data/lib/poolparty/plugins/authorized_key.rb +2 -2
- data/lib/poolparty/plugins/bind.rb +5 -6
- data/lib/poolparty/plugins/{chef.rb → chef/chef.rb} +22 -18
- data/lib/poolparty/plugins/{chef_deploy.rb → chef/chef_deploy.rb} +20 -19
- data/lib/poolparty/plugins/deploy_directory.rb +2 -3
- data/lib/poolparty/plugins/gem_package.rb +6 -12
- data/lib/poolparty/plugins/git.rb +22 -7
- data/lib/poolparty/{base_packages → plugins}/haproxy.rb +2 -2
- data/lib/poolparty/{base_packages → plugins}/heartbeat.rb +7 -7
- data/lib/poolparty/plugins/line_in_file.rb +4 -2
- data/lib/poolparty/plugins/plugin_template.rb +13 -0
- data/lib/poolparty/{base_packages/poolparty.rb → plugins/poolparty_base_packages.rb} +2 -2
- data/lib/poolparty/plugins/rails_deploy.rb +2 -3
- data/lib/poolparty/{base_packages → plugins}/ruby.rb +3 -3
- data/lib/poolparty/{base_packages → plugins}/runit.rb +3 -3
- data/lib/poolparty/plugins/svn.rb +8 -6
- data/lib/poolparty/poolparty/cloud.rb +5 -8
- data/lib/poolparty/poolparty/default.rb +1 -1
- data/lib/poolparty/poolparty/plugin.rb +36 -15
- data/lib/poolparty/poolparty/pool.rb +6 -2
- data/lib/poolparty/poolparty/poolparty_base_class.rb +5 -11
- data/lib/poolparty/poolparty/resource.rb +2 -1
- data/lib/poolparty/poolparty/service.rb +6 -8
- data/lib/poolparty/provision/dr_configure.rb +3 -3
- data/lib/poolparty/verification/verifier_base.rb +10 -0
- data/spec/bin/server-list-active_spec.rb +1 -3
- data/spec/poolparty/core/string_spec.rb +1 -1
- data/spec/poolparty/dependency_resolver/chef_resolver_spec.rb +0 -2
- data/spec/poolparty/dependency_resolver/dependency_resolver_cloud_extensions_spec.rb +16 -13
- data/spec/poolparty/extra/deployments_spec.rb +68 -68
- data/spec/poolparty/net/remoter_bases/ec2_spec.rb +1 -0
- data/spec/poolparty/plugins/deploydirectory_spec.rb +64 -51
- data/spec/poolparty/poolparty/cloud_spec.rb +21 -19
- data/spec/poolparty/poolparty/configurers/files/ruby_basic.rb +1 -1
- data/spec/poolparty/poolparty/configurers/files/ruby_plugins.rb +1 -1
- data/spec/poolparty/{base_packages → poolparty}/haproxy_spec.rb +1 -1
- data/spec/poolparty/{base_packages → poolparty}/heartbeat_spec.rb +1 -1
- data/spec/poolparty/poolparty/plugin_model_spec.rb +6 -13
- data/spec/poolparty/poolparty/plugin_spec.rb +7 -7
- data/spec/poolparty/poolparty/resource_spec.rb +15 -5
- data/spec/poolparty/poolparty/test_plugins/webserver.rb +27 -23
- data/test/fixtures/metavirt_cloud.json +1 -0
- data/test/poolparty/dependency_resolver/puppet_resolver_test.rb +0 -5
- data/test/poolparty/modules/cloud_dsl_test.rb +1 -1
- data/test/poolparty/monitors/test_base_monitor.rb +17 -0
- data/test/poolparty/monitors/test_monitor_rack.rb +39 -0
- data/test/poolparty/net/remoter_base_test.rb +18 -0
- data/test/poolparty/plugins/chef_deploy_test.rb +1 -1
- data/test/poolparty/plugins/rails_deploy_test.rb +3 -3
- data/test/poolparty/poolparty/cloud_test.rb +27 -2
- data/test/poolparty/poolparty/isolated_cloud_test.rb +25 -0
- data/test/poolparty/poolparty/plugin_test.rb +9 -8
- data/test/poolparty/poolparty/schema_test.rb +13 -0
- data/test/poolparty/verification/verify_test.rb +4 -0
- data/test/test_helper.rb +10 -3
- data/test/test_methods.rb +11 -0
- data/vendor/gems/dslify/test/dslify_test.rb +28 -0
- metadata +29 -15
- data/lib/poolparty/extra/deployments.rb +0 -31
- data/lib/poolparty/poolparty/plugin_model.rb +0 -46
data/test/test_helper.rb
CHANGED
@@ -1,12 +1,19 @@
|
|
1
|
+
$:.unshift(::File.dirname(__FILE__))
|
1
2
|
require "rubygems"
|
2
3
|
require "test/unit"
|
3
4
|
# require "context"
|
4
5
|
require "matchy"
|
5
6
|
require "shoulda"
|
6
|
-
|
7
|
-
|
7
|
+
require "mocha"
|
8
|
+
|
9
|
+
require "test_methods"
|
8
10
|
|
9
11
|
require File.dirname(__FILE__) + '/../lib/poolparty'
|
10
12
|
require 'git-style-binary/command'
|
11
13
|
|
12
|
-
GitStyleBinary.run = true
|
14
|
+
GitStyleBinary.run = true
|
15
|
+
|
16
|
+
modify_env_with_hash(
|
17
|
+
"AWS_ACCESS_KEY" => "fake_aws_access_key",
|
18
|
+
"AWS_SECRET_ACCESS_KEY" => "fake_secret_aws_key"
|
19
|
+
)
|
@@ -262,5 +262,33 @@ class QuickieTest < Test::Unit::TestCase
|
|
262
262
|
end
|
263
263
|
end
|
264
264
|
|
265
|
+
context "dsl_methods and methods on the object" do
|
266
|
+
setup do
|
267
|
+
class PluginMoopieMoop
|
268
|
+
include Dslify
|
269
|
+
default_options :stars => to_s
|
270
|
+
|
271
|
+
def self.inherited(s)
|
272
|
+
# stuff
|
273
|
+
super
|
274
|
+
end
|
275
|
+
end
|
276
|
+
class DoopyDoop < PluginMoopieMoop
|
277
|
+
def stars
|
278
|
+
"right now"
|
279
|
+
end
|
280
|
+
end
|
281
|
+
@obj = DoopyDoop.new
|
282
|
+
end
|
283
|
+
|
284
|
+
should "have the method :stars" do
|
285
|
+
assert @obj.respond_to?(:stars)
|
286
|
+
end
|
287
|
+
should "use the method on the instance" do
|
288
|
+
assert_equal @obj.stars, "right now"
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
|
265
293
|
|
266
294
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auser-poolparty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ari Lerner
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-06-02 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -111,18 +111,13 @@ files:
|
|
111
111
|
- examples/vmrun_cloud.rb
|
112
112
|
- lib/poolparty
|
113
113
|
- lib/poolparty/aska.rb
|
114
|
-
- lib/poolparty/base_packages
|
115
|
-
- lib/poolparty/base_packages/haproxy.rb
|
116
|
-
- lib/poolparty/base_packages/heartbeat.rb
|
117
|
-
- lib/poolparty/base_packages/poolparty.rb
|
118
|
-
- lib/poolparty/base_packages/ruby.rb
|
119
|
-
- lib/poolparty/base_packages/runit.rb
|
120
114
|
- lib/poolparty/core
|
121
115
|
- lib/poolparty/core/array.rb
|
122
116
|
- lib/poolparty/core/class.rb
|
123
117
|
- lib/poolparty/core/exception.rb
|
124
118
|
- lib/poolparty/core/float.rb
|
125
119
|
- lib/poolparty/core/hash.rb
|
120
|
+
- lib/poolparty/core/integer.rb
|
126
121
|
- lib/poolparty/core/kernel.rb
|
127
122
|
- lib/poolparty/core/my_open_struct.rb
|
128
123
|
- lib/poolparty/core/nil.rb
|
@@ -153,7 +148,7 @@ files:
|
|
153
148
|
- lib/poolparty/exceptions/TemplateNotFound.rb
|
154
149
|
- lib/poolparty/exceptions/UnacceptableCommand.rb
|
155
150
|
- lib/poolparty/extra
|
156
|
-
- lib/poolparty/extra/
|
151
|
+
- lib/poolparty/extra/duration.rb
|
157
152
|
- lib/poolparty/helpers
|
158
153
|
- lib/poolparty/helpers/binary.rb
|
159
154
|
- lib/poolparty/helpers/console.rb
|
@@ -219,15 +214,25 @@ files:
|
|
219
214
|
- lib/poolparty/plugins
|
220
215
|
- lib/poolparty/plugins/apache2
|
221
216
|
- lib/poolparty/plugins/apache2/apache.rb
|
217
|
+
- lib/poolparty/plugins/apache2/passenger_site.rb
|
218
|
+
- lib/poolparty/plugins/apache2/php5.rb
|
219
|
+
- lib/poolparty/plugins/apache2/virtual_host.rb
|
222
220
|
- lib/poolparty/plugins/authorized_key.rb
|
223
221
|
- lib/poolparty/plugins/bind.rb
|
224
|
-
- lib/poolparty/plugins/chef
|
225
|
-
- lib/poolparty/plugins/
|
222
|
+
- lib/poolparty/plugins/chef
|
223
|
+
- lib/poolparty/plugins/chef/chef.rb
|
224
|
+
- lib/poolparty/plugins/chef/chef_deploy.rb
|
226
225
|
- lib/poolparty/plugins/deploy_directory.rb
|
227
226
|
- lib/poolparty/plugins/gem_package.rb
|
228
227
|
- lib/poolparty/plugins/git.rb
|
228
|
+
- lib/poolparty/plugins/haproxy.rb
|
229
|
+
- lib/poolparty/plugins/heartbeat.rb
|
229
230
|
- lib/poolparty/plugins/line_in_file.rb
|
231
|
+
- lib/poolparty/plugins/plugin_template.rb
|
232
|
+
- lib/poolparty/plugins/poolparty_base_packages.rb
|
230
233
|
- lib/poolparty/plugins/rails_deploy.rb
|
234
|
+
- lib/poolparty/plugins/ruby.rb
|
235
|
+
- lib/poolparty/plugins/runit.rb
|
231
236
|
- lib/poolparty/plugins/svn.rb
|
232
237
|
- lib/poolparty/poolparty
|
233
238
|
- lib/poolparty/poolparty/cloud.rb
|
@@ -236,7 +241,6 @@ files:
|
|
236
241
|
- lib/poolparty/poolparty/loggable.rb
|
237
242
|
- lib/poolparty/poolparty/neighborhoods.rb
|
238
243
|
- lib/poolparty/poolparty/plugin.rb
|
239
|
-
- lib/poolparty/poolparty/plugin_model.rb
|
240
244
|
- lib/poolparty/poolparty/pool.rb
|
241
245
|
- lib/poolparty/poolparty/poolparty_base_class.rb
|
242
246
|
- lib/poolparty/poolparty/resource.rb
|
@@ -330,9 +334,6 @@ files:
|
|
330
334
|
- spec/poolparty
|
331
335
|
- spec/poolparty/aska
|
332
336
|
- spec/poolparty/aska/aska_spec.rb
|
333
|
-
- spec/poolparty/base_packages
|
334
|
-
- spec/poolparty/base_packages/haproxy_spec.rb
|
335
|
-
- spec/poolparty/base_packages/heartbeat_spec.rb
|
336
337
|
- spec/poolparty/bin
|
337
338
|
- spec/poolparty/bin/console_spec.rb
|
338
339
|
- spec/poolparty/core
|
@@ -395,6 +396,8 @@ files:
|
|
395
396
|
- spec/poolparty/poolparty/configurers/ruby_spec.rb
|
396
397
|
- spec/poolparty/poolparty/default_spec.rb
|
397
398
|
- spec/poolparty/poolparty/example_spec.rb
|
399
|
+
- spec/poolparty/poolparty/haproxy_spec.rb
|
400
|
+
- spec/poolparty/poolparty/heartbeat_spec.rb
|
398
401
|
- spec/poolparty/poolparty/key_spec.rb
|
399
402
|
- spec/poolparty/poolparty/neighborhoods_spec.rb
|
400
403
|
- spec/poolparty/poolparty/plugin_model_spec.rb
|
@@ -428,6 +431,7 @@ files:
|
|
428
431
|
- spec/poolparty/spec_helper.rb
|
429
432
|
- spec/poolparty/test_spec_helper.rb
|
430
433
|
- test/fixtures
|
434
|
+
- test/fixtures/metavirt_cloud.json
|
431
435
|
- test/fixtures/test_key
|
432
436
|
- test/fixtures/test_template.erb
|
433
437
|
- test/poolparty
|
@@ -441,7 +445,11 @@ files:
|
|
441
445
|
- test/poolparty/modules
|
442
446
|
- test/poolparty/modules/callbacks_test.rb
|
443
447
|
- test/poolparty/modules/cloud_dsl_test.rb
|
448
|
+
- test/poolparty/monitors
|
449
|
+
- test/poolparty/monitors/test_base_monitor.rb
|
450
|
+
- test/poolparty/monitors/test_monitor_rack.rb
|
444
451
|
- test/poolparty/net
|
452
|
+
- test/poolparty/net/remoter_base_test.rb
|
445
453
|
- test/poolparty/net/remoter_bases
|
446
454
|
- test/poolparty/net/remoter_bases/metavirt
|
447
455
|
- test/poolparty/net/remoter_bases/metavirt/metavirt_test.rb
|
@@ -453,9 +461,11 @@ files:
|
|
453
461
|
- test/poolparty/plugins/rails_deploy_test.rb
|
454
462
|
- test/poolparty/poolparty
|
455
463
|
- test/poolparty/poolparty/cloud_test.rb
|
464
|
+
- test/poolparty/poolparty/isolated_cloud_test.rb
|
456
465
|
- test/poolparty/poolparty/neighborhood_test.rb
|
457
466
|
- test/poolparty/poolparty/plugin_test.rb
|
458
467
|
- test/poolparty/poolparty/poolparty_base_class_test.rb
|
468
|
+
- test/poolparty/poolparty/schema_test.rb
|
459
469
|
- test/poolparty/poolparty/template_test.rb
|
460
470
|
- test/poolparty/provision
|
461
471
|
- test/poolparty/provision/boot_strapper_test.rb
|
@@ -464,6 +474,7 @@ files:
|
|
464
474
|
- test/poolparty/verification/verify_test.rb
|
465
475
|
- test/test_generator_helper.rb
|
466
476
|
- test/test_helper.rb
|
477
|
+
- test/test_methods.rb
|
467
478
|
- test/test_pool_spec_generator.rb
|
468
479
|
- test/test_poolparty.rb
|
469
480
|
- tasks/cloud.rake
|
@@ -736,7 +747,10 @@ signing_key:
|
|
736
747
|
specification_version: 3
|
737
748
|
summary: Self-healing, auto-scaling system administration, provisioning and maintaining tool that makes cloud computing fun and easy
|
738
749
|
test_files:
|
750
|
+
- test/poolparty/monitors/test_base_monitor.rb
|
751
|
+
- test/poolparty/monitors/test_monitor_rack.rb
|
739
752
|
- test/test_generator_helper.rb
|
740
753
|
- test/test_helper.rb
|
754
|
+
- test/test_methods.rb
|
741
755
|
- test/test_pool_spec_generator.rb
|
742
756
|
- test/test_poolparty.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
#TODO: Reimplement
|
2
|
-
module PoolParty
|
3
|
-
module Extra
|
4
|
-
class Deployments
|
5
|
-
|
6
|
-
def self.include_deployment(filename)
|
7
|
-
return nil unless ::File.file? filename
|
8
|
-
name = ::File.basename(filename, ::File.extname(filename))
|
9
|
-
contents = open(filename).read
|
10
|
-
|
11
|
-
plugin_klass = PoolParty::PluginModel::PluginModel.new(name)
|
12
|
-
plugin_klass.class_eval <<-EOE
|
13
|
-
def enable
|
14
|
-
puts "Called enable"
|
15
|
-
#{contents}
|
16
|
-
end
|
17
|
-
EOE
|
18
|
-
plugin_klass
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.include_deployments(dir)
|
22
|
-
return nil unless ::File.directory? dir
|
23
|
-
Dir["#{dir}/*"].each do |fi|
|
24
|
-
include_deployment fi
|
25
|
-
end
|
26
|
-
dir
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,46 +0,0 @@
|
|
1
|
-
require File.join(File.dirname(__FILE__), "resource")
|
2
|
-
|
3
|
-
module PoolParty
|
4
|
-
module PluginModel
|
5
|
-
|
6
|
-
def plugin(name=:plugin, cloud=nil, &block)
|
7
|
-
plugins[name] ||= PluginModel.new(name, &block)
|
8
|
-
end
|
9
|
-
alias_method :register_plugin, :plugin
|
10
|
-
|
11
|
-
def plugins
|
12
|
-
$plugins ||= {}
|
13
|
-
end
|
14
|
-
|
15
|
-
class PluginModel
|
16
|
-
attr_accessor :klass
|
17
|
-
|
18
|
-
def initialize(name,&block)
|
19
|
-
symc = "#{name}".top_level_class.camelcase
|
20
|
-
klass = symc.class_constant(PoolParty::Plugin::Plugin, {:preserve => true}, &block)
|
21
|
-
|
22
|
-
lowercase_class_name = symc.downcase
|
23
|
-
# Store the name of the class for pretty printing later
|
24
|
-
# klass.name = name
|
25
|
-
# Add the plugin definition to the cloud as an instance method
|
26
|
-
meth = <<-EOM
|
27
|
-
def #{lowercase_class_name}(opts={}, &block)
|
28
|
-
i = plugin_store.select {|i| i if i.class == #{lowercase_class_name.camelcase}Class }.first if plugin_store
|
29
|
-
if i
|
30
|
-
i
|
31
|
-
else
|
32
|
-
inst = #{lowercase_class_name.camelcase}Class.new(opts, parent, &block)
|
33
|
-
plugin_store << inst if plugin_store
|
34
|
-
inst
|
35
|
-
end
|
36
|
-
end
|
37
|
-
EOM
|
38
|
-
|
39
|
-
PoolParty::Cloud::Cloud.class_eval meth
|
40
|
-
PoolParty::Service.add_has_and_does_not_have_methods_for(lowercase_class_name.to_sym)
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|
44
|
-
|
45
|
-
end
|
46
|
-
end
|