public
Description: master respository for deprec - deployment recipes for capistrano
Homepage: http://www.deprec.org/
Clone URL: git://github.com/mbailey/deprec.git
Rearranged task order
mbailey (author)
Fri Aug 29 08:02:47 -0700 2008
commit  d221905573969c8cdb40b8a8637d4cd5244d3e22
tree    59399c27bb396010f91028dec0a0e8823631b763
parent  6cd634f62deae5ac20978d85991a22cca9bed110
...
2
3
4
 
 
 
 
 
 
5
6
7
8
9
10
11
 
 
 
 
 
 
12
 
13
14
15
...
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
 
70
71
72
...
113
114
115
 
 
 
 
 
 
 
 
 
 
116
117
118
...
125
126
127
128
129
130
131
...
179
180
181
 
 
182
183
184
...
2
3
4
5
6
7
8
9
10
11
 
 
 
 
 
 
12
13
14
15
16
17
18
19
20
21
22
...
60
61
62
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
64
65
66
...
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
...
129
130
131
 
132
133
134
...
182
183
184
185
186
187
188
189
0
@@ -2,14 +2,21 @@
0
 Capistrano::Configuration.instance(:must_exist).load do 
0
   namespace :deprec do
0
     namespace :xen do
0
+            
0
+      desc "Install Xen"
0
+      task :install, :roles => :dom0 do
0
+        install_deps
0
+        enable_hardy_domu
0
+      end
0
       
0
-      # Config variables for migration
0
-      default(:xen_slice) { Capistrano::CLI.ui.ask("Slice name") }
0
-      default(:xen_old_host) { Capistrano::CLI.ui.ask("Old Xen host") }
0
-      default(:xen_new_host) { Capistrano::CLI.ui.ask("New Xen host") }
0
-      set(:xen_disk_size) { Capistrano::CLI.ui.ask("Disk size (GB)") }
0
-      set(:xen_swap_size) { Capistrano::CLI.ui.ask("Swap size (GB)") }
0
+      task :install_deps, :roles => :dom0 do
0
+        # for amd64 version of ubuntu 7.10
0
+        apt.install( {:base => %w(linux-image-xen bridge-utils libxen3.1 python-xen-3.1 xen-docs-3.1 xen-hypervisor-3.1 xen-ioemu-3.1 xen-tools xen-utils-3.1 lvm2)}, :stable )
0
+        # alternatively, for x86 version of ubuntu:
0
+        # apt-get install ubuntu-xen-server libc6-xen    
0
+      end
0
       
0
+      # Includes some hacks to get xen-tools working on Ubuntu gutsy
0
       # ref: http://www.eadz.co.nz/blog/article/xen-gutsy.html
0
       
0
       SYSTEM_CONFIG_FILES[:xen] = [
0
@@ -53,20 +60,7 @@ Capistrano::Configuration.instance(:must_exist).load do
0
          :owner => 'root:root'}
0
          
0
       ]
0
-      
0
-      desc "Install Xen"
0
-      task :install, :roles => :dom0 do
0
-        install_deps
0
-        enable_hardy_domu
0
-      end
0
-      
0
-      task :install_deps, :roles => :dom0 do
0
-        # for amd64 version of ubuntu 7.10
0
-        apt.install( {:base => %w(linux-image-xen bridge-utils libxen3.1 python-xen-3.1 xen-docs-3.1 xen-hypervisor-3.1 xen-ioemu-3.1 xen-tools xen-utils-3.1 lvm2)}, :stable )
0
-        # alternatively, for x86 version of ubuntu:
0
-        # apt-get install ubuntu-xen-server libc6-xen    
0
-      end
0
-      
0
+            
0
       desc "Generate configuration file(s) for Xen from template(s)"
0
       task :config_gen do
0
         SYSTEM_CONFIG_FILES[:xen].each do |file|
0
@@ -113,6 +107,16 @@ Capistrano::Configuration.instance(:must_exist).load do
0
         sudo "xm info"
0
       end
0
 
0
+      # Handy commands for migrating a slice between servers
0
+      # Not as fast and effortless as I had hoped! -Mike
0
+      
0
+      # Config variables for migration
0
+      default(:xen_slice) { Capistrano::CLI.ui.ask("Slice name") }
0
+      default(:xen_old_host) { Capistrano::CLI.ui.ask("Old Xen host") }
0
+      default(:xen_new_host) { Capistrano::CLI.ui.ask("New Xen host") }
0
+      set(:xen_disk_size) { Capistrano::CLI.ui.ask("Disk size (GB)") }
0
+      set(:xen_swap_size) { Capistrano::CLI.ui.ask("Swap size (GB)") }
0
+      
0
       desc "Migrate a slice on one Xen host to another. Slice is stopped, disk is tar'd up and transferred to new host."
0
       task :migrate do
0
 
0
@@ -125,7 +129,6 @@ Capistrano::Configuration.instance(:must_exist).load do
0
         build_slice_from_tarball
0
       end
0
 
0
-
0
       task :copy_disk do
0
         mnt_dir = "/mnt/#{xen_slice}-disk"
0
         tarball = "/tmp/#{xen_slice}-disk.tar"
0
@@ -179,6 +182,8 @@ Capistrano::Configuration.instance(:must_exist).load do
0
         sudo "umount #{mnt_dir}", :hosts => xen_new_host
0
         sudo "rmdir #{mnt_dir}", :hosts => xen_new_host
0
       end
0
+      #
0
+      # end of migration tasks
0
       
0
       desc "Enable hardy heron domU's on gutsy dom0"
0
       task :enable_hardy_domu, :roles => :dom0 do

Comments