auser-poolparty 0.2.16 → 0.2.20
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 +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