rudy 0.9.8.006 → 0.9.8.007

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES.txt CHANGED
@@ -11,11 +11,17 @@ Creating volume...
11
11
  NameError: uninitialized constant Rudy::Metadata::UnknownObject
12
12
  (S)kip (A)bort:
13
13
 
14
+ #### 0.9.8.007 (2010-06-28) #######################
15
+
16
+ * FIXED: "rudy disks --destroy /path" was not working when all machines were shutdown.
17
+ * CHANGE: Use sudo for remote system commands (hostname change, disk mount etc) when the user is not root.
18
+ * CHANGE: Dependent on Rye 0.8.19
19
+
20
+
14
21
  #### 0.9.8.006 (2010-06-28) #######################
15
22
 
16
23
  * FIXED: In Ruby 1.9, the value for disk.position was being modified by refresh!
17
24
 
18
-
19
25
  #### 0.9.8.005 (2010-05-21) #######################
20
26
 
21
27
  * FIXED: uninitialized constant Rye::Box::Huxtable error when running "rudy m -U"
data/lib/rudy.rb CHANGED
@@ -44,7 +44,7 @@ module Rudy
44
44
  MAJOR = 0.freeze
45
45
  MINOR = 9.freeze
46
46
  TINY = 8.freeze
47
- PATCH = '006'.freeze
47
+ PATCH = '007'.freeze
48
48
  end
49
49
  def self.to_s; [MAJOR, MINOR, TINY, PATCH].join('.'); end
50
50
  def self.to_f; self.to_s.to_f; end
@@ -60,7 +60,6 @@ module Rudy
60
60
  true
61
61
  end
62
62
 
63
-
64
63
  def disks_create
65
64
  @mlist.each do |m|
66
65
  li machine_separator(m.name, m.instid)
@@ -79,7 +78,6 @@ module Rudy
79
78
  end
80
79
  end
81
80
 
82
-
83
81
  def disks_destroy_valid?
84
82
  @dlist = Rudy::Disks.list
85
83
  raise "No disks" if @dlist.nil?
@@ -94,7 +92,7 @@ module Rudy
94
92
 
95
93
  def disks_destroy
96
94
  execute_check(:medium)
97
- if @mlist
95
+ if !@mlist.empty?
98
96
  @mlist.each do |m|
99
97
  rbox = Rudy::Routines::Handlers::RyeTools.create_box m
100
98
  rbox.stash = m
@@ -104,7 +102,7 @@ module Rudy
104
102
  end
105
103
  else
106
104
  @dlist.each do |d|
107
- li "Destroying disk: #{d.name}"
105
+ li "Working on #{d.name}"
108
106
  Rudy::Routines::Handlers::Disks.destroy nil, d, 0
109
107
  end
110
108
  end
@@ -157,11 +157,9 @@ module Rudy
157
157
  os = current_machine_os
158
158
  mlist.each do |m|
159
159
  li "Updating #{m.name}"
160
- m.refresh!
161
- rbox = Rye::Box.new(m.dns_public, :user => 'root')
162
- rbox.add_key user_keypairpath('root')
163
- rbox.nickname = m.name
160
+ rbox = Rudy::Routines::Handlers::RyeTools.create_box m
164
161
  rbox.stash = m
162
+ m.refresh!
165
163
  rset.add_boxes rbox
166
164
  if m.os.to_s != os.to_s
167
165
  li "os: #{os}"
@@ -189,8 +189,11 @@ module Rudy::Routines::Handlers;
189
189
 
190
190
  li "Mounting at #{disk.path}... "
191
191
 
192
- rbox.mkdir(:p, disk.path)
193
- rbox.mount(:t, disk.fstype, disk.device, disk.path)
192
+ rbox.sudo do
193
+ mkdir(:p, disk.path)
194
+ mount(:t, disk.fstype, disk.device, disk.path)
195
+ end
196
+
194
197
  disk.mounted = true
195
198
  disk.save :replace
196
199
  sleep 1
@@ -211,7 +214,7 @@ module Rudy::Routines::Handlers;
211
214
  li "Unmounting #{disk.path}... "
212
215
 
213
216
  unless rbox.nil? || rbox.stash.windows?
214
- rbox.umount(disk.path)
217
+ rbox.sudo { umount disk.path }
215
218
  end
216
219
 
217
220
  disk.mounted = false
@@ -244,7 +247,10 @@ module Rudy::Routines::Handlers;
244
247
  disk.mounted = true
245
248
  else
246
249
  li $/
247
- rbox.rudy_mkfs(:t, disk.fstype, :F, disk.device)
250
+ args = [:t, disk.fstype, :F, disk.device]
251
+ rbox.sudo do
252
+ rudy_mkfs *args
253
+ end
248
254
  end
249
255
 
250
256
  disk.raw = false
@@ -95,15 +95,11 @@ module Rudy; module Routines; module Handlers;
95
95
  # NOTE: This will set hostname every time a routine is
96
96
  # run so we may want to make this an explicit action.
97
97
  type = current_machine_hostname || :rudy
98
- rset.batch(type) do |hn|
98
+ rset.sudo(type) do |hn|
99
99
  unless self.stash.os == :windows
100
100
  if hn != :default
101
- original_user = rset.user
102
- rset.switch_user 'root'
103
- rset.add_key ::Rudy::Huxtable.user_keypairpath('root')
104
101
  hn = self.stash.name if hn == :rudy
105
- self.quietly { hostname(hn) }
106
- rset.switch_user original_user
102
+ hostname(hn)
107
103
  end
108
104
  end
109
105
  end
@@ -32,7 +32,9 @@ module Rudy; module Routines; module Handlers;
32
32
  # adduser can prompt for info which we don't want.
33
33
  # useradd does not prompt (on Debian/Ubuntu at least).
34
34
  # We need to specify bash b/c the default is /bin/sh
35
- robj.useradd(args)
35
+ robj.sudo do
36
+ useradd args
37
+ end
36
38
  end
37
39
 
38
40
  def authorize(user, robj)
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.9.8.006"
4
+ s.version = "0.9.8.007"
5
5
  s.summary = "Rudy: Not your grandparents' EC2 deployment tool."
6
6
  s.description = s.summary
7
7
  s.author = "Delano Mandelbaum"
@@ -16,7 +16,7 @@
16
16
 
17
17
  s.executables = %w[rudy rudy-ec2 rudy-sdb rudy-s3]
18
18
 
19
- s.add_dependency 'rye', '>= 0.8.17'
19
+ s.add_dependency 'rye', '>= 0.8.19'
20
20
  s.add_dependency 'storable', '>= 0.7.1'
21
21
  s.add_dependency 'attic', '>= 0.5.2'
22
22
  s.add_dependency 'annoy', '>= 0.5.6'
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.9.8.006
4
+ version: 0.9.8.007
5
5
  platform: ruby
6
6
  authors:
7
7
  - Delano Mandelbaum
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - ">="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.8.17
23
+ version: 0.8.19
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: storable