auser-poolparty 0.2.16 → 0.2.20
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +72 -7
- data/PostInstall.txt +1 -1
- data/Rakefile +11 -0
- data/bin/cloud-provision +6 -10
- data/bin/server-build-messenger +20 -0
- data/bin/server-fire-cmd +0 -2
- data/bin/server-list-responding +24 -0
- data/bin/server-start-master +4 -9
- data/bin/server-start-node +7 -6
- data/lib/erlang/messenger/Emakefile +1 -0
- data/lib/erlang/messenger/Rakefile +29 -20
- data/lib/erlang/messenger/ebin/master_app.beam +0 -0
- data/lib/erlang/messenger/ebin/node_app.beam +0 -0
- data/lib/erlang/messenger/ebin/packager.app +19 -0
- data/lib/erlang/messenger/ebin/pm_client.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_cluster.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_event_handler.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_master_rel-0.1.rel +1 -7
- data/lib/erlang/messenger/ebin/pm_master_supervisor.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_node.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_node_rel-0.1.rel +1 -7
- data/lib/erlang/messenger/ebin/pm_node_supervisor.beam +0 -0
- data/lib/erlang/messenger/ebin/pm_packager.beam +0 -0
- data/lib/erlang/messenger/ebin/utils.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/AUTHORS +2 -0
- data/lib/erlang/messenger/lib/eunit/CHANGELOG +14 -0
- data/lib/erlang/messenger/lib/eunit/COPYING +504 -0
- data/lib/erlang/messenger/lib/eunit/Makefile +28 -0
- data/lib/erlang/messenger/lib/eunit/NOTES +276 -0
- data/lib/erlang/messenger/lib/eunit/README +3 -0
- data/lib/erlang/messenger/lib/eunit/doc/edoc-info +3 -0
- data/lib/erlang/messenger/lib/eunit/doc/erlang.png +0 -0
- data/lib/erlang/messenger/lib/eunit/doc/eunit.html +172 -0
- data/lib/erlang/messenger/lib/eunit/doc/index.html +17 -0
- data/lib/erlang/messenger/lib/eunit/doc/modules-frame.html +12 -0
- data/lib/erlang/messenger/lib/eunit/doc/overview-summary.html +984 -0
- data/lib/erlang/messenger/lib/eunit/doc/overview.edoc +980 -0
- data/lib/erlang/messenger/lib/eunit/doc/packages-frame.html +11 -0
- data/lib/erlang/messenger/lib/eunit/doc/stylesheet.css +55 -0
- data/lib/erlang/messenger/lib/eunit/ebin/autoload.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/code_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.app +21 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.appup +1 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_autoexport.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_data.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_lib.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_proc.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_serial.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_server.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_striptests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_test.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tests.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/eunit_tty.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/ebin/file_monitor.beam +0 -0
- data/lib/erlang/messenger/lib/eunit/examples/eunit_examples.erl +339 -0
- data/lib/erlang/messenger/lib/eunit/examples/fib.erl +19 -0
- data/lib/erlang/messenger/lib/eunit/examples/tests.txt +1 -0
- data/lib/erlang/messenger/lib/eunit/include/eunit.hrl +313 -0
- data/lib/erlang/messenger/lib/eunit/src/Makefile +46 -0
- data/lib/erlang/messenger/lib/eunit/src/autoload.erl +388 -0
- data/lib/erlang/messenger/lib/eunit/src/code_monitor.erl +243 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.app.src +21 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.appup.src +1 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit.erl +196 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_autoexport.erl +102 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_data.erl +798 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_internal.hrl +48 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_lib.erl +682 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_proc.erl +552 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_serial.erl +157 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_server.erl +340 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_striptests.erl +64 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_test.erl +334 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_tests.erl +45 -0
- data/lib/erlang/messenger/lib/eunit/src/eunit_tty.erl +272 -0
- data/lib/erlang/messenger/lib/eunit/src/file_monitor.erl +409 -0
- data/lib/erlang/messenger/lib/eunit/sys.config +9 -0
- data/lib/erlang/messenger/lib/eunit/vsn.mk +1 -0
- data/lib/erlang/messenger/pm_master_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_master_rel-0.1.script +75 -2
- data/lib/erlang/messenger/pm_node_rel-0.1.boot +0 -0
- data/lib/erlang/messenger/pm_node_rel-0.1.script +75 -2
- data/lib/erlang/messenger/src/pm_client.erl +8 -3
- data/lib/erlang/messenger/src/pm_cluster.erl +32 -9
- data/lib/erlang/messenger/src/pm_master.erl +10 -11
- data/lib/erlang/messenger/src/pm_node.erl +2 -3
- data/lib/erlang/messenger/src/pm_packager.erl +73 -0
- data/lib/erlang/messenger/src/utils.erl +3 -10
- data/lib/poolparty/base_packages/heartbeat.rb +9 -9
- data/lib/poolparty/base_packages/poolparty.rb +16 -10
- data/lib/poolparty/config/allowed_commands.yml +1 -0
- data/lib/poolparty/core/object.rb +8 -0
- data/lib/poolparty/exceptions/UnacceptableCommand.rb +5 -0
- data/lib/poolparty/helpers/messenger.rb +29 -0
- data/lib/poolparty/helpers/provisioner_base.rb +7 -7
- data/lib/poolparty/helpers/provisioners/master.rb +3 -7
- data/lib/poolparty/helpers/provisioners/slave.rb +1 -0
- data/lib/poolparty/modules/cloud_resourcer.rb +7 -5
- data/lib/poolparty/modules/configurable.rb +1 -1
- data/lib/poolparty/modules/method_missing_sugar.rb +6 -1
- data/lib/poolparty/modules/pretty_printer.rb +1 -0
- data/lib/poolparty/modules/resourcing_dsl.rb +2 -1
- data/lib/poolparty/monitors/monitors/cpu_monitor.rb +1 -1
- data/lib/poolparty/net/remoter.rb +3 -1
- data/lib/poolparty/plugins/git.rb +3 -3
- data/lib/poolparty/pool/base.rb +7 -2
- data/lib/poolparty/pool/cloud.rb +3 -3
- data/lib/poolparty/pool/resource.rb +38 -24
- data/lib/poolparty/pool/resources/class_package.rb +2 -2
- data/lib/poolparty/pool/resources/conditional.rb +8 -4
- data/lib/poolparty/pool/resources/{gem.rb → gem_package.rb} +0 -0
- data/lib/poolparty/pool/resources/package.rb +8 -1
- data/lib/poolparty/version.rb +1 -1
- data/lib/poolparty.rb +1 -1
- data/poolparty.gemspec +476 -61
- data/spec/poolparty/core/object_spec.rb +20 -0
- data/spec/poolparty/helpers/messenger_spec.rb +14 -0
- data/spec/poolparty/helpers/provisioners/master_spec.rb +2 -2
- data/spec/poolparty/net/remoter_spec.rb +1 -1
- data/spec/poolparty/plugins/git_spec.rb +26 -19
- data/spec/poolparty/pool/base_spec.rb +20 -2
- data/spec/poolparty/pool/cloud_spec.rb +256 -249
- data/spec/poolparty/pool/custom_resource_spec.rb +6 -1
- data/spec/poolparty/pool/plugin_spec.rb +71 -65
- data/spec/poolparty/pool/resource_spec.rb +314 -237
- data/spec/poolparty/pool/resources/class_package_spec.rb +71 -66
- data/spec/poolparty/pool/resources/conditional_spec.rb +30 -26
- data/spec/poolparty/pool/resources/gem_spec.rb +18 -14
- data/spec/poolparty/pool/resources/variable_spec.rb +1 -1
- data/spec/poolparty/pool/script_spec.rb +46 -37
- data/spec/poolparty/spec_helper.rb +4 -0
- data/tasks/cloud.rake +0 -54
- data/tasks/development.rake +11 -14
- data/tasks/ec2.rake +10 -17
- data/tasks/instance.rake +0 -61
- data/website/index.html +1 -1
- metadata +83 -10
@@ -18,23 +18,36 @@ module PoolParty
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def add_resource(type, opts={}, parent=self, &block)
|
21
|
-
|
22
|
-
|
23
|
-
resource
|
21
|
+
if in_resources?(type, opts[:name])
|
22
|
+
get_resource(type, opts[:name], parent)
|
24
23
|
else
|
25
|
-
returning "PoolParty::Resources::#{type.to_s.camelize}".classify.constantize.new(opts, parent, &block) do |o|
|
26
|
-
|
24
|
+
returning "PoolParty::Resources::#{type.to_s.camelize}".classify.constantize.new(opts, parent, &block) do |o|
|
25
|
+
store_into_global_resource_store(o)
|
26
|
+
resource(type) << o
|
27
27
|
end
|
28
28
|
end
|
29
|
+
end
|
30
|
+
def get_resource(ty, key, parent=self)
|
31
|
+
resource(ty).select {|r| r.key == key }.first || get_from_global_resource_store(ty, key)
|
29
32
|
end
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
+
def in_resources?(type, key, parent=self)
|
34
|
+
!(get_resource(type, key) && in_global_resource_store?(type, key)).nil?
|
35
|
+
end
|
36
|
+
def global_resources_store
|
37
|
+
$global_resources ||= []
|
38
|
+
end
|
39
|
+
def store_into_global_resource_store(r)
|
40
|
+
global_resources_store << r unless in_global_resource_store?(r.class_name_sym, r.key)
|
41
|
+
end
|
42
|
+
def get_from_global_resource_store(ty, key)
|
43
|
+
global_resources_store.select {|r| r if r.same_resources_of(ty, key) }.first
|
44
|
+
end
|
45
|
+
def in_global_resource_store?(ty, key)
|
46
|
+
!get_from_global_resource_store(ty, key).nil?
|
33
47
|
end
|
34
|
-
|
35
48
|
#:nodoc:
|
36
49
|
def reset_resources!
|
37
|
-
@resources = nil
|
50
|
+
$global_resources = @resources = nil
|
38
51
|
end
|
39
52
|
|
40
53
|
# def resources_string(pre="")
|
@@ -66,6 +79,9 @@ module PoolParty
|
|
66
79
|
def #{lowercase_class_name}(opts={}, parent=self, &blk)
|
67
80
|
add_resource(:#{lowercase_class_name}, opts, parent, &blk)
|
68
81
|
end
|
82
|
+
def get_#{lowercase_class_name}(name)
|
83
|
+
get_resource(:#{lowercase_class_name}, name) if in_resources?(:#{lowercase_class_name}, name)
|
84
|
+
end
|
69
85
|
EOE
|
70
86
|
PoolParty::Resources.module_eval method
|
71
87
|
PoolParty::Resources.add_has_and_does_not_have_methods_for(lowercase_class_name.to_sym)
|
@@ -102,18 +118,7 @@ module PoolParty
|
|
102
118
|
requires parent.to_s if @parent.is_a?(PoolParty::Resources::Resource) && printable? && @parent.printable?
|
103
119
|
end
|
104
120
|
end
|
105
|
-
|
106
|
-
# def requirement_tree
|
107
|
-
# p = @parent
|
108
|
-
# returning Array.new do |arr|
|
109
|
-
# arr << p.to_s
|
110
|
-
# while p && p != self && p.is_a?(PoolParty::Resources::Resource) && p.requires
|
111
|
-
# arr << p.requires
|
112
|
-
# p = p.parent
|
113
|
-
# end
|
114
|
-
# end.flatten.uniq
|
115
|
-
# end
|
116
|
-
|
121
|
+
|
117
122
|
# Stub, so you can create virtual resources
|
118
123
|
# This is called after the resource is initialized
|
119
124
|
# with the options given to it in the init-block
|
@@ -123,14 +128,19 @@ module PoolParty
|
|
123
128
|
# DSL Overriders
|
124
129
|
include PoolParty::ResourcingDsl
|
125
130
|
|
131
|
+
def same_resources_of(t, k)
|
132
|
+
key == k && class_name_sym == t && !duplicatable?
|
133
|
+
end
|
134
|
+
def duplicatable?
|
135
|
+
false
|
136
|
+
end
|
126
137
|
# This way we can subclass resources without worry
|
127
138
|
def class_type_name
|
128
139
|
self.class.to_s.top_level_class
|
129
|
-
end
|
140
|
+
end
|
130
141
|
def self.custom_function(str)
|
131
142
|
custom_functions << str
|
132
143
|
end
|
133
|
-
|
134
144
|
def self.custom_function(str)
|
135
145
|
custom_functions << str
|
136
146
|
end
|
@@ -163,6 +173,10 @@ module PoolParty
|
|
163
173
|
def printable?
|
164
174
|
true
|
165
175
|
end
|
176
|
+
# Private method just for resource retrievling purposes
|
177
|
+
def class_name_sym
|
178
|
+
self.class.to_s.top_level_class.downcase.to_sym
|
179
|
+
end
|
166
180
|
# We want to gather the options, but if the option sent is nil
|
167
181
|
# then we want to override the option value by sending the key as
|
168
182
|
# a method so that we can override this if necessary.
|
@@ -12,7 +12,7 @@ module PoolParty
|
|
12
12
|
class Classpackage < Resource
|
13
13
|
|
14
14
|
default_options({
|
15
|
-
:name =>
|
15
|
+
:name => "custom"
|
16
16
|
})
|
17
17
|
|
18
18
|
def initialize(opts={}, parent=self, &block)
|
@@ -38,7 +38,7 @@ module PoolParty
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def name(*args)
|
41
|
-
args.empty? ? (@name || parent.name) : @name ||= args.first
|
41
|
+
args.empty? ? (@name || parent.name || "custom_#{Time.now.to_i}") : @name ||= args.first
|
42
42
|
end
|
43
43
|
|
44
44
|
end
|
@@ -2,12 +2,12 @@ module PoolParty
|
|
2
2
|
module Resources
|
3
3
|
|
4
4
|
def execute_if(attr_s="$hostname", str="", parent=self, &block)
|
5
|
-
parent = parent.is_a?(PoolParty::Cloud::Cloud) ? parent : parent.parent
|
5
|
+
# parent = parent.is_a?(PoolParty::Cloud::Cloud) ? parent : parent.parent
|
6
6
|
opts = {:attribute => attr_s, :equal => str}
|
7
7
|
options = parent.respond_to?(:options) ? parent.options.merge!(opts) : opts
|
8
|
-
@c = PoolParty::Resources::Conditional.new(options, parent, &block)
|
9
|
-
parent.
|
10
|
-
@c
|
8
|
+
# @c = PoolParty::Resources::Conditional.new(options, parent, &block)
|
9
|
+
parent.add_resource(:conditional, options, parent, &block)
|
10
|
+
# @c
|
11
11
|
end
|
12
12
|
|
13
13
|
class Conditional < Resource
|
@@ -29,6 +29,10 @@ module PoolParty
|
|
29
29
|
false
|
30
30
|
end
|
31
31
|
|
32
|
+
def duplicatable?
|
33
|
+
false
|
34
|
+
end
|
35
|
+
|
32
36
|
def to_string(pre="")
|
33
37
|
returning Array.new do |output|
|
34
38
|
output << "# #{name.sanitize}"
|
File without changes
|
data/lib/poolparty/version.rb
CHANGED