auser-poolparty 0.2.38 → 0.2.39
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 +30 -1
- data/bin/cloud-maintain +11 -3
- data/bin/messenger-get-load +2 -1
- data/lib/erlang/cloudpanel/Makefile +5 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel.html +39 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel_app.html +40 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel_deps.html +89 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel_sup.html +46 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel_web.html +45 -0
- data/lib/erlang/cloudpanel/ebin/cloudpanel.app +14 -0
- data/lib/erlang/cloudpanel/priv/www/images/bg_content.gif +0 -0
- data/lib/erlang/cloudpanel/priv/www/index.html +34 -0
- data/lib/erlang/cloudpanel/priv/www/javascripts/jquery.js +32 -0
- data/lib/erlang/cloudpanel/priv/www/stylesheets/application.css +48 -0
- data/lib/erlang/cloudpanel/priv/www/stylesheets/classes.css +2 -0
- data/lib/erlang/cloudpanel/priv/www/stylesheets/colors.css +8 -0
- data/lib/erlang/cloudpanel/priv/www/stylesheets/nav.css +18 -0
- data/lib/erlang/cloudpanel/src/Makefile +9 -0
- data/lib/erlang/cloudpanel/src/cloudpanel.app +14 -0
- data/lib/erlang/cloudpanel/src/cloudpanel.erl +30 -0
- data/lib/erlang/cloudpanel/src/cloudpanel.hrl +1 -0
- data/lib/erlang/cloudpanel/src/cloudpanel_app.erl +22 -0
- data/lib/erlang/cloudpanel/src/cloudpanel_deps.erl +84 -0
- data/lib/erlang/cloudpanel/src/cloudpanel_sup.erl +54 -0
- data/lib/erlang/cloudpanel/src/cloudpanel_web.erl +45 -0
- data/lib/erlang/cloudpanel/start-dev.sh +3 -0
- data/lib/erlang/cloudpanel/start.sh +3 -0
- data/lib/erlang/cloudpanel/support/include.mk +46 -0
- data/lib/poolparty.rb +1 -1
- data/lib/poolparty/aska/aska.rb +9 -7
- data/lib/poolparty/base_packages/haproxy.rb +1 -1
- data/lib/poolparty/base_packages/poolparty.rb +2 -2
- data/lib/poolparty/helpers/provisioner_base.rb +10 -2
- data/lib/poolparty/monitors/base_monitor.rb +3 -3
- data/lib/poolparty/monitors/monitors/cpu_monitor.rb +1 -1
- data/lib/poolparty/net/messenger.rb +1 -1
- data/lib/poolparty/net/remote_instance.rb +1 -1
- data/lib/poolparty/net/remoter.rb +8 -3
- data/lib/poolparty/pool/base.rb +9 -1
- data/lib/poolparty/templates/puppetcleaner +1 -0
- data/lib/poolparty/version.rb +1 -1
- data/poolparty.gemspec +32 -3
- data/spec/poolparty/monitors/base_monitor_spec.rb +8 -0
- data/website/index.html +1 -1
- metadata +32 -3
|
@@ -11,11 +11,11 @@ module PoolParty
|
|
|
11
11
|
|
|
12
12
|
module InstanceMethods
|
|
13
13
|
def expand_when(*arr)
|
|
14
|
-
@expand_when ||= ((arr && arr.empty?) ? options[:expand_when] : configure(:expand_when => self.class.send(:rules
|
|
14
|
+
@expand_when ||= ((arr && arr.empty?) ? options[:expand_when] : configure(:expand_when => self.class.send(:rules,:expand_when,arr,false)))
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def contract_when(*arr)
|
|
18
|
-
@contract_when ||= ((arr
|
|
18
|
+
@contract_when ||= ((arr&&arr.empty?) ? options[:contract_when] : configure(:contract_when => self.class.send(:rules,:contract_when,arr,false)))
|
|
19
19
|
end
|
|
20
20
|
end
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@ module PoolParty
|
|
|
23
23
|
args.each do |arg|
|
|
24
24
|
(available_monitors << "#{arg}".downcase.to_sym)
|
|
25
25
|
|
|
26
|
-
InstanceMethods.module_eval "def #{arg}; PoolParty::Messenger.messenger_send!(\"get_load #{arg}\"); end"
|
|
26
|
+
InstanceMethods.module_eval "def #{arg}; PoolParty::Messenger.messenger_send!(\"get_load #{arg}\").to_f rescue -1; end"
|
|
27
27
|
end
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -16,7 +16,7 @@ module PoolParty
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
def self.messenger_send!(cmd="", testing=false)
|
|
19
|
-
command = Messenger.erl_command("client", "-s pm_client -run pm_client #{cmd} -s erlang halt -noshell")
|
|
19
|
+
command = Messenger.erl_command("client#{Time.now.to_i}", "-s pm_client -run pm_client #{cmd} -s erlang halt -noshell")
|
|
20
20
|
testing ? command : %x[#{command}]
|
|
21
21
|
end
|
|
22
22
|
|
|
@@ -72,7 +72,7 @@ module PoolParty
|
|
|
72
72
|
". /etc/profile && /usr/sbin/puppetd --onetime --no-daemonize --logdest syslog --server master 2>&1"
|
|
73
73
|
end
|
|
74
74
|
def self.puppet_master_rerun_command
|
|
75
|
-
"
|
|
75
|
+
"#{puppet_runner_command}"
|
|
76
76
|
end
|
|
77
77
|
def self.puppet_rerun_commad
|
|
78
78
|
"/usr/bin/puppetrerun 2>&1 > /dev/null"
|
|
@@ -152,6 +152,7 @@ module PoolParty
|
|
|
152
152
|
# Then wait for the master to launch
|
|
153
153
|
def launch_and_configure_master!(testing=false)
|
|
154
154
|
vputs "Requesting to launch new instance"
|
|
155
|
+
logger.debug "Launching master"
|
|
155
156
|
request_launch_new_instances(1) if list_of_pending_instances.size.zero? && can_start_a_new_instance? && !is_master_running?
|
|
156
157
|
|
|
157
158
|
vputs "Waiting for there to be no pending instances..."
|
|
@@ -183,6 +184,7 @@ module PoolParty
|
|
|
183
184
|
# get go
|
|
184
185
|
def expand_cloud_if_necessary(force=false)
|
|
185
186
|
if can_start_a_new_instance? && should_expand_cloud?(force)
|
|
187
|
+
logger.debug "Expanding the cloud based on load"
|
|
186
188
|
@num = 1
|
|
187
189
|
@out = request_launch_new_instances(@num)
|
|
188
190
|
|
|
@@ -204,9 +206,12 @@ module PoolParty
|
|
|
204
206
|
# If we can shutdown an instnace and the load allows us to contract
|
|
205
207
|
# the cloud, then we should request_termination_of_non_master_instance
|
|
206
208
|
def contract_cloud_if_necessary(force=false)
|
|
207
|
-
if can_shutdown_an_instance?
|
|
208
|
-
|
|
209
|
-
|
|
209
|
+
if can_shutdown_an_instance?
|
|
210
|
+
if should_contract_cloud?(force)
|
|
211
|
+
logger.debug "Shrinking the cloud by 1"
|
|
212
|
+
before_shutdown
|
|
213
|
+
request_termination_of_non_master_instance
|
|
214
|
+
end
|
|
210
215
|
end
|
|
211
216
|
end
|
|
212
217
|
|
data/lib/poolparty/pool/base.rb
CHANGED
|
@@ -78,8 +78,16 @@ module PoolParty
|
|
|
78
78
|
end.first || ::File.join( "/tmp/poolparty")
|
|
79
79
|
end
|
|
80
80
|
|
|
81
|
+
def logger_location
|
|
82
|
+
[
|
|
83
|
+
"/var/logs/poolparty"
|
|
84
|
+
].select do |dir|
|
|
85
|
+
dir if ::File.directory?(dir) && ::File.readable?(dir)
|
|
86
|
+
end.first || ::File.join(Dir.pwd, "logs")
|
|
87
|
+
end
|
|
88
|
+
|
|
81
89
|
def pool_logger_location
|
|
82
|
-
File.join(
|
|
90
|
+
::File.join(logger_location, "pool.logs")
|
|
83
91
|
end
|
|
84
92
|
|
|
85
93
|
# Array of allowed_commands that you can run on the remote nodes
|
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.39
|
|
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-11-
|
|
12
|
+
date: 2008-11-02 00:00:00 -07:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -139,7 +139,6 @@ files:
|
|
|
139
139
|
- bin/server-start-node
|
|
140
140
|
- config/hoe.rb
|
|
141
141
|
- config/requirements.rb
|
|
142
|
-
- erl_crash.dump
|
|
143
142
|
- examples/basic.rb
|
|
144
143
|
- examples/plugin_without_plugin_directory.rb
|
|
145
144
|
- examples/poolparty.rb
|
|
@@ -147,6 +146,36 @@ files:
|
|
|
147
146
|
- generators/poolspec/USAGE
|
|
148
147
|
- generators/poolspec/poolspec_generator.rb
|
|
149
148
|
- generators/poolspec/templates/pool_spec_template.erb
|
|
149
|
+
- lib/erlang/cloudpanel/Makefile
|
|
150
|
+
- lib/erlang/cloudpanel/doc/cloudpanel.html
|
|
151
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_app.html
|
|
152
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_deps.html
|
|
153
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_sup.html
|
|
154
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_web.html
|
|
155
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel.app
|
|
156
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel.beam
|
|
157
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_app.beam
|
|
158
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_deps.beam
|
|
159
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_sup.beam
|
|
160
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_web.beam
|
|
161
|
+
- lib/erlang/cloudpanel/priv/www/images/bg_content.gif
|
|
162
|
+
- lib/erlang/cloudpanel/priv/www/index.html
|
|
163
|
+
- lib/erlang/cloudpanel/priv/www/javascripts/jquery.js
|
|
164
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/application.css
|
|
165
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/classes.css
|
|
166
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/colors.css
|
|
167
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/nav.css
|
|
168
|
+
- lib/erlang/cloudpanel/src/Makefile
|
|
169
|
+
- lib/erlang/cloudpanel/src/cloudpanel.app
|
|
170
|
+
- lib/erlang/cloudpanel/src/cloudpanel.erl
|
|
171
|
+
- lib/erlang/cloudpanel/src/cloudpanel.hrl
|
|
172
|
+
- lib/erlang/cloudpanel/src/cloudpanel_app.erl
|
|
173
|
+
- lib/erlang/cloudpanel/src/cloudpanel_deps.erl
|
|
174
|
+
- lib/erlang/cloudpanel/src/cloudpanel_sup.erl
|
|
175
|
+
- lib/erlang/cloudpanel/src/cloudpanel_web.erl
|
|
176
|
+
- lib/erlang/cloudpanel/start-dev.sh
|
|
177
|
+
- lib/erlang/cloudpanel/start.sh
|
|
178
|
+
- lib/erlang/cloudpanel/support/include.mk
|
|
150
179
|
- lib/erlang/messenger/Emakefile
|
|
151
180
|
- lib/erlang/messenger/Makefile
|
|
152
181
|
- lib/erlang/messenger/README
|
|
@@ -25,6 +25,10 @@ describe "Monitors" do
|
|
|
25
25
|
PoolParty::Messenger.should_receive(:messenger_send!).with("get_load fake").and_return true
|
|
26
26
|
TestMonitorClass.new.fake
|
|
27
27
|
end
|
|
28
|
+
it "should have the cpu method on the class" do
|
|
29
|
+
PoolParty::Messenger.should_receive(:messenger_send!).with("get_load cpu").and_return true
|
|
30
|
+
TestMonitorClass.new.cpu
|
|
31
|
+
end
|
|
28
32
|
describe "expansions" do
|
|
29
33
|
before(:each) do
|
|
30
34
|
@tmc = TestMonitorClass.new
|
|
@@ -81,6 +85,10 @@ describe "Monitors" do
|
|
|
81
85
|
end
|
|
82
86
|
end
|
|
83
87
|
describe "when neither is over the limits" do
|
|
88
|
+
before(:each) do
|
|
89
|
+
@tmc.stub!(:cpu).and_return 87
|
|
90
|
+
@tmc.stub!(:memory).and_return 40
|
|
91
|
+
end
|
|
84
92
|
it "should not expand" do
|
|
85
93
|
@tmc.valid_rules?(:expand_when).should == false
|
|
86
94
|
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.39</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.39
|
|
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-11-
|
|
12
|
+
date: 2008-11-02 00:00:00 -07:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -139,7 +139,6 @@ files:
|
|
|
139
139
|
- bin/server-start-node
|
|
140
140
|
- config/hoe.rb
|
|
141
141
|
- config/requirements.rb
|
|
142
|
-
- erl_crash.dump
|
|
143
142
|
- examples/basic.rb
|
|
144
143
|
- examples/plugin_without_plugin_directory.rb
|
|
145
144
|
- examples/poolparty.rb
|
|
@@ -147,6 +146,36 @@ files:
|
|
|
147
146
|
- generators/poolspec/USAGE
|
|
148
147
|
- generators/poolspec/poolspec_generator.rb
|
|
149
148
|
- generators/poolspec/templates/pool_spec_template.erb
|
|
149
|
+
- lib/erlang/cloudpanel/Makefile
|
|
150
|
+
- lib/erlang/cloudpanel/doc/cloudpanel.html
|
|
151
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_app.html
|
|
152
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_deps.html
|
|
153
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_sup.html
|
|
154
|
+
- lib/erlang/cloudpanel/doc/cloudpanel_web.html
|
|
155
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel.app
|
|
156
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel.beam
|
|
157
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_app.beam
|
|
158
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_deps.beam
|
|
159
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_sup.beam
|
|
160
|
+
- lib/erlang/cloudpanel/ebin/cloudpanel_web.beam
|
|
161
|
+
- lib/erlang/cloudpanel/priv/www/images/bg_content.gif
|
|
162
|
+
- lib/erlang/cloudpanel/priv/www/index.html
|
|
163
|
+
- lib/erlang/cloudpanel/priv/www/javascripts/jquery.js
|
|
164
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/application.css
|
|
165
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/classes.css
|
|
166
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/colors.css
|
|
167
|
+
- lib/erlang/cloudpanel/priv/www/stylesheets/nav.css
|
|
168
|
+
- lib/erlang/cloudpanel/src/Makefile
|
|
169
|
+
- lib/erlang/cloudpanel/src/cloudpanel.app
|
|
170
|
+
- lib/erlang/cloudpanel/src/cloudpanel.erl
|
|
171
|
+
- lib/erlang/cloudpanel/src/cloudpanel.hrl
|
|
172
|
+
- lib/erlang/cloudpanel/src/cloudpanel_app.erl
|
|
173
|
+
- lib/erlang/cloudpanel/src/cloudpanel_deps.erl
|
|
174
|
+
- lib/erlang/cloudpanel/src/cloudpanel_sup.erl
|
|
175
|
+
- lib/erlang/cloudpanel/src/cloudpanel_web.erl
|
|
176
|
+
- lib/erlang/cloudpanel/start-dev.sh
|
|
177
|
+
- lib/erlang/cloudpanel/start.sh
|
|
178
|
+
- lib/erlang/cloudpanel/support/include.mk
|
|
150
179
|
- lib/erlang/messenger/Emakefile
|
|
151
180
|
- lib/erlang/messenger/Makefile
|
|
152
181
|
- lib/erlang/messenger/README
|