auser-poolparty 0.2.39 → 0.2.40
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +117 -0
- data/bin/cloud-configure +3 -3
- data/bin/cloud-expand +10 -6
- data/bin/cloud-handle-load +32 -0
- data/bin/cloud-maintain +3 -9
- data/bin/cloud-provision +1 -1
- data/bin/cloud-start +2 -1
- data/bin/server-show-stats +1 -0
- data/lib/erlang/cloudpanel/EMakefile +1 -0
- data/lib/erlang/cloudpanel/Makefile +3 -0
- data/lib/erlang/cloudpanel/cloudpanel.rb +15 -0
- data/lib/erlang/cloudpanel/doc/cloudpanel_web.html +1 -1
- data/lib/erlang/cloudpanel/doc/string.html +222 -0
- data/lib/erlang/cloudpanel/priv/www/index.html +2 -1
- data/lib/erlang/cloudpanel/priv/www/javascripts/site.js +2 -0
- data/lib/erlang/cloudpanel/priv/www/pages/index.html +1 -0
- data/lib/erlang/cloudpanel/priv/www/pages/tail.html +1 -0
- data/lib/erlang/cloudpanel/priv/www/partials/error.html +3 -0
- data/lib/erlang/cloudpanel/priv/www/partials/footer.html +6 -0
- data/lib/erlang/cloudpanel/priv/www/partials/header.html +13 -0
- data/lib/erlang/cloudpanel/priv/www/partials/menu.html +13 -0
- data/lib/erlang/cloudpanel/src/cloudpanel.hrl +1 -0
- data/lib/erlang/cloudpanel/src/cloudpanel_web.erl +18 -24
- data/lib/erlang/cloudpanel/src/string.erl +387 -0
- data/lib/erlang/cloudpanel/src/tail_log.erl +66 -0
- data/lib/erlang/cloudpanel/src/tailor.erl +31 -0
- data/lib/erlang/cloudpanel/src/utils.erl +9 -0
- data/lib/erlang/cloudpanel/src/views.erl +44 -0
- data/lib/erlang/cloudpanel/yaws.conf +20 -0
- data/lib/erlang/messenger/useful_snippets +1 -1
- data/lib/poolparty/aska/aska.rb +29 -4
- data/lib/poolparty/base_packages/poolparty.rb +14 -6
- data/lib/poolparty/config/postlaunchmessage.txt +5 -0
- data/lib/poolparty/exceptions/LoadRulesException.rb +7 -0
- data/lib/poolparty/helpers/provisioner_base.rb +24 -8
- data/lib/poolparty/helpers/provisioners/master.rb +8 -2
- data/lib/poolparty/helpers/provisioners/slave.rb +4 -3
- data/lib/poolparty/modules/method_missing_sugar.rb +1 -1
- data/lib/poolparty/monitors/base_monitor.rb +1 -1
- data/lib/poolparty/net/remoter.rb +8 -5
- data/lib/poolparty/plugins/git.rb +1 -1
- data/lib/poolparty/pool/base.rb +6 -3
- data/lib/poolparty/pool/cloud.rb +4 -2
- data/lib/poolparty/pool/loggable.rb +2 -5
- data/lib/poolparty/templates/yaws.conf +19 -0
- data/lib/poolparty/version.rb +1 -1
- data/lib/poolparty.rb +2 -2
- data/poolparty.gemspec +121 -2
- data/spec/poolparty/aska/aska_spec.rb +33 -0
- data/spec/poolparty/core/hash_spec.rb +3 -3
- data/spec/poolparty/net/remote_spec.rb +4 -3
- data/spec/poolparty/net/remoter_spec.rb +1 -0
- data/spec/poolparty/pool/base_spec.rb +11 -2
- data/spec/poolparty/pool/cloud_spec.rb +2 -2
- data/website/index.html +1 -1
- metadata +121 -2
data/Manifest.txt
CHANGED
@@ -10,6 +10,7 @@ bin/cloud-configure
|
|
10
10
|
bin/cloud-contract
|
11
11
|
bin/cloud-ensure-provisioning
|
12
12
|
bin/cloud-expand
|
13
|
+
bin/cloud-handle-load
|
13
14
|
bin/cloud-list
|
14
15
|
bin/cloud-maintain
|
15
16
|
bin/cloud-osxcopy
|
@@ -45,21 +46,127 @@ examples/with_apache_plugin.rb
|
|
45
46
|
generators/poolspec/USAGE
|
46
47
|
generators/poolspec/poolspec_generator.rb
|
47
48
|
generators/poolspec/templates/pool_spec_template.erb
|
49
|
+
lib/erlang/cloudpanel/EMakefile
|
48
50
|
lib/erlang/cloudpanel/Makefile
|
51
|
+
lib/erlang/cloudpanel/cloudpanel.rb
|
52
|
+
lib/erlang/cloudpanel/deps/mochiweb/LICENSE
|
53
|
+
lib/erlang/cloudpanel/deps/mochiweb/Makefile
|
54
|
+
lib/erlang/cloudpanel/deps/mochiweb/README
|
55
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochifmt.html
|
56
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochifmt_records.html
|
57
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochifmt_std.html
|
58
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochihex.html
|
59
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochijson.html
|
60
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochijson2.html
|
61
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochinum.html
|
62
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb.html
|
63
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_app.html
|
64
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_charref.html
|
65
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_cookies.html
|
66
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_echo.html
|
67
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_headers.html
|
68
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_html.html
|
69
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_http.html
|
70
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_multipart.html
|
71
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_request.html
|
72
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_response.html
|
73
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_skel.html
|
74
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_socket_server.html
|
75
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_sup.html
|
76
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/mochiweb_util.html
|
77
|
+
lib/erlang/cloudpanel/deps/mochiweb/doc/reloader.html
|
78
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochifmt.beam
|
79
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochifmt_records.beam
|
80
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochifmt_std.beam
|
81
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochihex.beam
|
82
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochijson.beam
|
83
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochijson2.beam
|
84
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochinum.beam
|
85
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb.app
|
86
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb.beam
|
87
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_app.beam
|
88
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_charref.beam
|
89
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_cookies.beam
|
90
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_echo.beam
|
91
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_headers.beam
|
92
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_html.beam
|
93
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_http.beam
|
94
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_multipart.beam
|
95
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_request.beam
|
96
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_response.beam
|
97
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_skel.beam
|
98
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_socket_server.beam
|
99
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_sup.beam
|
100
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/mochiweb_util.beam
|
101
|
+
lib/erlang/cloudpanel/deps/mochiweb/ebin/reloader.beam
|
102
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/Makefile
|
103
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/priv/www/index.html
|
104
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/Makefile
|
105
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel.app
|
106
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel.erl
|
107
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel.hrl
|
108
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel_app.erl
|
109
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel_deps.erl
|
110
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel_sup.erl
|
111
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/src/skel_web.erl
|
112
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/start-dev.sh
|
113
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/start.sh
|
114
|
+
lib/erlang/cloudpanel/deps/mochiweb/priv/skel/support/include.mk
|
115
|
+
lib/erlang/cloudpanel/deps/mochiweb/scripts/new_mochiweb.erl
|
116
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/Makefile
|
117
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochifmt.erl
|
118
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochifmt_records.erl
|
119
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochifmt_std.erl
|
120
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochihex.erl
|
121
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochijson.erl
|
122
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochijson2.erl
|
123
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochinum.erl
|
124
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb.app
|
125
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb.erl
|
126
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_app.erl
|
127
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_charref.erl
|
128
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_cookies.erl
|
129
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_echo.erl
|
130
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_headers.erl
|
131
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_html.erl
|
132
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_http.erl
|
133
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_multipart.erl
|
134
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_request.erl
|
135
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_response.erl
|
136
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_skel.erl
|
137
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_socket_server.erl
|
138
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_sup.erl
|
139
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/mochiweb_util.erl
|
140
|
+
lib/erlang/cloudpanel/deps/mochiweb/src/reloader.erl
|
141
|
+
lib/erlang/cloudpanel/deps/mochiweb/support/include.mk
|
49
142
|
lib/erlang/cloudpanel/doc/cloudpanel.html
|
50
143
|
lib/erlang/cloudpanel/doc/cloudpanel_app.html
|
51
144
|
lib/erlang/cloudpanel/doc/cloudpanel_deps.html
|
52
145
|
lib/erlang/cloudpanel/doc/cloudpanel_sup.html
|
53
146
|
lib/erlang/cloudpanel/doc/cloudpanel_web.html
|
147
|
+
lib/erlang/cloudpanel/doc/string.html
|
54
148
|
lib/erlang/cloudpanel/ebin/cloudpanel.app
|
55
149
|
lib/erlang/cloudpanel/ebin/cloudpanel.beam
|
56
150
|
lib/erlang/cloudpanel/ebin/cloudpanel_app.beam
|
57
151
|
lib/erlang/cloudpanel/ebin/cloudpanel_deps.beam
|
58
152
|
lib/erlang/cloudpanel/ebin/cloudpanel_sup.beam
|
59
153
|
lib/erlang/cloudpanel/ebin/cloudpanel_web.beam
|
154
|
+
lib/erlang/cloudpanel/ebin/string.beam
|
155
|
+
lib/erlang/cloudpanel/ebin/tail_log.beam
|
156
|
+
lib/erlang/cloudpanel/ebin/tailor.beam
|
157
|
+
lib/erlang/cloudpanel/ebin/utils.beam
|
158
|
+
lib/erlang/cloudpanel/ebin/views.beam
|
159
|
+
lib/erlang/cloudpanel/ebin/web_utils.beam
|
60
160
|
lib/erlang/cloudpanel/priv/www/images/bg_content.gif
|
61
161
|
lib/erlang/cloudpanel/priv/www/index.html
|
62
162
|
lib/erlang/cloudpanel/priv/www/javascripts/jquery.js
|
163
|
+
lib/erlang/cloudpanel/priv/www/javascripts/site.js
|
164
|
+
lib/erlang/cloudpanel/priv/www/pages/index.html
|
165
|
+
lib/erlang/cloudpanel/priv/www/pages/tail.html
|
166
|
+
lib/erlang/cloudpanel/priv/www/partials/error.html
|
167
|
+
lib/erlang/cloudpanel/priv/www/partials/footer.html
|
168
|
+
lib/erlang/cloudpanel/priv/www/partials/header.html
|
169
|
+
lib/erlang/cloudpanel/priv/www/partials/menu.html
|
63
170
|
lib/erlang/cloudpanel/priv/www/stylesheets/application.css
|
64
171
|
lib/erlang/cloudpanel/priv/www/stylesheets/classes.css
|
65
172
|
lib/erlang/cloudpanel/priv/www/stylesheets/colors.css
|
@@ -72,9 +179,15 @@ lib/erlang/cloudpanel/src/cloudpanel_app.erl
|
|
72
179
|
lib/erlang/cloudpanel/src/cloudpanel_deps.erl
|
73
180
|
lib/erlang/cloudpanel/src/cloudpanel_sup.erl
|
74
181
|
lib/erlang/cloudpanel/src/cloudpanel_web.erl
|
182
|
+
lib/erlang/cloudpanel/src/string.erl
|
183
|
+
lib/erlang/cloudpanel/src/tail_log.erl
|
184
|
+
lib/erlang/cloudpanel/src/tailor.erl
|
185
|
+
lib/erlang/cloudpanel/src/utils.erl
|
186
|
+
lib/erlang/cloudpanel/src/views.erl
|
75
187
|
lib/erlang/cloudpanel/start-dev.sh
|
76
188
|
lib/erlang/cloudpanel/start.sh
|
77
189
|
lib/erlang/cloudpanel/support/include.mk
|
190
|
+
lib/erlang/cloudpanel/yaws.conf
|
78
191
|
lib/erlang/messenger/Emakefile
|
79
192
|
lib/erlang/messenger/Makefile
|
80
193
|
lib/erlang/messenger/README
|
@@ -181,6 +294,7 @@ lib/poolparty/base_packages/heartbeat.rb
|
|
181
294
|
lib/poolparty/base_packages/poolparty.rb
|
182
295
|
lib/poolparty/base_packages/ruby.rb
|
183
296
|
lib/poolparty/config/allowed_commands.yml
|
297
|
+
lib/poolparty/config/postlaunchmessage.txt
|
184
298
|
lib/poolparty/core/array.rb
|
185
299
|
lib/poolparty/core/class.rb
|
186
300
|
lib/poolparty/core/exception.rb
|
@@ -197,6 +311,7 @@ lib/poolparty/core/symbol.rb
|
|
197
311
|
lib/poolparty/core/time.rb
|
198
312
|
lib/poolparty/dependency_resolutions/base.rb
|
199
313
|
lib/poolparty/dependency_resolutions/puppet.rb
|
314
|
+
lib/poolparty/exceptions/LoadRulesException.rb
|
200
315
|
lib/poolparty/exceptions/MasterException.rb
|
201
316
|
lib/poolparty/exceptions/RemoteException.rb
|
202
317
|
lib/poolparty/exceptions/ResourceException.rb
|
@@ -267,8 +382,10 @@ lib/poolparty/templates/poolparty.monitor
|
|
267
382
|
lib/poolparty/templates/puppet.conf
|
268
383
|
lib/poolparty/templates/puppetcleaner
|
269
384
|
lib/poolparty/templates/puppetrerun
|
385
|
+
lib/poolparty/templates/yaws.conf
|
270
386
|
lib/poolparty/version.rb
|
271
387
|
lib/poolpartycl.rb
|
388
|
+
log/pool.logs
|
272
389
|
poolparty.gemspec
|
273
390
|
script/destroy
|
274
391
|
script/generate
|
data/bin/cloud-configure
CHANGED
@@ -16,16 +16,16 @@ include Remote
|
|
16
16
|
|
17
17
|
@clouds.each do |name, cloud|
|
18
18
|
|
19
|
-
with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_class => @provision_class}) do
|
19
|
+
with_cloud(cloud, {:testing => o.testing, :location => @location, :provision_class => @provision_class, :verbose => o.verbose}) do
|
20
20
|
|
21
|
-
hide_output do
|
21
|
+
# hide_output do
|
22
22
|
# if provision_class == "master" || provision_class == "all"
|
23
23
|
Provisioner.configure_master(self, testing)
|
24
24
|
# end
|
25
25
|
# if provision_class == "slave" || provision_class == "all"
|
26
26
|
# Provisioner.configure_slaves(self, testing)
|
27
27
|
# end
|
28
|
-
end
|
28
|
+
# end
|
29
29
|
clear_base_directory unless testing
|
30
30
|
end
|
31
31
|
end
|
data/bin/cloud-expand
CHANGED
@@ -12,11 +12,15 @@ load_pool(o.spec || Binary.get_existing_spec_location)
|
|
12
12
|
|
13
13
|
include Remote
|
14
14
|
|
15
|
-
@
|
15
|
+
@clouds = extract_cloud_from_options o
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
@clouds.each do |cloud|
|
18
|
+
|
19
|
+
with_cloud(cloud, {:testing => @testing, :verbose => o.verbose}) do
|
20
|
+
vputs header("Expanding cloud #{name}")
|
21
|
+
vputs "#{list_of_running_instances.size} running instances of #{maximum_instances} possible instances"
|
22
|
+
vputs testing ? "Not expanding (test mode)" : "Expanding the cloud"
|
23
|
+
expand_cloud_if_necessary( !testing )
|
24
|
+
end
|
25
|
+
|
22
26
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$:.unshift(File.join(File.dirname(__FILE__), "..", "lib"))
|
3
|
+
require "poolparty"
|
4
|
+
require "poolpartycl"
|
5
|
+
o = PoolParty::Optioner.new(ARGV) do |opts, optioner|
|
6
|
+
opts.on('-n name', '--name name', 'Listing for cloud name') { |c| optioner.cloudname c }
|
7
|
+
end
|
8
|
+
load_pool(o.spec || Binary.get_existing_spec_location)
|
9
|
+
|
10
|
+
@location = o.location ? o.location : "remote"
|
11
|
+
|
12
|
+
include Remote
|
13
|
+
|
14
|
+
@clouds = o.cloudname ? [cloud(o.cloudname.downcase.to_sym)] : clouds
|
15
|
+
|
16
|
+
@clouds.each do |name, cloud|
|
17
|
+
|
18
|
+
with_cloud(cloud, {:location => @location, :testing => o.testing, :verbose => o.verbose}) do
|
19
|
+
vputs header("Load handling cloud #{name}")
|
20
|
+
if should_expand_cloud?
|
21
|
+
vputs "Expanding cloud based on load"
|
22
|
+
logger.debug "Expanding cloud based on load"
|
23
|
+
logger.debug rules_values
|
24
|
+
expand_cloud_if_necessary
|
25
|
+
elsif should_contract_cloud?
|
26
|
+
vputs "Contracting cloud based on load"
|
27
|
+
logger.debug rules_values
|
28
|
+
contract_cloud_if_necessary
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/bin/cloud-maintain
CHANGED
@@ -20,24 +20,18 @@ include Remote
|
|
20
20
|
|
21
21
|
with_cloud(cloud, {:location => @location, :testing => o.testing, :verbose => o.verbose}) do
|
22
22
|
vputs header("Maintaining cloud #{name}")
|
23
|
+
logger.warn "Maintaining cloud"
|
24
|
+
logger.warn rules_values
|
23
25
|
if !minimum_number_of_instances_are_running?
|
24
26
|
vputs "#{list_of_running_instances.size} running instances of between #{minimum_instances} and #{maximum_instances}"
|
25
27
|
vputs "Launching new instance"
|
26
|
-
|
28
|
+
launch_minimum_number_of_instances
|
27
29
|
elsif !maximum_number_of_instances_are_not_running?
|
28
30
|
vputs "#{list_of_running_instances.size} running instances of between #{minimum_instances} and #{maximum_instances}"
|
29
31
|
vputs "Shutting down non-master instance"
|
30
32
|
contract_cloud_if_necessary( !testing )
|
31
33
|
end
|
32
34
|
vputs "Cloud is maintained"
|
33
|
-
|
34
|
-
if should_expand_cloud?
|
35
|
-
vputs "Expanding cloud based on load"
|
36
|
-
expand_cloud_if_necessary
|
37
|
-
elsif should_contract_cloud?
|
38
|
-
vputs "Contracting cloud based on load"
|
39
|
-
contract_cloud_if_necessary
|
40
|
-
end
|
41
35
|
end
|
42
36
|
|
43
37
|
end
|
data/bin/cloud-provision
CHANGED
@@ -22,7 +22,7 @@ include Remote
|
|
22
22
|
if instance_num
|
23
23
|
@instance = get_instance_by_number( instance_num )
|
24
24
|
vputs "Provisioning instance: #{@instance.name} (#{instance_num})"
|
25
|
-
Provisioner.provision_slave(@instance, self, testing)
|
25
|
+
instance_num == 0 ? Provisioner.provision_master(self, testing) : Provisioner.provision_slave(@instance, self, testing)
|
26
26
|
else
|
27
27
|
if provision_slave
|
28
28
|
vputs "Provisioning slaves"
|
data/bin/cloud-start
CHANGED
@@ -17,7 +17,7 @@ load_pool(o.spec || Binary.get_existing_spec_location)
|
|
17
17
|
with_cloud(cloud, {:testing => @testing, :verbose => (o.verbose || false)}) do
|
18
18
|
puts header("Starting cloud")
|
19
19
|
puts "#{list_of_running_instances.size} running instances (#{minimum_instances} - #{maximum_instances})"
|
20
|
-
if list_of_running_instances.size
|
20
|
+
if list_of_running_instances.size <= 1
|
21
21
|
puts "Starting the master instance"
|
22
22
|
if testing
|
23
23
|
puts("\tNot launching while in testing mode")
|
@@ -28,6 +28,7 @@ load_pool(o.spec || Binary.get_existing_spec_location)
|
|
28
28
|
provisioning_complete
|
29
29
|
end
|
30
30
|
end
|
31
|
+
puts open(::File.join(File.dirname(__FILE__), "..", "lib", "poolparty", "config", "postlaunchmessage.txt")).read ^ {:master_ip => master.ip.chomp}
|
31
32
|
clear_base_directory unless testing
|
32
33
|
end
|
33
34
|
|
data/bin/server-show-stats
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
{"src/*", [debug_info, {outdir, "ebin"}, {i,"include"}]}.
|
@@ -40,6 +40,6 @@
|
|
40
40
|
<hr>
|
41
41
|
|
42
42
|
<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
|
43
|
-
<p><i>Generated by EDoc, Nov
|
43
|
+
<p><i>Generated by EDoc, Nov 3 2008, 14:25:08.</i></p>
|
44
44
|
</body>
|
45
45
|
</html>
|
@@ -0,0 +1,222 @@
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Module string</title>
|
5
|
+
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="EDoc">
|
6
|
+
</head>
|
7
|
+
<body bgcolor="white">
|
8
|
+
<div class="navbar"><a name="#navbar_top"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
|
9
|
+
<hr>
|
10
|
+
|
11
|
+
<h1>Module string</h1>
|
12
|
+
<ul class="index"><li><a href="#index">Function Index</a></li><li><a href="#functions">Function Details</a></li></ul>
|
13
|
+
|
14
|
+
|
15
|
+
<h2><a name="index">Function Index</a></h2>
|
16
|
+
<table width="100%" border="1" cellspacing="0" cellpadding="2" summary="function index"><tr><td valign="top"><a href="#centre-2">centre/2</a></td><td></td></tr>
|
17
|
+
<tr><td valign="top"><a href="#centre-3">centre/3</a></td><td></td></tr>
|
18
|
+
<tr><td valign="top"><a href="#chars-2">chars/2</a></td><td></td></tr>
|
19
|
+
<tr><td valign="top"><a href="#chars-3">chars/3</a></td><td></td></tr>
|
20
|
+
<tr><td valign="top"><a href="#chr-2">chr/2</a></td><td></td></tr>
|
21
|
+
<tr><td valign="top"><a href="#concat-2">concat/2</a></td><td></td></tr>
|
22
|
+
<tr><td valign="top"><a href="#copies-2">copies/2</a></td><td></td></tr>
|
23
|
+
<tr><td valign="top"><a href="#cspan-2">cspan/2</a></td><td></td></tr>
|
24
|
+
<tr><td valign="top"><a href="#equal-2">equal/2</a></td><td></td></tr>
|
25
|
+
<tr><td valign="top"><a href="#join-2">join/2</a></td><td></td></tr>
|
26
|
+
<tr><td valign="top"><a href="#left-2">left/2</a></td><td></td></tr>
|
27
|
+
<tr><td valign="top"><a href="#left-3">left/3</a></td><td></td></tr>
|
28
|
+
<tr><td valign="top"><a href="#len-1">len/1</a></td><td></td></tr>
|
29
|
+
<tr><td valign="top"><a href="#rchr-2">rchr/2</a></td><td></td></tr>
|
30
|
+
<tr><td valign="top"><a href="#right-2">right/2</a></td><td></td></tr>
|
31
|
+
<tr><td valign="top"><a href="#right-3">right/3</a></td><td></td></tr>
|
32
|
+
<tr><td valign="top"><a href="#rstr-2">rstr/2</a></td><td></td></tr>
|
33
|
+
<tr><td valign="top"><a href="#span-2">span/2</a></td><td></td></tr>
|
34
|
+
<tr><td valign="top"><a href="#str-2">str/2</a></td><td></td></tr>
|
35
|
+
<tr><td valign="top"><a href="#strip-1">strip/1</a></td><td></td></tr>
|
36
|
+
<tr><td valign="top"><a href="#strip-2">strip/2</a></td><td></td></tr>
|
37
|
+
<tr><td valign="top"><a href="#strip-3">strip/3</a></td><td></td></tr>
|
38
|
+
<tr><td valign="top"><a href="#sub_string-2">sub_string/2</a></td><td></td></tr>
|
39
|
+
<tr><td valign="top"><a href="#sub_string-3">sub_string/3</a></td><td></td></tr>
|
40
|
+
<tr><td valign="top"><a href="#sub_word-2">sub_word/2</a></td><td></td></tr>
|
41
|
+
<tr><td valign="top"><a href="#sub_word-3">sub_word/3</a></td><td></td></tr>
|
42
|
+
<tr><td valign="top"><a href="#substr-2">substr/2</a></td><td></td></tr>
|
43
|
+
<tr><td valign="top"><a href="#substr-3">substr/3</a></td><td></td></tr>
|
44
|
+
<tr><td valign="top"><a href="#to_lower-1">to_lower/1</a></td><td></td></tr>
|
45
|
+
<tr><td valign="top"><a href="#to_upper-1">to_upper/1</a></td><td></td></tr>
|
46
|
+
<tr><td valign="top"><a href="#tokens-2">tokens/2</a></td><td></td></tr>
|
47
|
+
<tr><td valign="top"><a href="#words-1">words/1</a></td><td></td></tr>
|
48
|
+
<tr><td valign="top"><a href="#words-2">words/2</a></td><td></td></tr>
|
49
|
+
</table>
|
50
|
+
|
51
|
+
<h2><a name="functions">Function Details</a></h2>
|
52
|
+
|
53
|
+
<h3 class="function"><a name="centre-2">centre/2</a></h3>
|
54
|
+
<div class="spec">
|
55
|
+
<p><tt>centre() -> term()</tt></p>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<h3 class="function"><a name="centre-3">centre/3</a></h3>
|
59
|
+
<div class="spec">
|
60
|
+
<p><tt>centre() -> term()</tt></p>
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<h3 class="function"><a name="chars-2">chars/2</a></h3>
|
64
|
+
<div class="spec">
|
65
|
+
<p><tt>chars() -> term()</tt></p>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
<h3 class="function"><a name="chars-3">chars/3</a></h3>
|
69
|
+
<div class="spec">
|
70
|
+
<p><tt>chars() -> term()</tt></p>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<h3 class="function"><a name="chr-2">chr/2</a></h3>
|
74
|
+
<div class="spec">
|
75
|
+
<p><tt>chr() -> term()</tt></p>
|
76
|
+
</div>
|
77
|
+
|
78
|
+
<h3 class="function"><a name="concat-2">concat/2</a></h3>
|
79
|
+
<div class="spec">
|
80
|
+
<p><tt>concat() -> term()</tt></p>
|
81
|
+
</div>
|
82
|
+
|
83
|
+
<h3 class="function"><a name="copies-2">copies/2</a></h3>
|
84
|
+
<div class="spec">
|
85
|
+
<p><tt>copies() -> term()</tt></p>
|
86
|
+
</div>
|
87
|
+
|
88
|
+
<h3 class="function"><a name="cspan-2">cspan/2</a></h3>
|
89
|
+
<div class="spec">
|
90
|
+
<p><tt>cspan() -> term()</tt></p>
|
91
|
+
</div>
|
92
|
+
|
93
|
+
<h3 class="function"><a name="equal-2">equal/2</a></h3>
|
94
|
+
<div class="spec">
|
95
|
+
<p><tt>equal() -> term()</tt></p>
|
96
|
+
</div>
|
97
|
+
|
98
|
+
<h3 class="function"><a name="join-2">join/2</a></h3>
|
99
|
+
<div class="spec">
|
100
|
+
<p><tt>join() -> term()</tt></p>
|
101
|
+
</div>
|
102
|
+
|
103
|
+
<h3 class="function"><a name="left-2">left/2</a></h3>
|
104
|
+
<div class="spec">
|
105
|
+
<p><tt>left() -> term()</tt></p>
|
106
|
+
</div>
|
107
|
+
|
108
|
+
<h3 class="function"><a name="left-3">left/3</a></h3>
|
109
|
+
<div class="spec">
|
110
|
+
<p><tt>left() -> term()</tt></p>
|
111
|
+
</div>
|
112
|
+
|
113
|
+
<h3 class="function"><a name="len-1">len/1</a></h3>
|
114
|
+
<div class="spec">
|
115
|
+
<p><tt>len() -> term()</tt></p>
|
116
|
+
</div>
|
117
|
+
|
118
|
+
<h3 class="function"><a name="rchr-2">rchr/2</a></h3>
|
119
|
+
<div class="spec">
|
120
|
+
<p><tt>rchr() -> term()</tt></p>
|
121
|
+
</div>
|
122
|
+
|
123
|
+
<h3 class="function"><a name="right-2">right/2</a></h3>
|
124
|
+
<div class="spec">
|
125
|
+
<p><tt>right() -> term()</tt></p>
|
126
|
+
</div>
|
127
|
+
|
128
|
+
<h3 class="function"><a name="right-3">right/3</a></h3>
|
129
|
+
<div class="spec">
|
130
|
+
<p><tt>right() -> term()</tt></p>
|
131
|
+
</div>
|
132
|
+
|
133
|
+
<h3 class="function"><a name="rstr-2">rstr/2</a></h3>
|
134
|
+
<div class="spec">
|
135
|
+
<p><tt>rstr() -> term()</tt></p>
|
136
|
+
</div>
|
137
|
+
|
138
|
+
<h3 class="function"><a name="span-2">span/2</a></h3>
|
139
|
+
<div class="spec">
|
140
|
+
<p><tt>span() -> term()</tt></p>
|
141
|
+
</div>
|
142
|
+
|
143
|
+
<h3 class="function"><a name="str-2">str/2</a></h3>
|
144
|
+
<div class="spec">
|
145
|
+
<p><tt>str() -> term()</tt></p>
|
146
|
+
</div>
|
147
|
+
|
148
|
+
<h3 class="function"><a name="strip-1">strip/1</a></h3>
|
149
|
+
<div class="spec">
|
150
|
+
<p><tt>strip() -> term()</tt></p>
|
151
|
+
</div>
|
152
|
+
|
153
|
+
<h3 class="function"><a name="strip-2">strip/2</a></h3>
|
154
|
+
<div class="spec">
|
155
|
+
<p><tt>strip() -> term()</tt></p>
|
156
|
+
</div>
|
157
|
+
|
158
|
+
<h3 class="function"><a name="strip-3">strip/3</a></h3>
|
159
|
+
<div class="spec">
|
160
|
+
<p><tt>strip() -> term()</tt></p>
|
161
|
+
</div>
|
162
|
+
|
163
|
+
<h3 class="function"><a name="sub_string-2">sub_string/2</a></h3>
|
164
|
+
<div class="spec">
|
165
|
+
<p><tt>sub_string() -> term()</tt></p>
|
166
|
+
</div>
|
167
|
+
|
168
|
+
<h3 class="function"><a name="sub_string-3">sub_string/3</a></h3>
|
169
|
+
<div class="spec">
|
170
|
+
<p><tt>sub_string() -> term()</tt></p>
|
171
|
+
</div>
|
172
|
+
|
173
|
+
<h3 class="function"><a name="sub_word-2">sub_word/2</a></h3>
|
174
|
+
<div class="spec">
|
175
|
+
<p><tt>sub_word() -> term()</tt></p>
|
176
|
+
</div>
|
177
|
+
|
178
|
+
<h3 class="function"><a name="sub_word-3">sub_word/3</a></h3>
|
179
|
+
<div class="spec">
|
180
|
+
<p><tt>sub_word() -> term()</tt></p>
|
181
|
+
</div>
|
182
|
+
|
183
|
+
<h3 class="function"><a name="substr-2">substr/2</a></h3>
|
184
|
+
<div class="spec">
|
185
|
+
<p><tt>substr() -> term()</tt></p>
|
186
|
+
</div>
|
187
|
+
|
188
|
+
<h3 class="function"><a name="substr-3">substr/3</a></h3>
|
189
|
+
<div class="spec">
|
190
|
+
<p><tt>substr() -> term()</tt></p>
|
191
|
+
</div>
|
192
|
+
|
193
|
+
<h3 class="function"><a name="to_lower-1">to_lower/1</a></h3>
|
194
|
+
<div class="spec">
|
195
|
+
<p><tt>to_lower() -> term()</tt></p>
|
196
|
+
</div>
|
197
|
+
|
198
|
+
<h3 class="function"><a name="to_upper-1">to_upper/1</a></h3>
|
199
|
+
<div class="spec">
|
200
|
+
<p><tt>to_upper() -> term()</tt></p>
|
201
|
+
</div>
|
202
|
+
|
203
|
+
<h3 class="function"><a name="tokens-2">tokens/2</a></h3>
|
204
|
+
<div class="spec">
|
205
|
+
<p><tt>tokens() -> term()</tt></p>
|
206
|
+
</div>
|
207
|
+
|
208
|
+
<h3 class="function"><a name="words-1">words/1</a></h3>
|
209
|
+
<div class="spec">
|
210
|
+
<p><tt>words() -> term()</tt></p>
|
211
|
+
</div>
|
212
|
+
|
213
|
+
<h3 class="function"><a name="words-2">words/2</a></h3>
|
214
|
+
<div class="spec">
|
215
|
+
<p><tt>words() -> term()</tt></p>
|
216
|
+
</div>
|
217
|
+
<hr>
|
218
|
+
|
219
|
+
<div class="navbar"><a name="#navbar_bottom"></a><table width="100%" border="0" cellspacing="0" cellpadding="2" summary="navigation bar"><tr><td><a href="overview-summary.html" target="overviewFrame">Overview</a></td><td><a href="http://www.erlang.org/"><img src="erlang.png" align="right" border="0" alt="erlang logo"></a></td></tr></table></div>
|
220
|
+
<p><i>Generated by EDoc, Nov 3 2008, 14:25:18.</i></p>
|
221
|
+
</body>
|
222
|
+
</html>
|
@@ -2,7 +2,8 @@
|
|
2
2
|
<html>
|
3
3
|
<head>
|
4
4
|
<title>CloudPanel</title>
|
5
|
-
<link href="stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/classes.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/colors.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/nav.css" media="all" rel="stylesheet" type="text/css"/>
|
5
|
+
<link href="/stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/classes.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/colors.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/nav.css" media="all" rel="stylesheet" type="text/css"/>
|
6
|
+
<script type="text/javascript" charset="utf-8" src="javascrites/jquery.js" /><script type="text/javascript" charset="utf-8" src="javascrites/site.js" />
|
6
7
|
</head>
|
7
8
|
<body>
|
8
9
|
<div id='container'>
|
@@ -0,0 +1 @@
|
|
1
|
+
INDEX!
|
@@ -0,0 +1 @@
|
|
1
|
+
Tail!
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>CloudPanel</title>
|
5
|
+
<link href="/stylesheets/application.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/classes.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/colors.css" media="all" rel="stylesheet" type="text/css"/><link href="stylesheets/nav.css" media="all" rel="stylesheet" type="text/css"/>
|
6
|
+
<script type="text/javascript" charset="utf-8" src="javascripts/jquery.js" /><script type="text/javascript" charset="utf-8" src="javascripts/site.js" />
|
7
|
+
</head>
|
8
|
+
<body>
|
9
|
+
<div id='container'>
|
10
|
+
<div id='top'>
|
11
|
+
<h1><span class="blue">Cloud</span><span class="dark">Panel</span></h1>
|
12
|
+
</div>
|
13
|
+
<div id='content'>
|