the-maestro 0.3.0 → 0.3.1
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/README.rdoc +13 -0
- data/VERSION +1 -1
- data/lib/maestro/cloud.rb +17 -3
- data/the-maestro.gemspec +1 -1
- metadata +1 -1
data/README.rdoc
CHANGED
@@ -317,6 +317,19 @@ Your recipes should be placed in <code>YOUR_RAILS_APP/config/maestro/cookbooks</
|
|
317
317
|
|
318
318
|
For a more in depth explanation of Chef, please consult {the Chef documentation}[http://wiki.opscode.com/display/chef/Home].
|
319
319
|
|
320
|
+
=== Logging
|
321
|
+
|
322
|
+
Maestro will log cloud-wide workflow messages to STDOUT. In addition, log files will be created for your cloud, as well as each of the nodes in your cloud. These
|
323
|
+
can be found at the following location:
|
324
|
+
|
325
|
+
YOUR_RAILS_APP/log/maestro/clouds/<i>cloud-name</i>/
|
326
|
+
YOUR_RAILS_APP/log/maestro/clouds/<i>cloud-name</i>/<i>cloud-name</i>.log
|
327
|
+
YOUR_RAILS_APP/log/maestro/clouds/<i>cloud-name</i>/<i>node-name</i>.log
|
328
|
+
|
329
|
+
Node-specific messages are not logged to STDOUT, but only to the node's log file. For troubleshooting problems configuring your nodes, please
|
330
|
+
consult the individual node log files for information.
|
331
|
+
|
332
|
+
|
320
333
|
== Using Maestro with a stand alone Ruby application
|
321
334
|
|
322
335
|
sudo gem install the-maestro
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.3.
|
1
|
+
0.3.1
|
data/lib/maestro/cloud.rb
CHANGED
@@ -243,11 +243,25 @@ module Maestro
|
|
243
243
|
session = open_ssh_session
|
244
244
|
close_session = true
|
245
245
|
end
|
246
|
-
commands =
|
247
|
-
["sudo chef-solo -c /tmp/chef-solo.rb -r '#{chef_assets_url()}'"]
|
248
246
|
# shut off the stdout outputter and only log to the nodes' log files
|
249
247
|
@configurable_nodes.each_pair {|name, node| node.disable_stdout}
|
250
|
-
|
248
|
+
# clean up existing cookbooks and roles directories if they exist
|
249
|
+
cleanup_cmds =
|
250
|
+
["sudo rm -rf /tmp/chef-solo/cookbooks",
|
251
|
+
"sudo rm -rf /tmp/chef-solo/roles",
|
252
|
+
"sudo mkdir -p /tmp/chef-solo/cookbooks",
|
253
|
+
"sudo mkdir -p /tmp/chef-solo/roles"]
|
254
|
+
cleanup_cmds.each do |str|
|
255
|
+
session.open_channel do |channel|
|
256
|
+
channel.request_pty {|ch, success| abort "could not obtain pty" if !success}
|
257
|
+
channel.exec(str)
|
258
|
+
end
|
259
|
+
session.loop(60)
|
260
|
+
end
|
261
|
+
# run chef-solo
|
262
|
+
chef_solo_commands =
|
263
|
+
["sudo chef-solo -c /tmp/chef-solo.rb -r '#{chef_assets_url()}'"]
|
264
|
+
chef_solo_commands.each do |cmd|
|
251
265
|
session.open_channel do |channel|
|
252
266
|
channel.request_pty {|ch, success| abort "could not obtain pty" if !success}
|
253
267
|
# Find the node for this channel's host
|
data/the-maestro.gemspec
CHANGED