rudy 0.8.0 → 0.8.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES.txt +5 -0
- data/LICENSE.txt +1 -1
- data/README.rdoc +4 -3
- data/bin/rudy +1 -1
- data/lib/rudy.rb +2 -2
- data/lib/rudy/routines.rb +17 -2
- data/rudy.gemspec +1 -1
- metadata +1 -1
data/CHANGES.txt
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
RUDY, CHANGES
|
2
2
|
|
3
3
|
|
4
|
+
#### 0.8.1 (2009-05-18) ###############################
|
5
|
+
|
6
|
+
* FIXED: The shutdown routine was not working for Windows instances
|
7
|
+
|
8
|
+
|
4
9
|
#### 0.8.0 (2009-05-18) ###############################
|
5
10
|
|
6
11
|
* ADDED: Better windows instance support during routines
|
data/LICENSE.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
= Rudy - v0.
|
1
|
+
= Rudy - v0.8 BETA
|
2
2
|
|
3
3
|
<b>Not your grandparents' EC2 deployment tool.</b>
|
4
4
|
|
@@ -14,7 +14,7 @@ When you put all this together, you have a unique name for every machine. The de
|
|
14
14
|
|
15
15
|
All configuration is organized into the zones, environments, and roles that you specify (Rudy assumes positions are identical which is important for backups and scaling). And as you'd expect, the defaults can be changed too (in <tt>~/.rudy/config</tt>).
|
16
16
|
|
17
|
-
<b>See Getting-Started[http://
|
17
|
+
<b>See Getting-Started[http://solutious.com/products/rudy/getting-started.html] for more info.</b>
|
18
18
|
|
19
19
|
<em>NOTE: This is a BETA release. That means Rudy's not ready for production use! See Project-Status[http://wiki.github.com/solutious/rudy/project-status].</em>
|
20
20
|
|
@@ -45,7 +45,7 @@ or via download:
|
|
45
45
|
|
46
46
|
NOTE: <em>If you are not installing via RubyGems, you need to make sure the dependencies are in your LOAD_PATH (<tt>$:</tt>). Ryan Tomayko wrote a gist[http://gist.github.com/54177] about it.</em>
|
47
47
|
|
48
|
-
<b>See Getting-Started[http://
|
48
|
+
<b>See Getting-Started[http://solutious.com/products/rudy/getting-started.html] for more info.</b>
|
49
49
|
|
50
50
|
|
51
51
|
== Pre-Requisites
|
@@ -85,6 +85,7 @@ NOTE: <em>If you are not installing via RubyGems, you need to make sure the depe
|
|
85
85
|
* Sam Aaron
|
86
86
|
* Everyone at Utrecht.rb[http://groups.google.com/group/utrecht-rb]
|
87
87
|
* Steve Abatangle
|
88
|
+
* Mathias Monnerville
|
88
89
|
* Jamis Buck for Net::SSH and friends
|
89
90
|
* Glenn Rempe for amazon-ec2
|
90
91
|
* Marcel Molina Jr. for aws-s3
|
data/bin/rudy
CHANGED
data/lib/rudy.rb
CHANGED
@@ -28,7 +28,7 @@ require 'rye'
|
|
28
28
|
#
|
29
29
|
#
|
30
30
|
# Rudy is a development and deployment tool for the Amazon Elastic Compute Cloud
|
31
|
-
# (EC2). <a href="
|
31
|
+
# (EC2). <a href="http://solutious.com/products/rudy/getting-started.html">Getting Started</a> today!
|
32
32
|
#
|
33
33
|
#
|
34
34
|
module Rudy
|
@@ -38,7 +38,7 @@ module Rudy
|
|
38
38
|
unless defined?(MAJOR)
|
39
39
|
MAJOR = 0.freeze
|
40
40
|
MINOR = 8.freeze
|
41
|
-
TINY =
|
41
|
+
TINY = 1.freeze
|
42
42
|
end
|
43
43
|
def self.to_s; [MAJOR, MINOR, TINY].join('.'); end
|
44
44
|
def self.to_f; self.to_s.to_f; end
|
data/lib/rudy/routines.rb
CHANGED
@@ -94,7 +94,6 @@ module Rudy
|
|
94
94
|
end
|
95
95
|
}
|
96
96
|
|
97
|
-
|
98
97
|
# Execute the action (create, list, destroy, restart)
|
99
98
|
machines = enjoy_every_sandwich([]) { rmach.send(machine_action) }
|
100
99
|
|
@@ -117,7 +116,18 @@ module Rudy
|
|
117
116
|
# here ensure that the metadata is always up-to-date.
|
118
117
|
machine.update
|
119
118
|
|
120
|
-
|
119
|
+
# This is a short-circuit for Windows instances. We don't support
|
120
|
+
# disks for windows yet and there's no SSH so routines are out of
|
121
|
+
# the picture too. Here we simply run the per machine block which
|
122
|
+
# is crucial for shutdown and possibly others as well.
|
123
|
+
if (machine.os || '').to_s == 'win32'
|
124
|
+
enjoy_every_sandwich {
|
125
|
+
# Startup, shutdown, release, deploy, etc...
|
126
|
+
routine_action.call(machine, nil) if routine_action
|
127
|
+
}
|
128
|
+
|
129
|
+
next # The short circuit
|
130
|
+
end
|
121
131
|
|
122
132
|
unless skip_check
|
123
133
|
msg = preliminary_separator("Waiting for SSH daemon...")
|
@@ -193,11 +203,13 @@ module Rudy
|
|
193
203
|
end
|
194
204
|
}
|
195
205
|
|
206
|
+
|
196
207
|
enjoy_every_sandwich {
|
197
208
|
# Startup, shutdown, release, deploy, etc...
|
198
209
|
routine_action.call(machine, rbox) if routine_action
|
199
210
|
}
|
200
211
|
|
212
|
+
|
201
213
|
# The "after" blocks are synonymous with "script" blocks.
|
202
214
|
# For some routines, like startup, it makes sense to an
|
203
215
|
# "after" block b/c "script" is ambiguous. In generic
|
@@ -309,6 +321,9 @@ module Rudy
|
|
309
321
|
STDERR.puts " Error: #{ex.message}".color(:red)
|
310
322
|
STDERR.puts ex.backtrace if Rudy.debug?
|
311
323
|
exit 12 unless keep_going?
|
324
|
+
rescue Interrupt
|
325
|
+
puts "Aborting..."
|
326
|
+
exit 12
|
312
327
|
end
|
313
328
|
ret
|
314
329
|
end
|
data/rudy.gemspec
CHANGED