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 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
@@ -1,4 +1,4 @@
1
- Copyright (c) 2009 Solutious Inc.
1
+ Copyright (c) 2009 Solutious Inc, Delano Mandelbaum
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Rudy - v0.7 BETA
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://wiki.github.com/solutious/rudy/getting-started] for more info.</b>
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://wiki.github.com/solutious/rudy/getting-started] for more info.</b>
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
@@ -20,7 +20,7 @@ require 'rudy/cli'
20
20
  # Command-line interface for /bin/rudy
21
21
  class RudyCLI < Rudy::CLI::Base
22
22
 
23
- debug :on
23
+ debug :off
24
24
  default :machines
25
25
  trawler :passthrough
26
26
 
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="wiki.github.com/solutious/rudy/getting-started">Getting Started</a> today!
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 = 0.freeze
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
- next if (machine.os || '').to_s == 'win32'
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
@@ -1,7 +1,7 @@
1
1
  @spec = Gem::Specification.new do |s|
2
2
  s.name = "rudy"
3
3
  s.rubyforge_project = 'rudy'
4
- s.version = "0.8.0"
4
+ s.version = "0.8.1"
5
5
  s.summary = "Rudy: Not your grandparents' EC2 deployment tool."
6
6
  s.description = s.summary
7
7
  s.author = "Delano Mandelbaum"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rudy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delano Mandelbaum