Merge lp:~zulcss/vmbuilder/vmbuilder-jaunty-ec2 into lp:vmbuilder/trunk
- vmbuilder-jaunty-ec2
- Merge into trunk
Proposed by
Chuck Short
Status: | Needs review |
---|---|
Proposed branch: | lp:~zulcss/vmbuilder/vmbuilder-jaunty-ec2 |
Merge into: | lp:vmbuilder/trunk |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~zulcss/vmbuilder/vmbuilder-jaunty-ec2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Soren Hansen | Needs Fixing | ||
Ubuntu Virtualisation team | Pending | ||
Review via email: mp+6208@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Soren Hansen (soren) wrote : | # |
Revision history for this message
Soren Hansen (soren) wrote : | # |
I just noticed I forgot the "tag" my review or whatever you want to call it, so doing so now.
review:
Needs Fixing
Unmerged revisions
- 335. By Chuck Short
-
Add readme to show how to run vmbuilder for ec2
- 334. By Chuck Short
-
Add missing default for landscape-client
- 333. By Chuck Short
-
Fix jaunty
- 332. By Chuck Short
-
Update aki/ari for jaunty
- 331. By Chuck Short
-
juanty needs hvc0
- 330. By Chuck Short
-
Added warning about out dated AKI and ARI
- 329. By Chuck Short
-
Update AKI and ARI for hardy again *sigh*
- 328. By Chuck Short
-
Add landscape-client support for ec2
- 327. By Chuck Short
-
Clean up intrepid
- 326. By Chuck Short
-
Update i386 AKI and ARI for hardy
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'VMBuilder/plugins/ec2/README' | |||
2 | --- VMBuilder/plugins/ec2/README 1970-01-01 00:00:00 +0000 | |||
3 | +++ VMBuilder/plugins/ec2/README 2009-05-04 13:58:48 +0000 | |||
4 | @@ -0,0 +1,14 @@ | |||
5 | 1 | This is the command to use to create an ec2 image with vmbuilder: | ||
6 | 2 | |||
7 | 3 | Note: you must have ec2-ami-tools installed. | ||
8 | 4 | |||
9 | 5 | sudo vmbuilder xen ubuntu --suite={hardy,intrepid} --ec2 \ | ||
10 | 6 | --ec2-cert=<place where your ec2 cert is> \ | ||
11 | 7 | --ec2-key=<place where your ec2 key is> \ | ||
12 | 8 | --ec2-access-key=<your aws access key> \ | ||
13 | 9 | --ec2-secret-key=<your aws secret key> \ | ||
14 | 10 | --ec2-user=<your aws # number> \ | ||
15 | 11 | --ec2-bucket=<your ec2 bucket name> \ | ||
16 | 12 | --ec2-prefix=<image prefix> \ | ||
17 | 13 | --ec2-version="Description of your EC2 image" \ | ||
18 | 14 | --debug | ||
19 | 0 | 15 | ||
20 | === modified file 'VMBuilder/plugins/ec2/__init__.py' | |||
21 | --- VMBuilder/plugins/ec2/__init__.py 2008-11-28 11:18:43 +0000 | |||
22 | +++ VMBuilder/plugins/ec2/__init__.py 2009-05-01 19:24:18 +0000 | |||
23 | @@ -36,6 +36,7 @@ | |||
24 | 36 | group.add_option('--ec2-secret-key', metavar='SECRET_ID', help='AWS secret access key.') | 36 | group.add_option('--ec2-secret-key', metavar='SECRET_ID', help='AWS secret access key.') |
25 | 37 | group.add_option('--ec2-kernel','--ec2-aki', metavar='AKI', help='EC2 AKI (kernel) to use.') | 37 | group.add_option('--ec2-kernel','--ec2-aki', metavar='AKI', help='EC2 AKI (kernel) to use.') |
26 | 38 | group.add_option('--ec2-ramdisk','--ec2-ari', metavar='ARI', help='EC2 ARI (ramdisk) to use.') | 38 | group.add_option('--ec2-ramdisk','--ec2-ari', metavar='ARI', help='EC2 ARI (ramdisk) to use.') |
27 | 39 | group.add_option('--ec2-version',metavar='EC2_VER',help='Specifity the EC2 image version.') | ||
28 | 39 | self.vm.register_setting_group(group) | 40 | self.vm.register_setting_group(group) |
29 | 40 | 41 | ||
30 | 41 | def preflight_check(self): | 42 | def preflight_check(self): |
31 | @@ -59,17 +60,45 @@ | |||
32 | 59 | 60 | ||
33 | 60 | if not self.vm.ec2_kernel: | 61 | if not self.vm.ec2_kernel: |
34 | 61 | logging.debug('No ec2-aki choosen setting to default. Use --ec2-kernel to change this') | 62 | logging.debug('No ec2-aki choosen setting to default. Use --ec2-kernel to change this') |
39 | 62 | if self.vm.arch == 'amd64': | 63 | if self.vm.suite == 'hardy': |
40 | 63 | self.vm.ec2_kernel = 'aki-d314f0ba' | 64 | if self.vm.arch == 'amd64': |
41 | 64 | else: | 65 | self.vm.ec2_kernel = 'aki-a27493cb' |
42 | 65 | self.vm.ec2_kernel = 'aki-af14f0c6' | 66 | else: |
43 | 67 | self.vm.ec2_kernel = 'aki-a17493c8' | ||
44 | 68 | elif self.vm.suite == 'intrepid': | ||
45 | 69 | if self.vm.arch == 'amd64': | ||
46 | 70 | self.vm.ec2_kernel = 'aki-20c12649' | ||
47 | 71 | else: | ||
48 | 72 | self.vm.ec2_kernel = 'aki-20c12649' | ||
49 | 73 | elif self.vm.suite == 'jaunty': | ||
50 | 74 | if self.vm.arch == 'amd64': | ||
51 | 75 | self.vm.ec2_kernel = 'aki-d653b4bf' | ||
52 | 76 | else: | ||
53 | 77 | self.vm.ec2_kernel = 'aki-c553b4ac' | ||
54 | 78 | |||
55 | 79 | logging.info('%s - AKI to be used.' %(self.vm.ec2_kernel)) | ||
56 | 80 | logging.info('WARNING! You might be using an outdated AKI. Please check xxx') | ||
57 | 66 | 81 | ||
58 | 67 | if not self.vm.ec2_ramdisk: | 82 | if not self.vm.ec2_ramdisk: |
59 | 68 | logging.debug('No ec2-ari choosen setting to default. Use --ec2-ramdisk to change this.') | 83 | logging.debug('No ec2-ari choosen setting to default. Use --ec2-ramdisk to change this.') |
64 | 69 | if self.vm.arch == 'amd64': | 84 | if self.vm.suite == 'hardy': |
65 | 70 | self.vm.ec2_ramdisk = 'ari-d014f0b9' | 85 | if self.vm.arch == 'amd64': |
66 | 71 | else: | 86 | self.vm.ec2_ramdisk = 'ari-b87493d1' |
67 | 72 | self.vm.ec2_ramdisk = 'ari-ac14f0c5' | 87 | else: |
68 | 88 | self.vm.ec2_ramdisk = 'ari-ae7493c7' | ||
69 | 89 | elif self.vm.suite == 'intrepid': | ||
70 | 90 | if self.vm.arch == 'amd64': | ||
71 | 91 | self.vm.ec2_ramdisk = 'ari-0ac12663' | ||
72 | 92 | else: | ||
73 | 93 | self.vm.ec2_ramdisk = 'ari-21c12648' | ||
74 | 94 | elif self.vm.suite == 'jaunty': | ||
75 | 95 | if self.vm.arch == 'amd64': | ||
76 | 96 | self.vm.ec2_ramdisk = 'ari-d753b4be' | ||
77 | 97 | else: | ||
78 | 98 | self.vm.ec2_ramdisk = 'ari-c253b4ab' | ||
79 | 99 | |||
80 | 100 | logging .info('%s - ARI to be used.'%(self.vm.ec2_ramdisk)) | ||
81 | 101 | logging.info('WARNING! You might be using an outdated AKI. Please check xxx') | ||
82 | 73 | 102 | ||
83 | 74 | if not self.vm.ec2_bucket: | 103 | if not self.vm.ec2_bucket: |
84 | 75 | raise VMBuilderUserError('When building for EC2 you must provide an S3 bucket to hold the AMI') | 104 | raise VMBuilderUserError('When building for EC2 you must provide an S3 bucket to hold the AMI') |
85 | @@ -80,29 +109,28 @@ | |||
86 | 80 | if not self.vm.ec2_secret_key: | 109 | if not self.vm.ec2_secret_key: |
87 | 81 | raise VMBuilderUserError('When building for EC2 you must provide your AWS secret access key.') | 110 | raise VMBuilderUserError('When building for EC2 you must provide your AWS secret access key.') |
88 | 82 | 111 | ||
104 | 83 | 112 | logging.info('Installing common software') | |
105 | 84 | if not self.vm.addpkg: | 113 | self.install_common() |
106 | 85 | self.vm.addpkg = [] | 114 | if self.vm.suite == 'hardy': |
107 | 86 | 115 | self.install_hardy() | |
108 | 87 | self.vm.addpkg += ['openssh-server'] | 116 | elif self.vm.suite == 'intrepid': |
109 | 88 | self.vm.addpkg += ['ec2-init'] | 117 | self.install_intrepid() |
110 | 89 | self.vm.addpkg += ['openssh-server'] | 118 | elif self.vm.suite == 'jaunty': |
111 | 90 | self.vm.addpkg += ['ec2-modules'] | 119 | self.install_jaunty() |
97 | 91 | self.vm.addpkg += ['server^'] | ||
98 | 92 | self.vm.addpkg += ['standard^'] | ||
99 | 93 | |||
100 | 94 | if not self.vm.ppa: | ||
101 | 95 | self.vm.ppa = [] | ||
102 | 96 | |||
103 | 97 | self.vm.ppa += ['ubuntu-ec2'] | ||
112 | 98 | 120 | ||
113 | 99 | def post_install(self): | 121 | def post_install(self): |
114 | 100 | if not self.vm.ec2: | 122 | if not self.vm.ec2: |
115 | 101 | return | 123 | return |
116 | 102 | 124 | ||
117 | 103 | logging.info("Running ec2 postinstall") | 125 | logging.info("Running ec2 postinstall") |
120 | 104 | self.install_from_template('/etc/event.d/xvc0', 'upstart') | 126 | logging.info("Running common post install") |
121 | 105 | self.run_in_target('passwd', '-l', self.vm.user) | 127 | if self.vm.suite == 'hardy': |
122 | 128 | self.postinstall_hardy() | ||
123 | 129 | elif self.vm.suite == 'intrepid': | ||
124 | 130 | self.postinstall_intrepid() | ||
125 | 131 | elif self.vm.suite == 'jaunty': | ||
126 | 132 | self.postinstall_jaunty() | ||
127 | 133 | self.postinstall_common() | ||
128 | 106 | 134 | ||
129 | 107 | def deploy(self): | 135 | def deploy(self): |
130 | 108 | if not self.vm.ec2: | 136 | if not self.vm.ec2: |
131 | @@ -121,4 +149,112 @@ | |||
132 | 121 | 149 | ||
133 | 122 | return True | 150 | return True |
134 | 123 | 151 | ||
135 | 152 | def install_common(self): | ||
136 | 153 | if not self.vm.ec2: | ||
137 | 154 | return False | ||
138 | 155 | |||
139 | 156 | if not self.vm.addpkg: | ||
140 | 157 | self.vm.addpkg = [] | ||
141 | 158 | |||
142 | 159 | logging.info('Installing common software.') | ||
143 | 160 | self.vm.addpkg += ['openssh-server', | ||
144 | 161 | 'ec2-init', | ||
145 | 162 | 'standard^', | ||
146 | 163 | 'ec2-ami-tools', | ||
147 | 164 | 'update-motd', | ||
148 | 165 | 'curl', | ||
149 | 166 | 'screen', | ||
150 | 167 | 'screen-profiles'] | ||
151 | 168 | |||
152 | 169 | if not self.vm.ppa: | ||
153 | 170 | self.vm.ppa = [] | ||
154 | 171 | |||
155 | 172 | self.vm.ppa += ['ubuntu-on-ec2'] | ||
156 | 173 | |||
157 | 174 | def install_hardy(self): | ||
158 | 175 | if not self.vm.ec2: | ||
159 | 176 | return False | ||
160 | 177 | |||
161 | 178 | logging.info('Installing software for hardy.') | ||
162 | 179 | self.vm.addpkg += ['ruby', | ||
163 | 180 | 'libc6-xen', | ||
164 | 181 | 'libopenssl-ruby'] | ||
165 | 182 | |||
166 | 183 | |||
167 | 184 | def postinstall_hardy(self): | ||
168 | 185 | if not self.vm.ec2: | ||
169 | 186 | return False | ||
170 | 187 | |||
171 | 188 | logging.info('Running post-install for hardy') | ||
172 | 189 | # work around for libc6/xen bug in hardy. | ||
173 | 190 | self.install_from_template('/etc/ld.so.conf.d/libc6-xen.conf', 'xen-ld-so-conf') | ||
174 | 191 | self.run_in_target('apt-get', 'remove', '-y', 'libc6-i686') | ||
175 | 192 | |||
176 | 193 | self.install_from_template('/etc/update-motd.d/51_update-motd', '51_update-motd-hardy') | ||
177 | 194 | self.install_from_template('/etc/event.d/xvc0', 'xvc0') | ||
178 | 195 | self.run_in_target('update-rc.d', '-f', 'hwclockfirst.sh', 'remove') | ||
179 | 196 | |||
180 | 197 | def install_intrepid(self): | ||
181 | 198 | if not self.vm.ec2: | ||
182 | 199 | return False | ||
183 | 200 | |||
184 | 201 | logging.info('Installing software for intrepid') | ||
185 | 202 | self.vm.addpkg += ['ec2-modules', | ||
186 | 203 | 'ruby', | ||
187 | 204 | 'libopenssl-ruby', | ||
188 | 205 | 'server^', | ||
189 | 206 | 'policykit', | ||
190 | 207 | 'landscape-common', | ||
191 | 208 | 'landscape-client'] | ||
192 | 209 | |||
193 | 210 | def postinstall_intrepid(self): | ||
194 | 211 | if not self.vm.ec2: | ||
195 | 212 | return False | ||
196 | 213 | |||
197 | 214 | logging.info('Running post-install for intrepid') | ||
198 | 215 | self.install_from_template('/etc/update-motd.d/51_update-motd', '51_update-motd-intrepid') | ||
199 | 216 | self.install_from_template('/etc/default/landscape-client', 'landscape_client') | ||
200 | 217 | |||
201 | 218 | def install_jaunty(self): | ||
202 | 219 | if not self.vm.ec2: | ||
203 | 220 | return False | ||
204 | 221 | |||
205 | 222 | logging.info('Installing software for jaunty') | ||
206 | 223 | self.vm.addpkg += ['ec2-modules', | ||
207 | 224 | 'ruby1.8', | ||
208 | 225 | 'server^', | ||
209 | 226 | 'libopenssl-ruby1.8', | ||
210 | 227 | 'landscape-common', | ||
211 | 228 | 'landscape-client'] | ||
212 | 229 | |||
213 | 230 | def postinstall_jaunty(self): | ||
214 | 231 | if not self.vm.ec2: | ||
215 | 232 | return False | ||
216 | 233 | |||
217 | 234 | logging.info('Running post-install for jaunty') | ||
218 | 235 | self.install_from_template('/etc/update-motd.d/51_update-motd', '51_update-motd-intrepid') | ||
219 | 236 | self.install_from_template('/etc/default/landscape-client', 'landscape_client') | ||
220 | 237 | self.install_from_template('/etc/event.d/hvc0', 'hvc0') | ||
221 | 238 | |||
222 | 239 | def postinstall_common(self): | ||
223 | 240 | if not self.vm.ec2: | ||
224 | 241 | return False | ||
225 | 242 | |||
226 | 243 | logging.info('Running common post-install') | ||
227 | 244 | self.install_from_template('/etc/ssh/sshd_config', 'sshd_config') | ||
228 | 245 | self.run_in_target('chpasswd', '-e', stdin='ubuntu:!\n') | ||
229 | 246 | # this makes my skin crawl | ||
230 | 247 | self.install_from_template('/etc/sudoers', 'sudoers') | ||
231 | 248 | # this doesnt | ||
232 | 249 | self.run_in_target('chmod', '755', '/etc/update-motd.d/51_update-motd') | ||
233 | 250 | self.install_from_template('/etc/ec2_version', 'ec2_version', { 'version' : self.vm.ec2_version }) | ||
234 | 251 | |||
235 | 252 | self.run_in_target('rm', '-f', '/etc/localtime') | ||
236 | 253 | self.run_in_target('ln', '-s', '/usr/share/zoneinfo/UTC', '/etc/localtime') | ||
237 | 254 | |||
238 | 255 | self.run_in_target('usermod', '-u', '135', 'ubuntu') | ||
239 | 256 | self.run_in_target('chown', '-R', 'ubuntu', '/home/ubuntu') | ||
240 | 257 | |||
241 | 258 | self.run_in_target('update-rc.d', '-f', 'hwclock.sh', 'remove') | ||
242 | 259 | |||
243 | 124 | register_plugin(EC2) | 260 | register_plugin(EC2) |
244 | 125 | 261 | ||
245 | === added file 'VMBuilder/plugins/ec2/templates/51_update-motd-hardy.tmpl' | |||
246 | --- VMBuilder/plugins/ec2/templates/51_update-motd-hardy.tmpl 1970-01-01 00:00:00 +0000 | |||
247 | +++ VMBuilder/plugins/ec2/templates/51_update-motd-hardy.tmpl 2009-03-24 16:33:47 +0000 | |||
248 | @@ -0,0 +1,10 @@ | |||
249 | 1 | #!/bin/sh | ||
250 | 2 | |||
251 | 3 | echo "---------------------------------------------------------------------" | ||
252 | 4 | echo "At the moment, only the core of the system is installed. To tune the " | ||
253 | 5 | echo "system to your needs, you can choose to install one or more " | ||
254 | 6 | echo "predefined collections of software by running the following " | ||
255 | 7 | echo "command: " | ||
256 | 8 | echo " " | ||
257 | 9 | echo " sudo tasksel " | ||
258 | 10 | echo "---------------------------------------------------------------------" | ||
259 | 0 | 11 | ||
260 | === added file 'VMBuilder/plugins/ec2/templates/51_update-motd-intrepid.tmpl' | |||
261 | --- VMBuilder/plugins/ec2/templates/51_update-motd-intrepid.tmpl 1970-01-01 00:00:00 +0000 | |||
262 | +++ VMBuilder/plugins/ec2/templates/51_update-motd-intrepid.tmpl 2009-03-24 16:33:47 +0000 | |||
263 | @@ -0,0 +1,10 @@ | |||
264 | 1 | #!/bin/sh | ||
265 | 2 | |||
266 | 3 | echo "---------------------------------------------------------------------" | ||
267 | 4 | echo "At the moment, only the core of the system is installed. To tune the " | ||
268 | 5 | echo "system to your needs, you can choose to install one or more " | ||
269 | 6 | echo "predefined collections of software by running the following " | ||
270 | 7 | echo "command: " | ||
271 | 8 | echo " " | ||
272 | 9 | echo " sudo tasksel --section server " | ||
273 | 10 | echo "---------------------------------------------------------------------" | ||
274 | 0 | 11 | ||
275 | === added file 'VMBuilder/plugins/ec2/templates/51_update-motd-jaunty.tmpl' | |||
276 | --- VMBuilder/plugins/ec2/templates/51_update-motd-jaunty.tmpl 1970-01-01 00:00:00 +0000 | |||
277 | +++ VMBuilder/plugins/ec2/templates/51_update-motd-jaunty.tmpl 2009-03-24 16:33:47 +0000 | |||
278 | @@ -0,0 +1,10 @@ | |||
279 | 1 | #!/bin/sh | ||
280 | 2 | |||
281 | 3 | echo "---------------------------------------------------------------------" | ||
282 | 4 | echo "At the moment, only the core of the system is installed. To tune the " | ||
283 | 5 | echo "system to your needs, you can choose to install one or more " | ||
284 | 6 | echo "predefined collections of software by running the following " | ||
285 | 7 | echo "command: " | ||
286 | 8 | echo " " | ||
287 | 9 | echo " sudo tasksel --section server " | ||
288 | 10 | echo "---------------------------------------------------------------------" | ||
289 | 0 | 11 | ||
290 | === added file 'VMBuilder/plugins/ec2/templates/ec2_version.tmpl' | |||
291 | --- VMBuilder/plugins/ec2/templates/ec2_version.tmpl 1970-01-01 00:00:00 +0000 | |||
292 | +++ VMBuilder/plugins/ec2/templates/ec2_version.tmpl 2009-03-24 16:33:47 +0000 | |||
293 | @@ -0,0 +1,1 @@ | |||
294 | 1 | $version | ||
295 | 0 | 2 | ||
296 | === added file 'VMBuilder/plugins/ec2/templates/hvc0.tmpl' | |||
297 | --- VMBuilder/plugins/ec2/templates/hvc0.tmpl 1970-01-01 00:00:00 +0000 | |||
298 | +++ VMBuilder/plugins/ec2/templates/hvc0.tmpl 2009-03-26 17:13:31 +0000 | |||
299 | @@ -0,0 +1,16 @@ | |||
300 | 1 | # hvc0 - getty | ||
301 | 2 | # | ||
302 | 3 | # This service maintains a getty on tty1 from the point the system is | ||
303 | 4 | # started until it is shut down again. | ||
304 | 5 | |||
305 | 6 | start on stopped rc2 | ||
306 | 7 | start on stopped rc3 | ||
307 | 8 | start on stopped rc4 | ||
308 | 9 | start on stopped rc5 | ||
309 | 10 | |||
310 | 11 | stop on runlevel 0 | ||
311 | 12 | stop on runlevel 1 | ||
312 | 13 | stop on runlevel 6 | ||
313 | 14 | |||
314 | 15 | respawn | ||
315 | 16 | exec /sbin/getty 38400 hvc0 | ||
316 | 0 | 17 | ||
317 | === added file 'VMBuilder/plugins/ec2/templates/landscape_client.tmpl' | |||
318 | --- VMBuilder/plugins/ec2/templates/landscape_client.tmpl 1970-01-01 00:00:00 +0000 | |||
319 | +++ VMBuilder/plugins/ec2/templates/landscape_client.tmpl 2009-04-07 12:51:57 +0000 | |||
320 | @@ -0,0 +1,1 @@ | |||
321 | 1 | CLOUD=1 | ||
322 | 0 | 2 | ||
323 | === added file 'VMBuilder/plugins/ec2/templates/sshd_config.tmpl' | |||
324 | --- VMBuilder/plugins/ec2/templates/sshd_config.tmpl 1970-01-01 00:00:00 +0000 | |||
325 | +++ VMBuilder/plugins/ec2/templates/sshd_config.tmpl 2009-03-24 16:33:47 +0000 | |||
326 | @@ -0,0 +1,77 @@ | |||
327 | 1 | # Package generated configuration file | ||
328 | 2 | # See the sshd(8) manpage for details | ||
329 | 3 | |||
330 | 4 | # What ports, IPs and protocols we listen for | ||
331 | 5 | Port 22 | ||
332 | 6 | # Use these options to restrict which interfaces/protocols sshd will bind to | ||
333 | 7 | #ListenAddress :: | ||
334 | 8 | #ListenAddress 0.0.0.0 | ||
335 | 9 | Protocol 2 | ||
336 | 10 | # HostKeys for protocol version 2 | ||
337 | 11 | HostKey /etc/ssh/ssh_host_rsa_key | ||
338 | 12 | HostKey /etc/ssh/ssh_host_dsa_key | ||
339 | 13 | #Privilege Separation is turned on for security | ||
340 | 14 | UsePrivilegeSeparation yes | ||
341 | 15 | |||
342 | 16 | # Lifetime and size of ephemeral version 1 server key | ||
343 | 17 | KeyRegenerationInterval 3600 | ||
344 | 18 | ServerKeyBits 768 | ||
345 | 19 | |||
346 | 20 | # Logging | ||
347 | 21 | SyslogFacility AUTH | ||
348 | 22 | LogLevel INFO | ||
349 | 23 | |||
350 | 24 | # Authentication: | ||
351 | 25 | LoginGraceTime 120 | ||
352 | 26 | PermitRootLogin yes | ||
353 | 27 | StrictModes yes | ||
354 | 28 | |||
355 | 29 | RSAAuthentication yes | ||
356 | 30 | PubkeyAuthentication yes | ||
357 | 31 | #AuthorizedKeysFile %h/.ssh/authorized_keys | ||
358 | 32 | |||
359 | 33 | # Don't read the user's ~/.rhosts and ~/.shosts files | ||
360 | 34 | IgnoreRhosts yes | ||
361 | 35 | # For this to work you will also need host keys in /etc/ssh_known_hosts | ||
362 | 36 | RhostsRSAAuthentication no | ||
363 | 37 | # similar for protocol version 2 | ||
364 | 38 | HostbasedAuthentication no | ||
365 | 39 | # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication | ||
366 | 40 | #IgnoreUserKnownHosts yes | ||
367 | 41 | |||
368 | 42 | # To enable empty passwords, change to yes (NOT RECOMMENDED) | ||
369 | 43 | PermitEmptyPasswords no | ||
370 | 44 | |||
371 | 45 | # Change to yes to enable challenge-response passwords (beware issues with | ||
372 | 46 | # some PAM modules and threads) | ||
373 | 47 | ChallengeResponseAuthentication no | ||
374 | 48 | |||
375 | 49 | # Change to no to disable tunnelled clear text passwords | ||
376 | 50 | PasswordAuthentication no | ||
377 | 51 | |||
378 | 52 | # Kerberos options | ||
379 | 53 | #KerberosAuthentication no | ||
380 | 54 | #KerberosGetAFSToken no | ||
381 | 55 | #KerberosOrLocalPasswd yes | ||
382 | 56 | #KerberosTicketCleanup yes | ||
383 | 57 | |||
384 | 58 | # GSSAPI options | ||
385 | 59 | #GSSAPIAuthentication no | ||
386 | 60 | #GSSAPICleanupCredentials yes | ||
387 | 61 | |||
388 | 62 | X11Forwarding yes | ||
389 | 63 | X11DisplayOffset 10 | ||
390 | 64 | PrintMotd no | ||
391 | 65 | PrintLastLog yes | ||
392 | 66 | TCPKeepAlive yes | ||
393 | 67 | #UseLogin no | ||
394 | 68 | |||
395 | 69 | #MaxStartups 10:30:60 | ||
396 | 70 | #Banner /etc/issue.net | ||
397 | 71 | |||
398 | 72 | # Allow client to pass locale environment variables | ||
399 | 73 | AcceptEnv LANG LC_* | ||
400 | 74 | |||
401 | 75 | Subsystem sftp /usr/lib/openssh/sftp-server | ||
402 | 76 | |||
403 | 77 | UsePAM yes | ||
404 | 0 | 78 | ||
405 | === added file 'VMBuilder/plugins/ec2/templates/sudoers.tmpl' | |||
406 | --- VMBuilder/plugins/ec2/templates/sudoers.tmpl 1970-01-01 00:00:00 +0000 | |||
407 | +++ VMBuilder/plugins/ec2/templates/sudoers.tmpl 2009-03-24 16:33:47 +0000 | |||
408 | @@ -0,0 +1,23 @@ | |||
409 | 1 | # /etc/sudoers | ||
410 | 2 | # | ||
411 | 3 | # This file MUST be edited with the 'visudo' command as root. | ||
412 | 4 | # | ||
413 | 5 | # See the man page for details on how to write a sudoers file. | ||
414 | 6 | # | ||
415 | 7 | |||
416 | 8 | Defaults env_reset | ||
417 | 9 | |||
418 | 10 | # Uncomment to allow members of group sudo to not need a password | ||
419 | 11 | # %sudo ALL=NOPASSWD: ALL | ||
420 | 12 | |||
421 | 13 | # Host alias specification | ||
422 | 14 | |||
423 | 15 | # User alias specification | ||
424 | 16 | |||
425 | 17 | # Cmnd alias specification | ||
426 | 18 | |||
427 | 19 | # User privilege specification | ||
428 | 20 | root ALL=(ALL) ALL | ||
429 | 21 | ubuntu ALL=(ALL) NOPASSWD:ALL | ||
430 | 22 | |||
431 | 23 | # Members of the admin group may gain root privileges | ||
432 | 0 | 24 | ||
433 | === removed file 'VMBuilder/plugins/ec2/templates/upstart.tmpl' | |||
434 | --- VMBuilder/plugins/ec2/templates/upstart.tmpl 2008-11-11 18:28:57 +0000 | |||
435 | +++ VMBuilder/plugins/ec2/templates/upstart.tmpl 1970-01-01 00:00:00 +0000 | |||
436 | @@ -1,16 +0,0 @@ | |||
437 | 1 | # tty1 - getty | ||
438 | 2 | # | ||
439 | 3 | # This service maintains a getty on tty1 from the point the system is | ||
440 | 4 | # started until it is shut down again. | ||
441 | 5 | |||
442 | 6 | start on stopped rc2 | ||
443 | 7 | start on stopped rc3 | ||
444 | 8 | start on stopped rc4 | ||
445 | 9 | start on stopped rc5 | ||
446 | 10 | |||
447 | 11 | stop on runlevel 0 | ||
448 | 12 | stop on runlevel 1 | ||
449 | 13 | stop on runlevel 6 | ||
450 | 14 | |||
451 | 15 | respawn | ||
452 | 16 | exec /sbin/getty 38400 xvc0 | ||
453 | 17 | 0 | ||
454 | === added file 'VMBuilder/plugins/ec2/templates/xen-ld-so-conf.tmpl' | |||
455 | --- VMBuilder/plugins/ec2/templates/xen-ld-so-conf.tmpl 1970-01-01 00:00:00 +0000 | |||
456 | +++ VMBuilder/plugins/ec2/templates/xen-ld-so-conf.tmpl 2009-03-24 16:33:47 +0000 | |||
457 | @@ -0,0 +1,1 @@ | |||
458 | 1 | hwcap 0 nosegneg | ||
459 | 0 | 2 | ||
460 | === added file 'VMBuilder/plugins/ec2/templates/xvc0.tmpl' | |||
461 | --- VMBuilder/plugins/ec2/templates/xvc0.tmpl 1970-01-01 00:00:00 +0000 | |||
462 | +++ VMBuilder/plugins/ec2/templates/xvc0.tmpl 2009-03-26 17:13:31 +0000 | |||
463 | @@ -0,0 +1,16 @@ | |||
464 | 1 | # xvc0 - getty | ||
465 | 2 | # | ||
466 | 3 | # This service maintains a getty on tty1 from the point the system is | ||
467 | 4 | # started until it is shut down again. | ||
468 | 5 | |||
469 | 6 | start on stopped rc2 | ||
470 | 7 | start on stopped rc3 | ||
471 | 8 | start on stopped rc4 | ||
472 | 9 | start on stopped rc5 | ||
473 | 10 | |||
474 | 11 | stop on runlevel 0 | ||
475 | 12 | stop on runlevel 1 | ||
476 | 13 | stop on runlevel 6 | ||
477 | 14 | |||
478 | 15 | respawn | ||
479 | 16 | exec /sbin/getty 38400 xvc0 | ||
480 | 0 | 17 | ||
481 | === modified file 'VMBuilder/plugins/firstscripts/__init__.py' | |||
482 | --- VMBuilder/plugins/firstscripts/__init__.py 2008-09-30 13:01:58 +0000 | |||
483 | +++ VMBuilder/plugins/firstscripts/__init__.py 2009-03-24 13:22:36 +0000 | |||
484 | @@ -41,11 +41,17 @@ | |||
485 | 41 | 41 | ||
486 | 42 | if self.vm.firstboot: | 42 | if self.vm.firstboot: |
487 | 43 | logging.debug("Checking if firstboot script %s exists" % (self.vm.firstboot,)) | 43 | logging.debug("Checking if firstboot script %s exists" % (self.vm.firstboot,)) |
488 | 44 | if not(os.access(self.vm.firstboot, os.X_OK)): | ||
489 | 45 | raise MBuilderUserError("The first-boot script is not executable") | ||
490 | 46 | |||
491 | 44 | if not(os.path.isfile(self.vm.firstboot)): | 47 | if not(os.path.isfile(self.vm.firstboot)): |
492 | 45 | raise VMBuilderUserError('The path to the first-boot script is invalid: %s. Make sure you are providing a full path.' % self.vm.firstboot) | 48 | raise VMBuilderUserError('The path to the first-boot script is invalid: %s. Make sure you are providing a full path.' % self.vm.firstboot) |
493 | 46 | 49 | ||
494 | 47 | if self.vm.firstlogin: | 50 | if self.vm.firstlogin: |
495 | 48 | logging.debug("Checking if first login script %s exists" % (self.vm.firstlogin,)) | 51 | logging.debug("Checking if first login script %s exists" % (self.vm.firstlogin,)) |
496 | 52 | if not(os.access(self.vm.firstlogin, os.X_OK)): | ||
497 | 53 | raise VMBuilderUserError("The first-login script is not executable") | ||
498 | 54 | |||
499 | 49 | if not(os.path.isfile(self.vm.firstlogin)): | 55 | if not(os.path.isfile(self.vm.firstlogin)): |
500 | 50 | raise VMBuilderUserError('The path to the first-login script is invalid: %s. Make sure you are providing a full path.' % self.vm.firstlogin) | 56 | raise VMBuilderUserError('The path to the first-login script is invalid: %s. Make sure you are providing a full path.' % self.vm.firstlogin) |
501 | 51 | 57 | ||
502 | 52 | 58 | ||
503 | === modified file 'VMBuilder/plugins/ubuntu/dapper.py' | |||
504 | --- VMBuilder/plugins/ubuntu/dapper.py 2008-12-16 15:29:50 +0000 | |||
505 | +++ VMBuilder/plugins/ubuntu/dapper.py 2009-03-24 13:30:11 +0000 | |||
506 | @@ -81,6 +81,9 @@ | |||
507 | 81 | logging.debug("Installing ssh keys") | 81 | logging.debug("Installing ssh keys") |
508 | 82 | self.install_authorized_keys() | 82 | self.install_authorized_keys() |
509 | 83 | 83 | ||
510 | 84 | logging.debug("Install xen kernel") | ||
511 | 85 | self.install_xen_kernel() | ||
512 | 86 | |||
513 | 84 | logging.debug("Installing extra packages") | 87 | logging.debug("Installing extra packages") |
514 | 85 | self.install_extras() | 88 | self.install_extras() |
515 | 86 | 89 | ||
516 | 87 | 90 | ||
517 | === modified file 'VMBuilder/plugins/ubuntu/hardy.py' | |||
518 | --- VMBuilder/plugins/ubuntu/hardy.py 2008-11-06 15:36:18 +0000 | |||
519 | +++ VMBuilder/plugins/ubuntu/hardy.py 2009-03-24 15:28:46 +0000 | |||
520 | @@ -18,13 +18,30 @@ | |||
521 | 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | 18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. |
522 | 19 | # | 19 | # |
523 | 20 | import suite | 20 | import suite |
524 | 21 | import logging | ||
525 | 22 | import VMBuilder | ||
526 | 23 | from VMBuilder.util import run_cmd | ||
527 | 21 | from VMBuilder.plugins.ubuntu.gutsy import Gutsy | 24 | from VMBuilder.plugins.ubuntu.gutsy import Gutsy |
528 | 22 | 25 | ||
529 | 23 | class Hardy(Gutsy): | 26 | class Hardy(Gutsy): |
530 | 24 | virtio_net = True | 27 | virtio_net = True |
531 | 25 | 28 | ||
532 | 26 | def xen_kernel_path(self): | 29 | def xen_kernel_path(self): |
534 | 27 | return '/boot/vmlinuz-2.6.24-19-xen' | 30 | rcmd = run_cmd('chroot', self.destdir, 'dpkg', '-S', 'xen') |
535 | 31 | temp = rcmd[0].split(": ") | ||
536 | 32 | xen_kernel = temp[0].split("linux-image-") | ||
537 | 33 | path = '/boot/vmlinuz-%s' %xen_kernel | ||
538 | 34 | return path | ||
539 | 28 | 35 | ||
540 | 29 | def xen_ramdisk_path(self): | 36 | def xen_ramdisk_path(self): |
542 | 30 | return '/boot/initrd.img-2.6.24-19-xen' | 37 | rcmd = run_cmd('chroot', self.destdir, 'dpkg', '-S', 'xen') |
543 | 38 | temp = rcmd[0].split(": ") | ||
544 | 39 | xen_ramdisk = temp[0].split("linux-image-") | ||
545 | 40 | path = '/boot/initrd.img-%s' %xen_ramdisk | ||
546 | 41 | return path | ||
547 | 42 | |||
548 | 43 | def install_xen_kernel(self): | ||
549 | 44 | import VMBuilder.plugins.xen | ||
550 | 45 | |||
551 | 46 | if isinstance(self.vm.hypervisor, VMBuilder.plugins.xen.Xen): | ||
552 | 47 | self.run_in_target('apt-get', '-y', '--force-yes', 'install', 'linux-image-xen') | ||
553 | 31 | 48 | ||
554 | === modified file 'VMBuilder/plugins/ubuntu/intrepid.py' | |||
555 | --- VMBuilder/plugins/ubuntu/intrepid.py 2009-02-17 14:39:16 +0000 | |||
556 | +++ VMBuilder/plugins/ubuntu/intrepid.py 2009-03-24 15:28:46 +0000 | |||
557 | @@ -35,3 +35,8 @@ | |||
558 | 35 | run_cmd('sed', '-ie', 's/^# kopt=root=\([^ ]*\)\(.*\)/# kopt=root=UUID=%s\\2/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) | 35 | run_cmd('sed', '-ie', 's/^# kopt=root=\([^ ]*\)\(.*\)/# kopt=root=UUID=%s\\2/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) |
559 | 36 | run_cmd('sed', '-ie', 's/^# groot.*/# groot=%s/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) | 36 | run_cmd('sed', '-ie', 's/^# groot.*/# groot=%s/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) |
560 | 37 | run_cmd('sed', '-ie', '/^# kopt_2_6/ d', '%s/boot/grub/menu.lst' % self.destdir) | 37 | run_cmd('sed', '-ie', '/^# kopt_2_6/ d', '%s/boot/grub/menu.lst' % self.destdir) |
561 | 38 | def install_xen_kernel(self): | ||
562 | 39 | import VMBuilder.plugins.xen | ||
563 | 40 | |||
564 | 41 | if isinstance(self.vm.hypervisor, VMBuilder.plugins.xen.Xen): | ||
565 | 42 | logging.info('Skipping Xen kernel installation.') | ||
566 | 38 | 43 | ||
567 | === modified file 'VMBuilder/plugins/ubuntu/jaunty.py' | |||
568 | --- VMBuilder/plugins/ubuntu/jaunty.py 2008-12-04 16:27:22 +0000 | |||
569 | +++ VMBuilder/plugins/ubuntu/jaunty.py 2009-03-24 15:28:46 +0000 | |||
570 | @@ -31,3 +31,9 @@ | |||
571 | 31 | run_cmd('sed', '-ie', 's/^# kopt=root=\([^ ]*\)\(.*\)/# kopt=root=UUID=%s\\2/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) | 31 | run_cmd('sed', '-ie', 's/^# kopt=root=\([^ ]*\)\(.*\)/# kopt=root=UUID=%s\\2/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) |
572 | 32 | run_cmd('sed', '-ie', 's/^# groot.*/# groot=%s/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) | 32 | run_cmd('sed', '-ie', 's/^# groot.*/# groot=%s/g' % bootdev.fs.uuid, '%s/boot/grub/menu.lst' % self.destdir) |
573 | 33 | run_cmd('sed', '-ie', '/^# kopt_2_6/ d', '%s/boot/grub/menu.lst' % self.destdir) | 33 | run_cmd('sed', '-ie', '/^# kopt_2_6/ d', '%s/boot/grub/menu.lst' % self.destdir) |
574 | 34 | |||
575 | 35 | def install_xen_kernel(self): | ||
576 | 36 | import VMBuilder.plugins.xen | ||
577 | 37 | |||
578 | 38 | if isinstance(self.vm.hypervisor, VMBuilder.plugins.xen.Xen): | ||
579 | 39 | logging.info('Skipping Xen kernel installation.') | ||
580 | 34 | 40 | ||
581 | === modified file 'VMBuilder/plugins/ubuntu/templates/sources.list.tmpl' | |||
582 | --- VMBuilder/plugins/ubuntu/templates/sources.list.tmpl 2008-11-28 09:59:59 +0000 | |||
583 | +++ VMBuilder/plugins/ubuntu/templates/sources.list.tmpl 2009-03-24 13:15:03 +0000 | |||
584 | @@ -9,7 +9,7 @@ | |||
585 | 9 | 9 | ||
586 | 10 | #if $ppa | 10 | #if $ppa |
587 | 11 | #for $p in $ppa | 11 | #for $p in $ppa |
589 | 12 | deb http://ppa.launchpad.net/$p/ubuntu $suite #slurp | 12 | deb http://ppa.launchpad.net/$p/ppa/ubuntu $suite #slurp |
590 | 13 | #echo ' '.join($components) | 13 | #echo ' '.join($components) |
591 | 14 | 14 | ||
592 | 15 | #end for | 15 | #end for |
593 | 16 | 16 | ||
594 | === modified file 'debian/control' | |||
595 | --- debian/control 2008-12-16 13:39:21 +0000 | |||
596 | +++ debian/control 2009-03-24 13:17:11 +0000 | |||
597 | @@ -9,7 +9,7 @@ | |||
598 | 9 | 9 | ||
599 | 10 | Package: python-vm-builder | 10 | Package: python-vm-builder |
600 | 11 | Architecture: all | 11 | Architecture: all |
602 | 12 | Depends: kvm (>= 1:69) | qemu, debootstrap (>= 1.0.9), parted, kpartx, ubuntu-keyring, ${python:Depends}, python-cheetah, devscripts | 12 | Depends: kvm (>= 1:69) | qemu, debootstrap (>= 1.0.9), parted, kpartx, ubuntu-keyring, ${python:Depends}, python-cheetah, devscripts, rsync |
603 | 13 | Recommends: python-libvirt | 13 | Recommends: python-libvirt |
604 | 14 | XB-Python-Version: ${python:Versions} | 14 | XB-Python-Version: ${python:Versions} |
605 | 15 | Description: VM builder | 15 | Description: VM builder |
606 | 16 | 16 | ||
607 | === modified file 'debian/python-vm-builder-ec2.install' | |||
608 | --- debian/python-vm-builder-ec2.install 2008-10-20 22:09:39 +0000 | |||
609 | +++ debian/python-vm-builder-ec2.install 2009-03-24 14:03:02 +0000 | |||
610 | @@ -1,1 +1,1 @@ | |||
612 | 1 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/ec2 | 1 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/ec2 |
613 | 2 | 2 | ||
614 | === modified file 'debian/python-vm-builder.install' | |||
615 | --- debian/python-vm-builder.install 2008-10-21 08:14:00 +0000 | |||
616 | +++ debian/python-vm-builder.install 2009-03-24 14:15:32 +0000 | |||
617 | @@ -1,12 +1,12 @@ | |||
618 | 1 | debian/tmp/etc | 1 | debian/tmp/etc |
619 | 2 | debian/tmp/usr/bin/vmbuilder | 2 | debian/tmp/usr/bin/vmbuilder |
630 | 3 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/*.py | 3 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/*.py |
631 | 4 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/*.py | 4 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/*.py |
632 | 5 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/cli | 5 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/cli |
633 | 6 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/firstscripts | 6 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/firstscripts |
634 | 7 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/kvm | 7 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/kvm |
635 | 8 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/libvirt | 8 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/libvirt |
636 | 9 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/postinst | 9 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/postinst |
637 | 10 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/ubuntu | 10 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/ubuntu |
638 | 11 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/xen | 11 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/xen |
639 | 12 | debian/tmp/usr/lib/python2.5/site-packages/VMBuilder/plugins/vmware | 12 | debian/tmp/usr/lib/python*/*-packages/VMBuilder/plugins/vmware |
On Wed, May 06, 2009 at 11:29:59AM -0000, Soren Hansen wrote:
> You have been requested to review the proposed merge of lp:~zulcss/vmbuilder/vmbuilder-jaunty-ec2 into lp:vmbuilder.
> === added file 'VMBuilder/ plugins/ ec2/README' plugins/ ec2/README 1970-01-01 00:00:00 +0000 plugins/ ec2/README 2009-05-04 13:58:48 +0000
> --- VMBuilder/
> +++ VMBuilder/
> @@ -0,0 +1,14 @@
> +This is the command to use to create an ec2 image with vmbuilder:
> +
> +Note: you must have ec2-ami-tools installed.
Yes, ec2-ami-tools are required, but it seems odd to put that in the
README. Lots of other packages are needed, and they (like ec2-ami-tools)
are listed as dependencies of the package. If you care about people who
use vmbuilder outside the context of Ubuntu, you could add a preflight
check to make sure the ami tools are installed, and bail out if not.
> + {hardy, intrepid} --ec2 \ key=<your aws access key> \ key=<your aws secret key> \ "Description of your EC2 image" \ plugins/ ec2/__init_ _.py' plugins/ ec2/__init_ _.py 2008-11-28 11:18:43 +0000 plugins/ ec2/__init_ _.py 2009-05-01 19:24:18 +0000 option( '--ec2- secret- key', metavar= 'SECRET_ ID', help='AWS secret access key.') option( '--ec2- kernel' ,'--ec2- aki', metavar='AKI', help='EC2 AKI (kernel) to use.') option( '--ec2- ramdisk' ,'--ec2- ari', metavar='ARI', help='EC2 ARI (ramdisk) to use.') option( '--ec2- version' ,metavar= 'EC2_VER' ,help=' Specifity the EC2 image version.')
> +sudo vmbuilder xen ubuntu --suite=
> + --ec2-cert=<place where your ec2 cert is> \
> + --ec2-key=<place where your ec2 key is> \
> + --ec2-access-
> + --ec2-secret-
> + --ec2-user=<your aws # number> \
> + --ec2-bucket=<your ec2 bucket name> \
> + --ec2-prefix=<image prefix> \
> + --ec2-version=
> + --debug
>
> === modified file 'VMBuilder/
> --- VMBuilder/
> +++ VMBuilder/
> @@ -36,6 +36,7 @@
> group.add_
> group.add_
> group.add_
> + group.add_
Please use spaces instead of tabs. Note: This is far from the only occurrence of this problem.
> self.vm. register_ setting_ group(group) check(self) :
>
> def preflight_
> @@ -59,17 +60,45 @@
>
> if not self.vm.ec2_kernel:
> logging.debug('No ec2-aki choosen setting to default. Use --ec2-kernel to change this')
> - if self.vm.arch == 'amd64':
> - self.vm.ec2_kernel = 'aki-d314f0ba'
> - else:
> - self.vm.ec2_kernel = 'aki-af14f0c6'
> + if self.vm.suite == 'hardy':
> + if self.vm.arch == 'amd64':
> + self.vm.ec2_kernel = 'aki-a27493cb'
> + else:
> + self.vm.ec2_kernel = 'aki-a17493c8'
> + elif self.vm.suite == 'intrepid':
> + if self.vm.arch == 'amd64':
> + self.vm.ec2_kernel = 'aki-20c12649'
> + else:
> + self.vm.ec2_kernel = 'aki-20c12649'
> + elif self.vm.suite == 'jaunty':
> + if self.vm.arch == 'amd64':
> + self.vm.ec2_kernel = 'aki-d653b4bf'
> + else:
> + s...