auser-poolparty 0.2.89 → 0.2.90
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/Manifest.txt +3 -0
- data/PostInstall.txt +1 -1
- data/bin/cloud-add-access +1 -1
- data/bin/server-build-messenger +2 -1
- data/examples/deploy.rb +5 -0
- data/generators/poolspec/poolspec_generator.rb +1 -1
- data/lib/poolparty.rb +9 -5
- data/lib/poolparty/base_packages/haproxy.rb +3 -3
- data/lib/poolparty/base_packages/poolparty.rb +2 -1
- data/lib/poolparty/capistrano.rb +46 -3
- data/lib/poolparty/capistrano/cloud_tasks.rb +10 -0
- data/lib/poolparty/core/kernel.rb +18 -0
- data/lib/poolparty/core/object.rb +1 -1
- data/lib/poolparty/core/string.rb +3 -0
- data/lib/poolparty/helpers/binary.rb +11 -10
- data/lib/poolparty/helpers/loading.rb +4 -0
- data/lib/poolparty/helpers/optioner.rb +1 -1
- data/lib/poolparty/modules/cloud_resourcer.rb +10 -13
- data/lib/poolparty/net/remote_instance.rb +2 -2
- data/lib/poolparty/net/remoter_base.rb +4 -0
- data/lib/poolparty/poolparty/base.rb +1 -2
- data/lib/poolparty/poolparty/pool.rb +6 -1
- data/lib/poolparty/provisioners/capistrano/capistrano.rb +1 -1
- data/lib/poolparty/provisioners/capistrano/capistrano_configurer.rb +8 -3
- data/lib/poolparty/provisioners/capistrano/recipies/base.rb +1 -1
- data/lib/poolparty/version.rb +1 -1
- data/poolparty.gemspec +6 -3
- data/spec/poolparty/bin/console_spec.rb +7 -3
- data/spec/poolparty/helpers/binary_spec.rb +14 -1
- data/spec/poolparty/net/remoter_base_spec.rb +3 -0
- data/spec/poolparty/poolparty/script_spec.rb +1 -1
- data/website/index.html +1 -1
- metadata +6 -3
data/Manifest.txt
CHANGED
@@ -54,6 +54,7 @@ bin/server-write-new-nodes
|
|
54
54
|
config/hoe.rb
|
55
55
|
config/requirements.rb
|
56
56
|
examples/basic.rb
|
57
|
+
examples/deploy.rb
|
57
58
|
examples/plugin_without_plugin_directory.rb
|
58
59
|
examples/poolparty.rb
|
59
60
|
generators/poolspec/USAGE
|
@@ -178,6 +179,7 @@ lib/poolparty/base_packages/poolparty.rb
|
|
178
179
|
lib/poolparty/base_packages/ruby.rb
|
179
180
|
lib/poolparty/base_packages/runit.rb
|
180
181
|
lib/poolparty/capistrano.rb
|
182
|
+
lib/poolparty/capistrano/cloud_tasks.rb
|
181
183
|
lib/poolparty/config/postlaunchmessage.txt
|
182
184
|
lib/poolparty/core/array.rb
|
183
185
|
lib/poolparty/core/class.rb
|
@@ -209,6 +211,7 @@ lib/poolparty/extra/deployments.rb
|
|
209
211
|
lib/poolparty/helpers/binary.rb
|
210
212
|
lib/poolparty/helpers/console.rb
|
211
213
|
lib/poolparty/helpers/display.rb
|
214
|
+
lib/poolparty/helpers/loading.rb
|
212
215
|
lib/poolparty/helpers/nice_printer.rb
|
213
216
|
lib/poolparty/helpers/optioner.rb
|
214
217
|
lib/poolparty/helpers/ruberl.rb
|
data/PostInstall.txt
CHANGED
data/bin/cloud-add-access
CHANGED
data/bin/server-build-messenger
CHANGED
data/examples/deploy.rb
ADDED
@@ -21,7 +21,7 @@ class PoolspecGenerator < RubiGen::Base
|
|
21
21
|
m.directory ''
|
22
22
|
BASEDIRS.each { |path| m.directory path }
|
23
23
|
|
24
|
-
m.template "pool_spec_template.erb", "
|
24
|
+
m.template "pool_spec_template.erb", "clouds.pool"
|
25
25
|
# Create stubs
|
26
26
|
# m.template "template.rb", "some_file_after_erb.rb"
|
27
27
|
# m.template_copy_each ["template.rb", "template2.rb"]
|
data/lib/poolparty.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
|
3
1
|
# Load required gems
|
2
|
+
$:.unshift("/Users/auser/Development/open-source/ruby/net-ssh/lib")
|
4
3
|
@required_software = Array.new
|
5
|
-
%w(activesupport ftools logging resolv ruby2ruby digest/sha2
|
4
|
+
%w(rubygems activesupport ftools logging resolv ruby2ruby digest/sha2).each do |lib|
|
6
5
|
begin
|
7
6
|
require lib
|
8
7
|
rescue Exception => e
|
@@ -55,9 +54,12 @@ module PoolParty
|
|
55
54
|
def log
|
56
55
|
@logger ||= make_new_logger
|
57
56
|
end
|
58
|
-
|
57
|
+
def reset!
|
58
|
+
$pools = $clouds = $plugins = @describe_instances = nil
|
59
|
+
end
|
59
60
|
class PoolParty
|
60
61
|
def initialize(spec)
|
62
|
+
reset!
|
61
63
|
Script.inflate(spec) if spec
|
62
64
|
end
|
63
65
|
end
|
@@ -89,4 +91,6 @@ module PoolParty
|
|
89
91
|
require file
|
90
92
|
end
|
91
93
|
end
|
92
|
-
end
|
94
|
+
end
|
95
|
+
|
96
|
+
PoolParty.reset!
|
@@ -6,8 +6,6 @@ module PoolParty
|
|
6
6
|
execute_on_master do
|
7
7
|
has_package({:name => "haproxy"})
|
8
8
|
|
9
|
-
# Service is required
|
10
|
-
has_service(:name => "haproxy", :ensures => "running", :hasrestart => true)
|
11
9
|
# Restart sysklogd after we update the haproxy.log
|
12
10
|
has_service(:name => "sysklogd")
|
13
11
|
|
@@ -25,7 +23,9 @@ module PoolParty
|
|
25
23
|
has_line_in_file("SYSLOGD=\"-r\"", "/etc/default/syslogd")
|
26
24
|
has_line_in_file("local0.* /var/log/haproxy.log", "/etc/syslog.conf", {:notify => get_service("sysklogd")})
|
27
25
|
|
28
|
-
|
26
|
+
has_exec(:name => "reloadhaproxy", :command => "/etc/init.d/haproxy reload", :requires => get_package("haproxy"))
|
27
|
+
# Service is required
|
28
|
+
has_service(:name => "haproxy", :ensures => "running", :hasrestart => true, :notify => get_exec("reloadhaproxy"))
|
29
29
|
|
30
30
|
# These can also be passed in via hash
|
31
31
|
has_remotefile(:name => "/etc/haproxy.cfg") do
|
@@ -59,10 +59,11 @@ module PoolParty
|
|
59
59
|
end
|
60
60
|
|
61
61
|
# execute_on_node do
|
62
|
-
has_cron(:name => "node puppetd runner", :user => Base.user, :minute => "*/
|
62
|
+
has_cron(:name => "node puppetd runner", :user => Base.user, :minute => "*/10") do
|
63
63
|
requires get_gempackage("poolparty")
|
64
64
|
command "/usr/bin/puppetrunner"
|
65
65
|
end
|
66
|
+
has_user(:name => user)
|
66
67
|
# end
|
67
68
|
|
68
69
|
# end
|
data/lib/poolparty/capistrano.rb
CHANGED
@@ -1,10 +1,53 @@
|
|
1
|
+
$:.unshift(File.join(File.dirname(__FILE__)))
|
2
|
+
require "poolparty"
|
3
|
+
require "poolpartycl"
|
4
|
+
|
1
5
|
module PoolParty
|
2
6
|
module Capistrano
|
3
7
|
|
4
|
-
|
5
|
-
|
6
|
-
|
8
|
+
$cap_clouds = {}
|
9
|
+
|
10
|
+
def set_poolparty_file(file)
|
11
|
+
load_pool file
|
12
|
+
end
|
13
|
+
|
14
|
+
def set_cloud(name)
|
15
|
+
cld = PoolParty::Cloud.cloud(name)
|
16
|
+
if cld && !cloud_retrieved_already?
|
17
|
+
$cap_clouds[name] = cld
|
18
|
+
@cloud = cld
|
19
|
+
instance_eval <<-EOE
|
20
|
+
ssh_options[:keys] = [ '#{cld.full_keypair_basename_path}' ]
|
21
|
+
set :user, '#{cld.user}'
|
22
|
+
set :username, "#{cld.user}"
|
23
|
+
ssh_options[:forward_agent] = true
|
24
|
+
EOE
|
25
|
+
end
|
26
|
+
cld
|
27
|
+
end
|
28
|
+
|
29
|
+
def cloud_retrieved_already?
|
30
|
+
$cap_clouds.key?(name)
|
31
|
+
end
|
32
|
+
def get_cloud(name)
|
33
|
+
set_cloud(name)
|
7
34
|
end
|
35
|
+
|
36
|
+
def cloud_master(name)
|
37
|
+
get_cloud(name).ip
|
38
|
+
end
|
39
|
+
|
40
|
+
def set_role_for_all_instances(role, name)
|
41
|
+
ips = get_cloud(name).list_of_running_instances.map {|ri| ri.ip }
|
42
|
+
ips.each {|ip| send :role, role.to_sym, "#{ip}"}
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
module Capistrano
|
48
|
+
class Configuration
|
49
|
+
include ::PoolParty::Capistrano
|
8
50
|
|
51
|
+
# Dir["#{::File.dirname(__FILE__)}/capistrano/*.rb"].each {|f| pload f }
|
9
52
|
end
|
10
53
|
end
|
@@ -1,7 +1,25 @@
|
|
1
1
|
=begin rdoc
|
2
2
|
Kernel overloads
|
3
3
|
=end
|
4
|
+
|
4
5
|
module Kernel
|
6
|
+
def get_latest_caller
|
7
|
+
returning Array.new do |arr|
|
8
|
+
callstack.size.times {|i| arr << callstack[i][0] unless callstack[i][0] =~ /lib\/poolparty/ }
|
9
|
+
end.first
|
10
|
+
end
|
11
|
+
def callstack( level = 1 )
|
12
|
+
call_str_array = caller(level)
|
13
|
+
stack = []
|
14
|
+
call_str_array.each{ |call_str|
|
15
|
+
file, lineno, method = call_str.split(':')
|
16
|
+
if method =~ /in `(.*)'/ then
|
17
|
+
method = $1.intern()
|
18
|
+
end
|
19
|
+
stack << [file, lineno.to_i, method]
|
20
|
+
}
|
21
|
+
stack
|
22
|
+
end
|
5
23
|
# Nice wait instead of sleep
|
6
24
|
def wait(time=5)
|
7
25
|
sleep time.is_a?(String) ? eval(time) : time
|
@@ -27,7 +27,7 @@ class Object
|
|
27
27
|
self
|
28
28
|
end
|
29
29
|
def send_if_method(v, *args)
|
30
|
-
if (v.nil? || v.to_s.empty? || v.is_a?(Array) || v.is_a?(Integer))
|
30
|
+
if (v.nil? || v.to_s.empty? || v.is_a?(Array) || v.is_a?(Integer))# && !v.is_a?(Symbol))#)v.is_a?(String)
|
31
31
|
v
|
32
32
|
else
|
33
33
|
vs = v.to_s.to_sym
|
@@ -2,10 +2,11 @@ require "ftools"
|
|
2
2
|
module PoolParty
|
3
3
|
|
4
4
|
# Load a file that contains a pool into memory
|
5
|
-
def load_pool(filename)
|
6
|
-
|
5
|
+
def load_pool(filename=nil)
|
6
|
+
filename = Dir["#{Dir.pwd}/**/*.rb"].select {|f| ::File.basename(f) == "clouds.rb" }.first unless filename
|
7
|
+
|
7
8
|
unless filename && ::File.readable?(filename)
|
8
|
-
puts "Please specify your cloud with -s, move it to ./clouds.
|
9
|
+
puts "Please specify your cloud with -s, move it to ./clouds.rb or in your POOL_SPEC environment variable"
|
9
10
|
exit(1)
|
10
11
|
else
|
11
12
|
$pool_specfile = filename
|
@@ -42,14 +43,14 @@ module PoolParty
|
|
42
43
|
# These are the locations the spec file can be before the cloud
|
43
44
|
# aborts because it cannot load the cloud
|
44
45
|
def get_existing_spec_location
|
45
|
-
[
|
46
|
+
[
|
46
47
|
"#{Base.remote_storage_path}/#{Base.default_specfile_name}",
|
47
|
-
"#{Base.default_specfile_name}",
|
48
|
-
|
49
|
-
"#{
|
50
|
-
"
|
51
|
-
"#{Base.
|
52
|
-
].reject {|a| a.nil?}.reject do |f|
|
48
|
+
"#{Base.default_specfile_name}",
|
49
|
+
"#{Base.base_config_directory}/#{Base.default_specfile_name}",
|
50
|
+
Dir["#{Dir.pwd}/*/clouds.rb"],
|
51
|
+
ENV["POOL_SPEC"],
|
52
|
+
"#{Base.storage_directory}/#{Base.default_specfile_name}"
|
53
|
+
].flatten.reject {|a| a.nil?}.reject do |f|
|
53
54
|
f unless ::File.readable?(f)
|
54
55
|
end.first
|
55
56
|
end
|
@@ -109,7 +109,7 @@ module PoolParty
|
|
109
109
|
self.loaded_pools extract_pool_from_options(self)
|
110
110
|
|
111
111
|
reject_junk_options!
|
112
|
-
raise CloudNotFoundException.new("Please specify your cloud with -s, move it to ./clouds.
|
112
|
+
raise CloudNotFoundException.new("Please specify your cloud with -s, move it to ./clouds.rb or in your POOL_SPEC environment variable") unless loaded_clouds && !loaded_clouds.empty?
|
113
113
|
loaded_pools.each do |pl|
|
114
114
|
pl.configure(self.options)
|
115
115
|
end
|
@@ -5,7 +5,7 @@ module PoolParty
|
|
5
5
|
|
6
6
|
def plugin_directory(*args)
|
7
7
|
args = ["#{::File.expand_path(Dir.pwd)}/plugins"] if args.empty?
|
8
|
-
args.each {|arg| Dir["#{arg}/*/*.rb"].each {|f| require f
|
8
|
+
args.each {|arg| Dir["#{arg}/*/*.rb"].each {|f| require f }}
|
9
9
|
end
|
10
10
|
|
11
11
|
# Store block
|
@@ -39,15 +39,15 @@ module PoolParty
|
|
39
39
|
|
40
40
|
def setup_dev
|
41
41
|
return true if ::File.exists?("#{remote_keypair_path}") || master.nil?
|
42
|
-
unless ::File.exists?("#{full_keypair_basename_path}.pub")
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
42
|
+
# unless ::File.exists?("#{full_keypair_basename_path}.pub")
|
43
|
+
# cmd = "scp #{scp_array.join(" ")} #{Base.user}@#{master.ip}:.ssh/authorized_keys #{full_keypair_basename_path}.pub"
|
44
|
+
# vputs "Running #{cmd}"
|
45
|
+
# if %x[hostname].chomp == "master"
|
46
|
+
# Kernel.system("cat ~/.ssh/authorized_keys > #{full_keypair_basename_path}.pub")
|
47
|
+
# else
|
48
|
+
# Kernel.system(cmd)
|
49
|
+
# end
|
50
|
+
# end
|
51
51
|
end
|
52
52
|
|
53
53
|
def full_keypair_path
|
@@ -57,9 +57,6 @@ module PoolParty
|
|
57
57
|
::File.expand_path(keypair_path)
|
58
58
|
end
|
59
59
|
end
|
60
|
-
def full_pub_keypair_path
|
61
|
-
@full_pub_keypair_path ||= ::File.expand_path("#{full_keypair_basename_path}.pub")
|
62
|
-
end
|
63
60
|
def full_keypair_basename_path
|
64
61
|
dir = ::File.dirname(full_keypair_path)
|
65
62
|
basename = ::File.basename(full_keypair_path, ::File.extname(full_keypair_path))
|
@@ -83,7 +83,7 @@ module PoolParty
|
|
83
83
|
def self.puppet_rerun_commad
|
84
84
|
puppet_runner_command
|
85
85
|
end
|
86
|
-
def
|
86
|
+
def my_cloud
|
87
87
|
@pa = parent
|
88
88
|
while !(@pa.is_a?(PoolParty::Cloud::Cloud) || @pa.nil? || @pa == self)
|
89
89
|
@pa = @pa.parent
|
@@ -91,7 +91,7 @@ module PoolParty
|
|
91
91
|
@pa
|
92
92
|
end
|
93
93
|
def hosts_file_listing_for(cl)
|
94
|
-
string = (cl.name == cloud.name) ? "#{name}.#{
|
94
|
+
string = (cl.name == cloud.name) ? "#{name}.#{my_cloud.name}\t#{name}" : "#{name}.#{my_cloud.name}"
|
95
95
|
"#{internal_ip}\t#{string}"
|
96
96
|
end
|
97
97
|
end
|
@@ -80,6 +80,10 @@ module PoolParty
|
|
80
80
|
def list_of_nonterminated_instances(list = remote_instances_list)
|
81
81
|
list.reject {|i| i.terminating? || i.terminated? }
|
82
82
|
end
|
83
|
+
# We'll stub the ip to be the master ip for ease and accessibility
|
84
|
+
def ip
|
85
|
+
master.ip
|
86
|
+
end
|
83
87
|
# get the master instance
|
84
88
|
def master
|
85
89
|
get_instance_by_number(0)
|
@@ -20,8 +20,7 @@ module PoolParty
|
|
20
20
|
:template_directory => "templates",
|
21
21
|
:template_path => "/var/lib/puppet/templates",
|
22
22
|
:module_path => "/etc/puppet/modules/poolparty",
|
23
|
-
:default_specfile_name => "clouds.
|
24
|
-
:default_project_specfile_name => "spec/clouds.pool",
|
23
|
+
:default_specfile_name => "clouds.rb",
|
25
24
|
:port => "80",
|
26
25
|
:forwarding_port => "8080",
|
27
26
|
:proxy_mode => "http",
|
@@ -14,6 +14,10 @@ module PoolParty
|
|
14
14
|
pl.options.merge!(opts) if pl.options
|
15
15
|
pl.run_in_context &block if block
|
16
16
|
end
|
17
|
+
|
18
|
+
def set_pool_specfile(filename)
|
19
|
+
$pool_specfile = filename unless $pool_specfile
|
20
|
+
end
|
17
21
|
|
18
22
|
def reset!
|
19
23
|
$pools = $clouds = $plugins = @describe_instances = nil
|
@@ -34,6 +38,7 @@ module PoolParty
|
|
34
38
|
})
|
35
39
|
|
36
40
|
def initialize(name,&block)
|
41
|
+
set_pool_specfile get_latest_caller
|
37
42
|
setup_defaults
|
38
43
|
@pool_name = name
|
39
44
|
@pool_name.freeze
|
@@ -46,7 +51,7 @@ module PoolParty
|
|
46
51
|
end
|
47
52
|
|
48
53
|
def setup_defaults
|
49
|
-
plugin_directory "#{::File.dirname(pool_specfile
|
54
|
+
plugin_directory "#{pool_specfile ? ::File.dirname(pool_specfile) : Dir.pwd}/plugins"
|
50
55
|
PoolParty::Extra::Deployments.include_deployments "#{Dir.pwd}/deployments"
|
51
56
|
end
|
52
57
|
|
@@ -33,9 +33,14 @@ module Capistrano
|
|
33
33
|
parent.provisioner
|
34
34
|
end
|
35
35
|
|
36
|
-
def cloud
|
37
|
-
|
38
|
-
|
36
|
+
def cloud(name=nil)
|
37
|
+
puts "name: #{name}"
|
38
|
+
name ? get_cloud(name) : parent.cloud
|
39
|
+
end
|
40
|
+
|
41
|
+
def get_cloud(name)
|
42
|
+
PoolParty::Cloud.cloud(name)
|
43
|
+
end
|
39
44
|
|
40
45
|
def method_missing(sym, *args, &block)
|
41
46
|
if parent.respond_to?(sym)
|
@@ -136,7 +136,7 @@ aptitude update -y
|
|
136
136
|
def setup_poolparty_base_structure
|
137
137
|
run <<-EOR
|
138
138
|
cp #{remote_storage_path}/#{key_file_locations.first} "#{base_config_directory}/.ppkeys" &&
|
139
|
-
mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}
|
139
|
+
mv #{remote_storage_path}/#{default_specfile_name} #{base_config_directory}/#{default_specfile_name}
|
140
140
|
EOR
|
141
141
|
end
|
142
142
|
|
data/lib/poolparty/version.rb
CHANGED
data/poolparty.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: poolparty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.90
|
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: 2008-12-
|
12
|
+
date: 2008-12-18 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- config/hoe.rb
|
171
171
|
- config/requirements.rb
|
172
172
|
- examples/basic.rb
|
173
|
+
- examples/deploy.rb
|
173
174
|
- examples/plugin_without_plugin_directory.rb
|
174
175
|
- examples/poolparty.rb
|
175
176
|
- generators/poolspec/USAGE
|
@@ -294,6 +295,7 @@ files:
|
|
294
295
|
- lib/poolparty/base_packages/ruby.rb
|
295
296
|
- lib/poolparty/base_packages/runit.rb
|
296
297
|
- lib/poolparty/capistrano.rb
|
298
|
+
- lib/poolparty/capistrano/cloud_tasks.rb
|
297
299
|
- lib/poolparty/config/postlaunchmessage.txt
|
298
300
|
- lib/poolparty/core/array.rb
|
299
301
|
- lib/poolparty/core/class.rb
|
@@ -325,6 +327,7 @@ files:
|
|
325
327
|
- lib/poolparty/helpers/binary.rb
|
326
328
|
- lib/poolparty/helpers/console.rb
|
327
329
|
- lib/poolparty/helpers/display.rb
|
330
|
+
- lib/poolparty/helpers/loading.rb
|
328
331
|
- lib/poolparty/helpers/nice_printer.rb
|
329
332
|
- lib/poolparty/helpers/optioner.rb
|
330
333
|
- lib/poolparty/helpers/ruberl.rb
|
@@ -532,7 +535,7 @@ files:
|
|
532
535
|
has_rdoc: true
|
533
536
|
homepage: http://poolparty.rubyforge.org
|
534
537
|
post_install_message: |-
|
535
|
-
Get ready to jump in the pool, you just installed PoolParty! (Updated at
|
538
|
+
Get ready to jump in the pool, you just installed PoolParty! (Updated at 13:28 12/18/08)
|
536
539
|
|
537
540
|
To get started, run the generator:
|
538
541
|
|
@@ -6,7 +6,10 @@ reset!
|
|
6
6
|
|
7
7
|
describe "Console" do
|
8
8
|
before(:each) do
|
9
|
-
::File.stub!(:readable?).
|
9
|
+
::File.stub!(:readable?).and_return true
|
10
|
+
Dir.stub!(:pwd).and_return "/flop"
|
11
|
+
Dir.stub!(:[]).and_return []
|
12
|
+
Dir.stub!(:[]).with("/flop/**/*.rb").and_return ["clouds.rb"]
|
10
13
|
end
|
11
14
|
describe "load_pool" do
|
12
15
|
before(:each) do
|
@@ -14,7 +17,8 @@ describe "Console" do
|
|
14
17
|
@string =<<-EOS
|
15
18
|
pool :app do
|
16
19
|
maximum_instances 2
|
17
|
-
cloud :rawr do
|
20
|
+
cloud :rawr do
|
21
|
+
maximum_instances 2
|
18
22
|
end
|
19
23
|
end
|
20
24
|
EOS
|
@@ -73,7 +77,7 @@ describe "Console" do
|
|
73
77
|
}
|
74
78
|
end
|
75
79
|
it "should call inflate from Script with the poolspec" do
|
76
|
-
PoolParty::Script.should_receive(:inflate).with("spec contents", "myspec.spec")
|
80
|
+
PoolParty::Script.should_receive(:inflate).with("spec contents", "myspec.spec").and_return true
|
77
81
|
load_pool(@filename)
|
78
82
|
end
|
79
83
|
end
|
@@ -17,10 +17,23 @@ describe "Binary" do
|
|
17
17
|
describe "get_existing_spec_location" do
|
18
18
|
before(:each) do
|
19
19
|
::File.stub!(:readable?).and_return false
|
20
|
-
::File.stub!(:readable?).with("#{Base.storage_directory}/clouds.
|
20
|
+
::File.stub!(:readable?).with("#{Base.storage_directory}/clouds.rb").and_return true
|
21
21
|
end
|
22
22
|
it "should be a String" do
|
23
23
|
Binary.get_existing_spec_location.class.should == String
|
24
24
|
end
|
25
25
|
end
|
26
|
+
describe "load_pool" do
|
27
|
+
before(:each) do
|
28
|
+
::File.stub!(:readable?).and_return true
|
29
|
+
Binary.stub!(:open).and_return @obj
|
30
|
+
@obj.stub!(:read).and_return "crazy"
|
31
|
+
Script.stub!(:inflate).and_return true
|
32
|
+
Dir.stub!(:pwd).and_return "/flop"
|
33
|
+
end
|
34
|
+
it "should call Dir[Dir.pwd] if there is no filename given" do
|
35
|
+
Dir.should_receive(:[]).with("#{Dir.pwd}/**/*.rb").and_return ["clouds.rb"]
|
36
|
+
Binary.load_pool
|
37
|
+
end
|
38
|
+
end
|
26
39
|
end
|
@@ -83,6 +83,9 @@ describe "RemoterBase" do
|
|
83
83
|
end
|
84
84
|
it "should have the method custom_install_tasks" do;@tr.respond_to?(:custom_install_tasks_for).should == true;end
|
85
85
|
it "should have the method custom_configure_tasks" do;@tr.respond_to?(:custom_configure_tasks_for).should == true;end
|
86
|
+
it "should set the ip to the master ip" do
|
87
|
+
@tr.ip.should == "192.68.0.1"
|
88
|
+
end
|
86
89
|
end
|
87
90
|
end
|
88
91
|
end
|
data/website/index.html
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
<h1>PoolParty</h1>
|
35
35
|
<div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/poolparty"; return false'>
|
36
36
|
<p>Get Version</p>
|
37
|
-
<a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.
|
37
|
+
<a href="http://rubyforge.org/projects/poolparty" class="numbers">0.2.90</a>
|
38
38
|
</div>
|
39
39
|
<h1>‘Easy cloud computing’</h1>
|
40
40
|
<h2>What</h2>
|
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: 0.2.
|
4
|
+
version: 0.2.90
|
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: 2008-12-
|
12
|
+
date: 2008-12-18 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -170,6 +170,7 @@ files:
|
|
170
170
|
- config/hoe.rb
|
171
171
|
- config/requirements.rb
|
172
172
|
- examples/basic.rb
|
173
|
+
- examples/deploy.rb
|
173
174
|
- examples/plugin_without_plugin_directory.rb
|
174
175
|
- examples/poolparty.rb
|
175
176
|
- generators/poolspec/USAGE
|
@@ -294,6 +295,7 @@ files:
|
|
294
295
|
- lib/poolparty/base_packages/ruby.rb
|
295
296
|
- lib/poolparty/base_packages/runit.rb
|
296
297
|
- lib/poolparty/capistrano.rb
|
298
|
+
- lib/poolparty/capistrano/cloud_tasks.rb
|
297
299
|
- lib/poolparty/config/postlaunchmessage.txt
|
298
300
|
- lib/poolparty/core/array.rb
|
299
301
|
- lib/poolparty/core/class.rb
|
@@ -325,6 +327,7 @@ files:
|
|
325
327
|
- lib/poolparty/helpers/binary.rb
|
326
328
|
- lib/poolparty/helpers/console.rb
|
327
329
|
- lib/poolparty/helpers/display.rb
|
330
|
+
- lib/poolparty/helpers/loading.rb
|
328
331
|
- lib/poolparty/helpers/nice_printer.rb
|
329
332
|
- lib/poolparty/helpers/optioner.rb
|
330
333
|
- lib/poolparty/helpers/ruberl.rb
|
@@ -532,7 +535,7 @@ files:
|
|
532
535
|
has_rdoc: true
|
533
536
|
homepage: http://poolparty.rubyforge.org
|
534
537
|
post_install_message: |-
|
535
|
-
Get ready to jump in the pool, you just installed PoolParty! (Updated at
|
538
|
+
Get ready to jump in the pool, you just installed PoolParty! (Updated at 13:28 12/18/08)
|
536
539
|
|
537
540
|
To get started, run the generator:
|
538
541
|
|