Merge lp:~craig.magina/junk/pandakit into lp:~racb/junk/pandakit
- pandakit
- Merge into pandakit
Proposed by
Craig Magina
Status: | Needs review |
---|---|
Proposed branch: | lp:~craig.magina/junk/pandakit |
Merge into: | lp:~racb/junk/pandakit |
Diff against target: |
813 lines (+445/-53) 19 files modified
armadaxp-install.expect (+46/-0) armadaxp.expect (+1/-1) console-ro (+5/-1) console-rw (+5/-1) debian/changelog (+22/-0) debian/control (+3/-3) debian/install (+7/-2) defaults.yaml (+62/-19) generic-boot.expect (+16/-0) generic-install.expect (+23/-0) generic.expect (+1/-1) pandakit.rtupdate (+6/-0) pandakit/ipmi.py (+30/-2) pandakit/pk.py (+8/-3) pandakit/toecap.py (+29/-11) preseed.amd64 (+69/-0) preseed.arm (+19/-9) preseed.ml (+65/-0) preseed.remote (+28/-0) |
To merge this branch: | bzr merge lp:~craig.magina/junk/pandakit |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Robie Basak | Pending | ||
Review via email: mp+193144@code.launchpad.net |
Commit message
Description of the change
Merged all changes made locally
To post a comment you must log in.
lp:~craig.magina/junk/pandakit
updated
- 95. By Craig Magina
-
Added configuration fields to specify raw power on and off commands for ipmi
Merged local changes - 96. By Craig Magina
-
* Fixed a bug with the SSH global defines in toecap
* Minor cleanup from merge that broke installs
* Added new files in debian/install
* Added new recommends on conserver - 97. By Craig Magina
-
Applied Massimo's sentrysnmp changes to support the cdu's user in 1ss
Unmerged revisions
- 97. By Craig Magina
-
Applied Massimo's sentrysnmp changes to support the cdu's user in 1ss
- 96. By Craig Magina
-
* Fixed a bug with the SSH global defines in toecap
* Minor cleanup from merge that broke installs
* Added new files in debian/install
* Added new recommends on conserver - 95. By Craig Magina
-
Added configuration fields to specify raw power on and off commands for ipmi
Merged local changes - 94. By Craig Magina
-
Merged all modifications from local system
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'armadaxp-install.expect' | |||
2 | --- armadaxp-install.expect 1970-01-01 00:00:00 +0000 | |||
3 | +++ armadaxp-install.expect 2014-02-07 20:43:02 +0000 | |||
4 | @@ -0,0 +1,46 @@ | |||
5 | 1 | #!/usr/bin/expect -f | ||
6 | 2 | |||
7 | 3 | set hostname [lindex $argv 0] | ||
8 | 4 | spawn /usr/lib/pandakit/console-rw $hostname | ||
9 | 5 | set timeout 30 | ||
10 | 6 | expect { | ||
11 | 7 | -ex "Hit any key to stop autoboot:" {send "\n"} | ||
12 | 8 | timeout {send_user "timed out\n"; exit 1} | ||
13 | 9 | } | ||
14 | 10 | expect { | ||
15 | 11 | -ex "Marvell>> " {sleep 2;send "dhcp\n"} | ||
16 | 12 | timeout {send_user "timed out\n"; exit 1} | ||
17 | 13 | } | ||
18 | 14 | expect { | ||
19 | 15 | timeout {send_user "timed out\n"; exit 1} | ||
20 | 16 | -ex "egiga0 mvNetaPortEnable failed" {send_user "known race\n"; exit 75} | ||
21 | 17 | -ex "Retry count exceeded" {send_user "bootp error\n"; exit 1} | ||
22 | 18 | -ex "DHCP client bound to address" | ||
23 | 19 | } | ||
24 | 20 | expect { | ||
25 | 21 | -ex "Marvell>> " {send "pxe get\n"} | ||
26 | 22 | timeout {send_user "timed out\n"; exit 1} | ||
27 | 23 | } | ||
28 | 24 | expect { | ||
29 | 25 | -ex "Marvell>> " {send "pxe boot\n"} | ||
30 | 26 | timeout {send_user "timed out\n"; exit 1} | ||
31 | 27 | } | ||
32 | 28 | expect { | ||
33 | 29 | timeout {send_user "timed out\n"; exit 1} | ||
34 | 30 | -ex "Starting kernel ..." | ||
35 | 31 | } | ||
36 | 32 | set timeout 1900 | ||
37 | 33 | expect { | ||
38 | 34 | timeout {send_user "timed out\n"; exit 1} | ||
39 | 35 | "Error parsing config file" {exit 4} | ||
40 | 36 | # "Uncompressing Linux" {exit 99} | ||
41 | 37 | # "Detecting network hardwar" {exit 0} | ||
42 | 38 | "Oops" {exit 2} | ||
43 | 39 | "panic occurred" {exit 6} | ||
44 | 40 | "Kernel panic" {sleep 60; exit 7} | ||
45 | 41 | "The debootstrap program exited with an error (return value 1)" {exit 3} | ||
46 | 42 | "Press enter to continue" {exit 5} | ||
47 | 43 | # "Prompt: '?' for help>" as well as "Prompt: '?' for help, default=1>" | ||
48 | 44 | "Prompt: '?' for help" {exit 8} | ||
49 | 45 | "Restarting system." {exit 0} | ||
50 | 46 | } | ||
51 | 0 | 47 | ||
52 | === modified file 'armadaxp.expect' | |||
53 | --- armadaxp.expect 2012-07-04 14:00:28 +0000 | |||
54 | +++ armadaxp.expect 2014-02-07 20:43:02 +0000 | |||
55 | @@ -29,7 +29,7 @@ | |||
56 | 29 | timeout {send_user "timed out\n"; exit 1} | 29 | timeout {send_user "timed out\n"; exit 1} |
57 | 30 | -ex "Starting kernel ..." | 30 | -ex "Starting kernel ..." |
58 | 31 | } | 31 | } |
60 | 32 | set timeout 1900 | 32 | set timeout 3200 |
61 | 33 | expect { | 33 | expect { |
62 | 34 | timeout {send_user "timed out\n"; exit 1} | 34 | timeout {send_user "timed out\n"; exit 1} |
63 | 35 | "Error parsing config file" {exit 4} | 35 | "Error parsing config file" {exit 4} |
64 | 36 | 36 | ||
65 | === modified file 'console-ro' | |||
66 | --- console-ro 2012-03-21 11:59:24 +0000 | |||
67 | +++ console-ro 2014-02-07 20:43:02 +0000 | |||
68 | @@ -16,7 +16,11 @@ | |||
69 | 16 | hostname = sys.argv[1] | 16 | hostname = sys.argv[1] |
70 | 17 | console = local_setup['machines'][hostname]['console'] | 17 | console = local_setup['machines'][hostname]['console'] |
71 | 18 | if console['driver'] == 'conserver': | 18 | if console['driver'] == 'conserver': |
73 | 19 | subprocess.check_call('while true;do sleep 999999;done|console -p3109 -Mlocalhost -s "%s"|(sed -n 2q;cat)' % hostname, shell=True) | 19 | if 'master' in console: |
74 | 20 | master = console['master'] | ||
75 | 21 | else: | ||
76 | 22 | master = 'localhost' | ||
77 | 23 | subprocess.check_call('while true;do sleep 999999;done|console -p3109 -M "%s" -s "%s"|(sed -n 2q;cat)' % (master,hostname), shell=True) | ||
78 | 20 | elif console['driver'] == 'tty': | 24 | elif console['driver'] == 'tty': |
79 | 21 | baud = console['baud'] | 25 | baud = console['baud'] |
80 | 22 | tty = console['tty'] | 26 | tty = console['tty'] |
81 | 23 | 27 | ||
82 | === modified file 'console-rw' | |||
83 | --- console-rw 2012-03-27 11:24:34 +0000 | |||
84 | +++ console-rw 2014-02-07 20:43:02 +0000 | |||
85 | @@ -10,6 +10,10 @@ | |||
86 | 10 | hostname = sys.argv[1] | 10 | hostname = sys.argv[1] |
87 | 11 | console = local_setup['machines'][hostname]['console'] | 11 | console = local_setup['machines'][hostname]['console'] |
88 | 12 | if console['driver'] == 'conserver': | 12 | if console['driver'] == 'conserver': |
90 | 13 | subprocess.check_call('console -f -p3109 -Mlocalhost "%s"' % hostname, shell=True) | 13 | if 'master' in console: |
91 | 14 | master = console['master'] | ||
92 | 15 | else: | ||
93 | 16 | master = 'localhost' | ||
94 | 17 | subprocess.check_call('console -f -p3109 -M "%s" "%s"' % (master,hostname), shell=True) | ||
95 | 14 | else: | 18 | else: |
96 | 15 | raise NotImplementedError() | 19 | raise NotImplementedError() |
97 | 16 | 20 | ||
98 | === modified file 'debian/changelog' | |||
99 | --- debian/changelog 2012-03-08 16:55:18 +0000 | |||
100 | +++ debian/changelog 2014-02-07 20:43:02 +0000 | |||
101 | @@ -1,3 +1,25 @@ | |||
102 | 1 | pandakit (0.1-4) precise; urgency=low | ||
103 | 2 | |||
104 | 3 | * Fixed a bug with the SSH global defines in toecap | ||
105 | 4 | |||
106 | 5 | -- Craig Magina <craig.magina@canonical.com> Sun, 15 Dec 2013 17:03:00 -0500 | ||
107 | 6 | |||
108 | 7 | pandakit (0.1-3) precise; urgency=low | ||
109 | 8 | |||
110 | 9 | * Minor cleanup from merge that broke installs | ||
111 | 10 | * Added new files in debian/install | ||
112 | 11 | * Added new recommends on conserver | ||
113 | 12 | |||
114 | 13 | -- Craig Magina <craig.magina@canonical.com> Tue, 10 Dec 2013 14:43:24 -0400 | ||
115 | 14 | |||
116 | 15 | pandakit (0.1-2) precise; urgency=low | ||
117 | 16 | |||
118 | 17 | * Added configuration fields to specify raw power on and off commands for | ||
119 | 18 | ipmi | ||
120 | 19 | * Merged local changes | ||
121 | 20 | |||
122 | 21 | -- Craig Magina <craig.magina@canonical.com> Fri, 01 Nov 2013 18:06:44 -0400 | ||
123 | 22 | |||
124 | 1 | pandakit (0.1-1) precise; urgency=low | 23 | pandakit (0.1-1) precise; urgency=low |
125 | 2 | 24 | ||
126 | 3 | * Initial release. | 25 | * Initial release. |
127 | 4 | 26 | ||
128 | === modified file 'debian/control' | |||
129 | --- debian/control 2012-05-18 14:24:21 +0000 | |||
130 | +++ debian/control 2014-02-07 20:43:02 +0000 | |||
131 | @@ -3,13 +3,13 @@ | |||
132 | 3 | Priority: optional | 3 | Priority: optional |
133 | 4 | Maintainer: Robie Basak <robie.basak@canonical.com> | 4 | Maintainer: Robie Basak <robie.basak@canonical.com> |
134 | 5 | Standards-Version: 3.9.3.1 | 5 | Standards-Version: 3.9.3.1 |
136 | 6 | Build-Depends: debhelper (>= 7), python-all-dev (>= 2.7), python-support | 6 | Build-Depends: debhelper (>= 7), python-all-dev (>= 2.7), python-support, python-setuptools |
137 | 7 | XS-Python-Version: >= 2.7 | 7 | XS-Python-Version: >= 2.7 |
138 | 8 | 8 | ||
139 | 9 | Package: pandakit | 9 | Package: pandakit |
140 | 10 | Architecture: all | 10 | Architecture: all |
141 | 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, expect, cobbler, python-usb, snmp, socat, python-lockfile | 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, expect, cobbler, python-usb, snmp, socat, python-lockfile |
143 | 12 | Recommends: u-boot-linaro-omap4-panda-splusb, ipmitool | 12 | Recommends: u-boot-linaro-omap4-panda-splusb, ipmitool, conserver-server, conserver-client |
144 | 13 | XB-Python-Version: ${python:Versions} | 13 | XB-Python-Version: ${python:Versions} |
145 | 14 | Provides: ${python:Provides} | 14 | Provides: ${python:Provides} |
147 | 15 | Description: tools to automate Pandaboard development | 15 | Description: tools to automate ARM board development |
148 | 16 | 16 | ||
149 | === modified file 'debian/install' | |||
150 | --- debian/install 2012-07-04 14:00:28 +0000 | |||
151 | +++ debian/install 2014-02-07 20:43:02 +0000 | |||
152 | @@ -2,12 +2,16 @@ | |||
153 | 2 | console-ro usr/lib/pandakit | 2 | console-ro usr/lib/pandakit |
154 | 3 | console-rw usr/lib/pandakit | 3 | console-rw usr/lib/pandakit |
155 | 4 | cobbler-clean usr/lib/pandakit | 4 | cobbler-clean usr/lib/pandakit |
158 | 5 | generic.expect usr/lib/pandakit | 5 | generic-install.expect usr/lib/pandakit |
159 | 6 | armadaxp.expect usr/lib/pandakit | 6 | generic-boot.expect usr/lib/pandakit |
160 | 7 | armadaxp-install.expect usr/lib/pandakit | ||
161 | 7 | omap4-netboot-mkcard.sh usr/lib/pandakit | 8 | omap4-netboot-mkcard.sh usr/lib/pandakit |
162 | 8 | preseed.arm usr/share/pandakit | 9 | preseed.arm usr/share/pandakit |
163 | 9 | preseed.armadaxp usr/share/pandakit | 10 | preseed.armadaxp usr/share/pandakit |
164 | 11 | preseed.armadaxp_z1 usr/share/pandakit | ||
165 | 10 | preseed.i386 usr/share/pandakit | 12 | preseed.i386 usr/share/pandakit |
166 | 13 | preseed.amd64 usr/share/pandakit | ||
167 | 14 | preseed.remote usr/share/pandakit | ||
168 | 11 | relay-kmtronic usr/lib/pandakit | 15 | relay-kmtronic usr/lib/pandakit |
169 | 12 | remote-netboot.py usr/lib/pandakit | 16 | remote-netboot.py usr/lib/pandakit |
170 | 13 | ttyusb-dev usr/lib/pandakit | 17 | ttyusb-dev usr/lib/pandakit |
171 | @@ -15,3 +19,4 @@ | |||
172 | 15 | local_setup.yaml etc/pandakit | 19 | local_setup.yaml etc/pandakit |
173 | 16 | defaults.yaml etc/pandakit | 20 | defaults.yaml etc/pandakit |
174 | 17 | 85-pandakit.rules /lib/udev/rules.d | 21 | 85-pandakit.rules /lib/udev/rules.d |
175 | 22 | pandakit.rtupdate usr/share/python/runtime.d | ||
176 | 18 | \ No newline at end of file | 23 | \ No newline at end of file |
177 | 19 | 24 | ||
178 | === modified file 'defaults.yaml' | |||
179 | --- defaults.yaml 2012-07-04 15:10:26 +0000 | |||
180 | +++ defaults.yaml 2014-02-07 20:43:02 +0000 | |||
181 | @@ -1,20 +1,28 @@ | |||
183 | 1 | default_keywords: [ generic, armhf, quantal ] | 1 | default_keywords: [ generic, armhf, raring ] |
184 | 2 | settings: | 2 | settings: |
185 | 3 | preseed: '/usr/share/pandakit/%(preseed)s' | 3 | preseed: '/usr/share/pandakit/%(preseed)s' |
186 | 4 | kernel: '%(mirror)s/dists/%(release)s/main/installer-%(arch)s/current/images/%(installer)s/%(kernel_name)s' | 4 | kernel: '%(mirror)s/dists/%(release)s/main/installer-%(arch)s/current/images/%(installer)s/%(kernel_name)s' |
187 | 5 | initrd: '%(mirror)s/dists/%(release)s/main/installer-%(arch)s/current/images/%(installer)s/%(initrd_name)s' | 5 | initrd: '%(mirror)s/dists/%(release)s/main/installer-%(arch)s/current/images/%(installer)s/%(initrd_name)s' |
188 | 6 | kopts: '%(kopts)s DEBIAN_FRONTEND=text' | 6 | kopts: '%(kopts)s DEBIAN_FRONTEND=text' |
190 | 7 | monitor: '/usr/lib/pandakit/%(monitor)s.expect' | 7 | boot_monitor: '/usr/lib/pandakit/%(boot_monitor)s.expect' |
191 | 8 | install_monitor: '/usr/lib/pandakit/%(install_monitor)s.expect' | ||
192 | 8 | settings_exceptions: | 9 | settings_exceptions: |
193 | 9 | # These are regular expression pairs | 10 | # These are regular expression pairs |
194 | 10 | # Workaround for precise netboot images being in a slightly different path | 11 | # Workaround for precise netboot images being in a slightly different path |
195 | 11 | # on armadaxp | 12 | # on armadaxp |
196 | 13 | # kernel: | ||
197 | 14 | # - - '/dists/precise/main/installer-armhf/current/images/armadaxp/netboot/uImage$' | ||
198 | 15 | # - '/dists/precise/main/installer-armhf/current/images/armadaxp/uImage' | ||
199 | 16 | # initrd: | ||
200 | 17 | # - - '/dists/precise/main/installer-armhf/current/images/armadaxp/netboot/uInitrd$' | ||
201 | 18 | # - '/dists/precise/main/installer-armhf/current/images/armadaxp/uInitrd' | ||
202 | 19 | # On highbank in precise, the installer is only available in the -updates pocket | ||
203 | 12 | kernel: | 20 | kernel: |
206 | 13 | - - '/dists/precise/main/installer-armhf/current/images/armadaxp/netboot/uImage$' | 21 | - - '/dists/precise/main/installer-armhf/current/images/highbank/netboot/vmlinuz$' |
207 | 14 | - '/dists/precise/main/installer-armhf/current/images/armadaxp/uImage' | 22 | - '/dists/precise-updates/main/installer-armhf/current/images/highbank/netboot/vmlinuz' |
208 | 15 | initrd: | 23 | initrd: |
211 | 16 | - - '/dists/precise/main/installer-armhf/current/images/armadaxp/netboot/uInitrd$' | 24 | - - '/dists/precise/main/installer-armhf/current/images/highbank/netboot/initrd.gz$' |
212 | 17 | - '/dists/precise/main/installer-armhf/current/images/armadaxp/uInitrd' | 25 | - '/dists/precise-updates/main/installer-armhf/current/images/highbank/netboot/initrd.gz' |
213 | 18 | keyword_map: | 26 | keyword_map: |
214 | 19 | armel: | 27 | armel: |
215 | 20 | mirror: http://ports.ubuntu.com/ubuntu-ports | 28 | mirror: http://ports.ubuntu.com/ubuntu-ports |
216 | @@ -28,34 +36,69 @@ | |||
217 | 28 | kernel_name: uImage | 36 | kernel_name: uImage |
218 | 29 | initrd_name: uInitrd | 37 | initrd_name: uInitrd |
219 | 30 | preseed: preseed.arm | 38 | preseed: preseed.arm |
221 | 31 | i386: | 39 | amd64: |
222 | 32 | mirror: http://archive.ubuntu.com/ubuntu | 40 | mirror: http://archive.ubuntu.com/ubuntu |
225 | 33 | arch: i386 | 41 | arch: amd64 |
226 | 34 | installer: netboot/ubuntu-installer/i386 | 42 | installer: netboot/ubuntu-installer/amd64 |
227 | 35 | kernel_name: linux | 43 | kernel_name: linux |
228 | 36 | initrd_name: initrd.gz | 44 | initrd_name: initrd.gz |
230 | 37 | preseed: preseed.i386 | 45 | preseed: preseed.amd64 |
231 | 46 | lpae: | ||
232 | 47 | installer: generic-lpae/netboot | ||
233 | 38 | oneiric: | 48 | oneiric: |
234 | 39 | release: oneiric | 49 | release: oneiric |
235 | 40 | precise: | 50 | precise: |
236 | 41 | release: precise | 51 | release: precise |
237 | 52 | precise-updates: | ||
238 | 53 | release: precise-updates | ||
239 | 42 | quantal: | 54 | quantal: |
240 | 43 | release: quantal | 55 | release: quantal |
241 | 56 | quantal-updates: | ||
242 | 57 | release: quantal-updates | ||
243 | 58 | raring: | ||
244 | 59 | release: raring | ||
245 | 60 | raring-updates: | ||
246 | 61 | release: raring-updates | ||
247 | 62 | saucy: | ||
248 | 63 | release: saucy | ||
249 | 64 | saucy-updates: | ||
250 | 65 | release: saucy-updates | ||
251 | 66 | trusty: | ||
252 | 67 | release: trusty | ||
253 | 68 | trusty-updates: | ||
254 | 69 | release: trusty-updates | ||
255 | 44 | generic: | 70 | generic: |
257 | 45 | monitor: generic | 71 | boot_monitor: generic-boot |
258 | 72 | install_monitor: generic-install | ||
259 | 46 | kopts: '' | 73 | kopts: '' |
260 | 47 | omap4: | 74 | omap4: |
261 | 48 | installer: omap4/netboot | 75 | installer: omap4/netboot |
263 | 49 | kopts: 'console=ttyO2,115200n8 earlyprintk=ttyO2 text fixrtc' | 76 | kopts: 'console=ttyO2,115200n8 earlyprintk=ttyO2 text fixrtc vram=48M omapfb.vram=0:24M' |
264 | 77 | omap4-proposed: | ||
265 | 78 | installer: omap4/netboot | ||
266 | 79 | kopts: 'apt-setup/proposed=true console=ttyO2,115200n8 earlyprintk=ttyO2 text fixrtc' | ||
267 | 50 | armadaxp: | 80 | armadaxp: |
268 | 51 | installer: armadaxp/netboot | 81 | installer: armadaxp/netboot |
274 | 52 | preseed: preseed.armadaxp | 82 | install_monitor: armadaxp-install |
275 | 53 | monitor: armadaxp | 83 | kopts: 'console=ttyS0,115200n8 earlyprintk=ttyS0 text netcfg/choose_interface=auto fixrtc' |
276 | 54 | kopts: 'console=ttyS0,115200n8 earlyprintk=ttyS0 text netcfg/choose_interface=auto fixrtc' | 84 | armadaxp-proposed: |
277 | 55 | armadaxp_z1: | 85 | installer: armadaxp/netboot |
278 | 56 | preseed: preseed.armadaxp_z1 | 86 | install_monitor: armadaxp-install |
279 | 87 | kopts: 'apt-setup/proposed=true console=ttyS0,115200n8 earlyprintk=ttyS0 text netcfg/choose_interface=auto fixrtc' | ||
280 | 88 | armadaxp-z1: | ||
281 | 89 | preseed: preseed.armadaxp-z1 | ||
282 | 90 | # Need to specify a local hand-built installer somehow for Z1 | ||
283 | 91 | installer: armadaxp-z1/netboot | ||
284 | 92 | install_monitor: armadaxp-install | ||
285 | 93 | kopts: 'console=ttyS0,115200n8 earlyprintk=ttyS0 text netcfg/choose_interface=auto fixrtc' | ||
286 | 57 | highbank: | 94 | highbank: |
289 | 58 | installer: highbank/netboot | 95 | release: quantal |
290 | 59 | kopts: 'console=ttyAMA0 earlyprintk=ttyAMA0 text netcfg/choose_interface=auto' | 96 | installer: highbank/netboot |
291 | 97 | kopts: 'console=ttyAMA0 earlyprintk=ttyAMA0 text netcfg/choose_interface=auto fixrtc' | ||
292 | 98 | kernel_name: vmlinuz | ||
293 | 99 | initrd_name: initrd.gz | ||
294 | 100 | highbank-proposed: | ||
295 | 101 | installer: highbank/netboot | ||
296 | 102 | kopts: 'apt-setup/proposed=true console=ttyAMA0 earlyprintk=ttyAMA0 text netcfg/choose_interface=auto fixrtc' | ||
297 | 60 | kernel_name: vmlinuz | 103 | kernel_name: vmlinuz |
298 | 61 | initrd_name: initrd.gz | 104 | initrd_name: initrd.gz |
299 | 62 | 105 | ||
300 | === added file 'generic-boot.expect' | |||
301 | --- generic-boot.expect 1970-01-01 00:00:00 +0000 | |||
302 | +++ generic-boot.expect 2014-02-07 20:43:02 +0000 | |||
303 | @@ -0,0 +1,16 @@ | |||
304 | 1 | #!/usr/bin/expect -f | ||
305 | 2 | |||
306 | 3 | set timeout 1600 | ||
307 | 4 | spawn pk console $argv | ||
308 | 5 | expect { | ||
309 | 6 | timeout {send_user "timed out\n"; exit 1} | ||
310 | 7 | # "Uncompressing Linux" {exit 99} | ||
311 | 8 | # "Detecting network hardwar" {exit 0} | ||
312 | 9 | "Oops" {exit 2} | ||
313 | 10 | "panic occurred" {exit 6} | ||
314 | 11 | "Kernel panic" {sleep 60; exit 7} | ||
315 | 12 | "Press enter to continue" {exit 5} | ||
316 | 13 | # "Prompt: '?' for help>" as well as "Prompt: '?' for help, default=1>" | ||
317 | 14 | "Prompt: '?' for help" {exit 8} | ||
318 | 15 | "login:" {exit 0} | ||
319 | 16 | } | ||
320 | 0 | 17 | ||
321 | === added file 'generic-install.expect' | |||
322 | --- generic-install.expect 1970-01-01 00:00:00 +0000 | |||
323 | +++ generic-install.expect 2014-02-07 20:43:02 +0000 | |||
324 | @@ -0,0 +1,23 @@ | |||
325 | 1 | #!/usr/bin/expect -f | ||
326 | 2 | |||
327 | 3 | set timeout 1900 | ||
328 | 4 | spawn pk console $argv | ||
329 | 5 | expect { | ||
330 | 6 | "ERROR: Debootstrap warning" {exit 75} | ||
331 | 7 | "You have not selected any partitions for use as swap space." {exit 75} | ||
332 | 8 | "Could not stat device" {exit 75} | ||
333 | 9 | "No root file system is defined." {exit 75} | ||
334 | 10 | "ERROR: Installation step failed" {exit 75} | ||
335 | 11 | timeout {send_user "timed out\n"; exit 1} | ||
336 | 12 | "Error parsing config file" {exit 4} | ||
337 | 13 | # "Uncompressing Linux" {exit 99} | ||
338 | 14 | # "Detecting network hardwar" {exit 0} | ||
339 | 15 | "Oops" {exit 2} | ||
340 | 16 | "panic occurred" {exit 6} | ||
341 | 17 | "Kernel panic" {sleep 60; exit 7} | ||
342 | 18 | "The debootstrap program exited with an error (return value 1)" {exit 3} | ||
343 | 19 | "Press enter to continue" {exit 5} | ||
344 | 20 | # "Prompt: '?' for help>" as well as "Prompt: '?' for help, default=1>" | ||
345 | 21 | "Prompt: '?' for help" {exit 8} | ||
346 | 22 | "Restarting system." {exit 0} | ||
347 | 23 | } | ||
348 | 0 | 24 | ||
349 | === modified file 'generic.expect' | |||
350 | --- generic.expect 2012-04-03 14:30:44 +0000 | |||
351 | +++ generic.expect 2014-02-07 20:43:02 +0000 | |||
352 | @@ -1,6 +1,6 @@ | |||
353 | 1 | #!/usr/bin/expect -f | 1 | #!/usr/bin/expect -f |
354 | 2 | 2 | ||
356 | 3 | set timeout 1600 | 3 | set timeout 3200 |
357 | 4 | spawn pk console $argv | 4 | spawn pk console $argv |
358 | 5 | expect { | 5 | expect { |
359 | 6 | "ERROR: Debootstrap warning" {exit 75} | 6 | "ERROR: Debootstrap warning" {exit 75} |
360 | 7 | 7 | ||
361 | === added file 'pandakit.rtupdate' | |||
362 | --- pandakit.rtupdate 1970-01-01 00:00:00 +0000 | |||
363 | +++ pandakit.rtupdate 2014-02-07 20:43:02 +0000 | |||
364 | @@ -0,0 +1,6 @@ | |||
365 | 1 | #! /bin/sh | ||
366 | 2 | set -e | ||
367 | 3 | if [ "$1" = rtupdate ]; then | ||
368 | 4 | pyclean -p pandakit /usr/lib/pandakit | ||
369 | 5 | pycompile -p pandakit -V 2.7- /usr/lib/pandakit | ||
370 | 6 | fi | ||
371 | 0 | \ No newline at end of file | 7 | \ No newline at end of file |
372 | 1 | 8 | ||
373 | === modified file 'pandakit/ipmi.py' | |||
374 | --- pandakit/ipmi.py 2012-05-19 00:14:47 +0000 | |||
375 | +++ pandakit/ipmi.py 2014-02-07 20:43:02 +0000 | |||
376 | @@ -13,6 +13,29 @@ | |||
377 | 13 | bmc = machine['bmc'] | 13 | bmc = machine['bmc'] |
378 | 14 | return bmc['ip_address'] | 14 | return bmc['ip_address'] |
379 | 15 | 15 | ||
380 | 16 | def get_bmc_user(machine_name): | ||
381 | 17 | machines = config.get_config()['machines'] | ||
382 | 18 | machine = machines[machine_name] | ||
383 | 19 | bmc = machine['bmc'] | ||
384 | 20 | return bmc['username'] | ||
385 | 21 | |||
386 | 22 | def get_bmc_pwd(machine_name): | ||
387 | 23 | machines = config.get_config()['machines'] | ||
388 | 24 | machine = machines[machine_name] | ||
389 | 25 | bmc = machine['bmc'] | ||
390 | 26 | return bmc['password'] | ||
391 | 27 | |||
392 | 28 | def get_bmc_intf(machine_name): | ||
393 | 29 | machines = config.get_config()['machines'] | ||
394 | 30 | machine = machines[machine_name] | ||
395 | 31 | bmc = machine['bmc'] | ||
396 | 32 | try: | ||
397 | 33 | return bmc['intf'] | ||
398 | 34 | except KeyError: | ||
399 | 35 | return 'lan' | ||
400 | 36 | else: | ||
401 | 37 | return bmc['intf'] | ||
402 | 38 | |||
403 | 16 | def has_bmc(machine_name): | 39 | def has_bmc(machine_name): |
404 | 17 | try: | 40 | try: |
405 | 18 | get_bmc_ip(machine_name) | 41 | get_bmc_ip(machine_name) |
406 | @@ -23,11 +46,16 @@ | |||
407 | 23 | 46 | ||
408 | 24 | def sol(machine_name): | 47 | def sol(machine_name): |
409 | 25 | bmc_ip = get_bmc_ip(machine_name) | 48 | bmc_ip = get_bmc_ip(machine_name) |
411 | 26 | os.execlp('socat', 'socat', '-,echo=0,raw', 'EXEC:ipmitool -H %s -U admin -P admin -I lanplus sol activate,pty' % bmc_ip) | 49 | bmc_user = get_bmc_user(machine_name) |
412 | 50 | bmc_pwd = get_bmc_pwd(machine_name) | ||
413 | 51 | os.execlp('socat', 'socat', '-,echo=0,raw', 'EXEC:ipmitool -H %s -U %s -P %s -I lanplus sol activate,pty' % (bmc_ip, bmc_user, bmc_pwd) ) | ||
414 | 27 | 52 | ||
415 | 28 | def ipmi(machine_name, *args): | 53 | def ipmi(machine_name, *args): |
416 | 29 | bmc_ip = get_bmc_ip(machine_name) | 54 | bmc_ip = get_bmc_ip(machine_name) |
418 | 30 | cmd = ['ipmitool', '-H', bmc_ip, '-U', 'admin', '-P', 'admin'] | 55 | bmc_user = get_bmc_user(machine_name) |
419 | 56 | bmc_pwd = get_bmc_pwd(machine_name) | ||
420 | 57 | bmc_intf = get_bmc_intf(machine_name) | ||
421 | 58 | cmd = ['ipmitool', '-H', bmc_ip, '-U', bmc_user, '-P', bmc_pwd, '-I', bmc_intf] | ||
422 | 31 | cmd.extend(args) | 59 | cmd.extend(args) |
423 | 32 | subprocess.check_call(cmd, close_fds=True) | 60 | subprocess.check_call(cmd, close_fds=True) |
424 | 33 | time.sleep(3) | 61 | time.sleep(3) |
425 | 34 | 62 | ||
426 | === modified file 'pandakit/pk.py' | |||
427 | --- pandakit/pk.py 2013-09-23 13:54:30 +0000 | |||
428 | +++ pandakit/pk.py 2014-02-07 20:43:02 +0000 | |||
429 | @@ -18,9 +18,9 @@ | |||
430 | 18 | for hostname in hostnames: | 18 | for hostname in hostnames: |
431 | 19 | machine_definition = local_config['machines'][hostname] | 19 | machine_definition = local_config['machines'][hostname] |
432 | 20 | if 'bmc' in machine_definition: | 20 | if 'bmc' in machine_definition: |
436 | 21 | if 'raw' in machine_definition: | 21 | try: |
437 | 22 | pandakit.ipmi.main(hostname, machine_definition['bmc']['raw'][state]) | 22 | pandakit.ipmi.main(hostname, *machine_definition['bmc'][state + '-cmd'].split()) |
438 | 23 | else: | 23 | except KeyError: |
439 | 24 | pandakit.ipmi.main(hostname, 'power', state) | 24 | pandakit.ipmi.main(hostname, 'power', state) |
440 | 25 | elif 'relay' in machine_definition: | 25 | elif 'relay' in machine_definition: |
441 | 26 | relay_name = machine_definition['relay']['name'] | 26 | relay_name = machine_definition['relay']['name'] |
442 | @@ -41,6 +41,11 @@ | |||
443 | 41 | relay_index = local_config['machines'][hostname]['relay']['index'] | 41 | relay_index = local_config['machines'][hostname]['relay']['index'] |
444 | 42 | state_code = { 'on': 1, 'off': 2, 'reset': 3 }[state] | 42 | state_code = { 'on': 1, 'off': 2, 'reset': 3 }[state] |
445 | 43 | subprocess.check_call('snmpset -c private -v1 %s .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.%d i %d >/dev/null' % (host, relay_index, state_code), shell=True) | 43 | subprocess.check_call('snmpset -c private -v1 %s .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.%d i %d >/dev/null' % (host, relay_index, state_code), shell=True) |
446 | 44 | elif relay['driver'] == 'sentrysnmp': | ||
447 | 45 | host = relay['host'] | ||
448 | 46 | relay_index = local_config['machines'][hostname]['relay']['index'] | ||
449 | 47 | state_code = { 'on': 1, 'off': 2, 'reset': 3 }[state] | ||
450 | 48 | subprocess.check_call('snmpset -c private -v1 %s .1.3.6.1.4.1.1718.3.2.3.1.11.1.1.%d i %d >/dev/null' % (host, relay_index, state_code), shell=True) | ||
451 | 44 | else: | 49 | else: |
452 | 45 | print "Power cycle %s and press enter" % hostname | 50 | print "Power cycle %s and press enter" % hostname |
453 | 46 | raw_input() | 51 | raw_input() |
454 | 47 | 52 | ||
455 | === modified file 'pandakit/toecap.py' | |||
456 | --- pandakit/toecap.py 2012-07-04 15:10:26 +0000 | |||
457 | +++ pandakit/toecap.py 2014-02-07 20:43:02 +0000 | |||
458 | @@ -32,8 +32,6 @@ | |||
459 | 32 | except: | 32 | except: |
460 | 33 | HOME = os.getenv('HOME') | 33 | HOME = os.getenv('HOME') |
461 | 34 | 34 | ||
462 | 35 | SSH_KNOWN_HOSTS_FILE = os.path.join(HOME, '.ssh', 'known_hosts') | ||
463 | 36 | SSH_ID_RSA_PUB_FILE = os.path.join(HOME, '.ssh', 'id_rsa.pub') | ||
464 | 37 | USBBOOT_DEVPATH_DIR = '/var/run/pandakit/usbboot' | 35 | USBBOOT_DEVPATH_DIR = '/var/run/pandakit/usbboot' |
465 | 38 | COBBLER_LOCK = '/var/run/pandakit/cobbler' | 36 | COBBLER_LOCK = '/var/run/pandakit/cobbler' |
466 | 39 | COBBLER_LOCK_DIR = os.path.dirname(COBBLER_LOCK) | 37 | COBBLER_LOCK_DIR = os.path.dirname(COBBLER_LOCK) |
467 | @@ -167,7 +165,7 @@ | |||
468 | 167 | return 'console' in config.get_config()['machines'][hostname] | 165 | return 'console' in config.get_config()['machines'][hostname] |
469 | 168 | 166 | ||
470 | 169 | 167 | ||
472 | 170 | def do_boot(args): | 168 | def do_install(args): |
473 | 171 | if args.ip_address: | 169 | if args.ip_address: |
474 | 172 | sudo_user = os.getenv('SUDO_USER') | 170 | sudo_user = os.getenv('SUDO_USER') |
475 | 173 | if sudo_user: | 171 | if sudo_user: |
476 | @@ -183,10 +181,10 @@ | |||
477 | 183 | if ipmi.has_bmc(args.hostname): | 181 | if ipmi.has_bmc(args.hostname): |
478 | 184 | ipmi.main(args.hostname, 'chassis', 'bootdev', 'pxe') | 182 | ipmi.main(args.hostname, 'chassis', 'bootdev', 'pxe') |
479 | 185 | 183 | ||
481 | 186 | if args.monitor and has_console(args.hostname): | 184 | if args.install_monitor and has_console(args.hostname): |
482 | 187 | # Start the monitor before resetting the board, so that it doesn't | 185 | # Start the monitor before resetting the board, so that it doesn't |
483 | 188 | # miss anything from the moment the board powers on. | 186 | # miss anything from the moment the board powers on. |
485 | 189 | monitor = subprocess.Popen([args.monitor, args.hostname]) | 187 | monitor = subprocess.Popen([args.install_monitor, args.hostname]) |
486 | 190 | subprocess.check_call(['pk', 'power', 'on', args.hostname]) | 188 | subprocess.check_call(['pk', 'power', 'on', args.hostname]) |
487 | 191 | exit_status = monitor.wait() | 189 | exit_status = monitor.wait() |
488 | 192 | return exit_status | 190 | return exit_status |
489 | @@ -196,6 +194,12 @@ | |||
490 | 196 | raw_input() | 194 | raw_input() |
491 | 197 | return 0 | 195 | return 0 |
492 | 198 | 196 | ||
493 | 197 | def boot_monitor(args): | ||
494 | 198 | if args.boot_monitor and has_console(args.hostname): | ||
495 | 199 | monitor = subprocess.Popen([args.boot_monitor, args.hostname]) | ||
496 | 200 | exit_status = monitor.wait() | ||
497 | 201 | return exit_status | ||
498 | 202 | |||
499 | 199 | 203 | ||
500 | 200 | def assign_defaults(args): | 204 | def assign_defaults(args): |
501 | 201 | local_setup = config.get_config() | 205 | local_setup = config.get_config() |
502 | @@ -211,7 +215,8 @@ | |||
503 | 211 | keywords_to_apply = itertools.chain(default['default_keywords'], | 215 | keywords_to_apply = itertools.chain(default['default_keywords'], |
504 | 212 | machine_keywords, | 216 | machine_keywords, |
505 | 213 | args.keywords) | 217 | args.keywords) |
507 | 214 | settings_to_apply = ['kernel', 'initrd', 'preseed', 'kopts', 'monitor'] | 218 | settings_to_apply = ['kernel', 'initrd', 'preseed', 'kopts', |
508 | 219 | 'boot_monitor', 'install_monitor'] | ||
509 | 215 | 220 | ||
510 | 216 | for keyword in keywords_to_apply: | 221 | for keyword in keywords_to_apply: |
511 | 217 | keyword_assignments.update(default['keyword_map'][keyword]) | 222 | keyword_assignments.update(default['keyword_map'][keyword]) |
512 | @@ -248,6 +253,7 @@ | |||
513 | 248 | pass | 253 | pass |
514 | 249 | 254 | ||
515 | 250 | if 'ssh_key' not in os.environ: | 255 | if 'ssh_key' not in os.environ: |
516 | 256 | SSH_ID_RSA_PUB_FILE = os.path.join(HOME, '.ssh', 'id_rsa.pub') | ||
517 | 251 | try: | 257 | try: |
518 | 252 | f = open(SSH_ID_RSA_PUB_FILE, 'r') | 258 | f = open(SSH_ID_RSA_PUB_FILE, 'r') |
519 | 253 | except IOError, e: | 259 | except IOError, e: |
520 | @@ -266,7 +272,8 @@ | |||
521 | 266 | parser.add_argument('--initrd') | 272 | parser.add_argument('--initrd') |
522 | 267 | parser.add_argument('--preseed') | 273 | parser.add_argument('--preseed') |
523 | 268 | parser.add_argument('--kopts') | 274 | parser.add_argument('--kopts') |
525 | 269 | parser.add_argument('--monitor') | 275 | parser.add_argument('--boot-monitor') |
526 | 276 | parser.add_argument('--install-monitor') | ||
527 | 270 | parser.add_argument('--ip-address') | 277 | parser.add_argument('--ip-address') |
528 | 271 | parser.add_argument('--usb-spl') | 278 | parser.add_argument('--usb-spl') |
529 | 272 | parser.add_argument('--tries', type=int, default=1) | 279 | parser.add_argument('--tries', type=int, default=1) |
530 | @@ -319,7 +326,7 @@ | |||
531 | 319 | print "Removing temporary cobbler config" | 326 | print "Removing temporary cobbler config" |
532 | 320 | cobbler_teardown(*context) | 327 | cobbler_teardown(*context) |
533 | 321 | teardown_functions.append(teardown_cobbler) | 328 | teardown_functions.append(teardown_cobbler) |
535 | 322 | 329 | ||
536 | 323 | if args.usb_spl: | 330 | if args.usb_spl: |
537 | 324 | mkdir_p(USBBOOT_DEVPATH_DIR) | 331 | mkdir_p(USBBOOT_DEVPATH_DIR) |
538 | 325 | usbboot_devpath = os.path.join(USBBOOT_DEVPATH_DIR, args.usb_spl) | 332 | usbboot_devpath = os.path.join(USBBOOT_DEVPATH_DIR, args.usb_spl) |
539 | @@ -328,7 +335,7 @@ | |||
540 | 328 | os.unlink(usbboot_devpath) | 335 | os.unlink(usbboot_devpath) |
541 | 329 | teardown_functions.append(teardown_usb_spl) | 336 | teardown_functions.append(teardown_usb_spl) |
542 | 330 | 337 | ||
544 | 331 | exit_status = do_boot(args) | 338 | exit_status = do_install(args) |
545 | 332 | 339 | ||
546 | 333 | finally: | 340 | finally: |
547 | 334 | for f in teardown_functions: | 341 | for f in teardown_functions: |
548 | @@ -336,16 +343,27 @@ | |||
549 | 336 | 343 | ||
550 | 337 | # Exit if the monitor reported a problem | 344 | # Exit if the monitor reported a problem |
551 | 338 | if exit_status: | 345 | if exit_status: |
553 | 339 | print >>sys.stderr, 'Monitor returned status %d' % exit_status | 346 | print >>sys.stderr, 'Install Monitor returned status %d' % exit_status |
554 | 347 | return exit_status | ||
555 | 348 | |||
556 | 349 | exit_status = boot_monitor(args) | ||
557 | 350 | # Exit if the monitor reported a problem | ||
558 | 351 | if exit_status: | ||
559 | 352 | print >>sys.stderr, 'Boot Monitor returned status %d' % exit_status | ||
560 | 340 | return exit_status | 353 | return exit_status |
561 | 341 | 354 | ||
562 | 342 | if args.ip_address: | 355 | if args.ip_address: |
563 | 356 | SSH_KNOWN_HOSTS_FILE = os.path.join(HOME, '.ssh', 'known_hosts') | ||
564 | 343 | keyscan = subprocess.Popen(['ssh-keyscan', args.ip_address], | 357 | keyscan = subprocess.Popen(['ssh-keyscan', args.ip_address], |
565 | 344 | stdout=subprocess.PIPE) | 358 | stdout=subprocess.PIPE) |
566 | 345 | keyscan_output = keyscan.communicate()[0] | 359 | keyscan_output = keyscan.communicate()[0] |
567 | 346 | if keyscan.returncode: | 360 | if keyscan.returncode: |
568 | 347 | sys.exit(keyscan.returncode) | 361 | sys.exit(keyscan.returncode) |
570 | 348 | with open(SSH_KNOWN_HOSTS_FILE, 'a') as f: | 362 | if os.path.exists(SSH_KNOWN_HOSTS_FILE): |
571 | 363 | fmode = 'a' | ||
572 | 364 | else: | ||
573 | 365 | fmode = 'w' | ||
574 | 366 | with open(SSH_KNOWN_HOSTS_FILE, fmode) as f: | ||
575 | 349 | f.write(keyscan_output) | 367 | f.write(keyscan_output) |
576 | 350 | 368 | ||
577 | 351 | return 0 | 369 | return 0 |
578 | 352 | 370 | ||
579 | === added file 'preseed.amd64' | |||
580 | --- preseed.amd64 1970-01-01 00:00:00 +0000 | |||
581 | +++ preseed.amd64 2014-02-07 20:43:02 +0000 | |||
582 | @@ -0,0 +1,69 @@ | |||
583 | 1 | d-i anna/choose_modules string network-console parted-udeb | ||
584 | 2 | d-i network-console/password password ubuntu | ||
585 | 3 | d-i network-console/password-again password ubuntu | ||
586 | 4 | d-i network-console/start note | ||
587 | 5 | d-i clock-setup/ntp boolean true | ||
588 | 6 | d-i clock-setup/ntp-server string ntp.ubuntu.com | ||
589 | 7 | d-i clock-setup/utc-auto boolean true | ||
590 | 8 | d-i console-setup/ask_detect boolean false | ||
591 | 9 | d-i debian-installer/exit/restart boolean true | ||
592 | 10 | d-i finish-install/reboot_in_progress note | ||
593 | 11 | d-i pkgsel/upgrade select full-upgrade | ||
594 | 12 | d-i pkgsel/update-policy select none | ||
595 | 13 | d-i pkgsel/updatedb boolean false | ||
596 | 14 | d-i netcfg/get_hostname string unassigned-hostname | ||
597 | 15 | d-i netcfg/get_domain string unassigned-domain | ||
598 | 16 | d-i partman-auto/disk string /dev/sda | ||
599 | 17 | d-i partman-auto/method string regular | ||
600 | 18 | d-i partman-auto/purge_lvm_from_device boolean true | ||
601 | 19 | d-i partman-lvm/device_remove_lvm boolean true | ||
602 | 20 | d-i partman-md/device_remove_md boolean true | ||
603 | 21 | d-i partman-auto/expert_recipe string \ | ||
604 | 22 | boot-root :: \ | ||
605 | 23 | 256 256 256 ext3 \ | ||
606 | 24 | $primary{{ }} $bootable{{ }} \ | ||
607 | 25 | method{{ format }} format{{ }} \ | ||
608 | 26 | use_filesystem{{ }} filesystem{{ ext3 }} \ | ||
609 | 27 | mountpoint{{ /boot }} \ | ||
610 | 28 | . \ | ||
611 | 29 | 100000 100000 100000 ext4 \ | ||
612 | 30 | $primary{{ }} \ | ||
613 | 31 | method{{ format }} format{{ }} \ | ||
614 | 32 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
615 | 33 | mountpoint{{ / }} \ | ||
616 | 34 | . \ | ||
617 | 35 | 1100 1100 1100 linux-swap \ | ||
618 | 36 | method{{ swap }} format{{ }} \ | ||
619 | 37 | . \ | ||
620 | 38 | 20000 20000 20000 ext4 \ | ||
621 | 39 | method{{ format }} format{{ }} \ | ||
622 | 40 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
623 | 41 | label{{ TEST }} \ | ||
624 | 42 | mountpoint{{ /test }} \ | ||
625 | 43 | . \ | ||
626 | 44 | 100 100 100 ext4 \ | ||
627 | 45 | method{{ format }} format{{ }} \ | ||
628 | 46 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
629 | 47 | label{{ DELETEME }} \ | ||
630 | 48 | mountpoint{{ /tmp/deleteme }} \ | ||
631 | 49 | . | ||
632 | 50 | d-i partman-partitioning/confirm_write_new_label boolean true | ||
633 | 51 | d-i partman/choose_partition select finish | ||
634 | 52 | d-i partman/confirm boolean true | ||
635 | 53 | d-i partman/confirm_nooverwrite boolean true | ||
636 | 54 | d-i partman/mount_style select traditional | ||
637 | 55 | d-i passwd/user-fullname string Ubuntu | ||
638 | 56 | d-i passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4. | ||
639 | 57 | d-i passwd/username string ubuntu | ||
640 | 58 | d-i user-setup/allow-password-weak boolean true | ||
641 | 59 | d-i base-installer/kernel/override-image string linux-server | ||
642 | 60 | d-i debian-installer/splash boolean false | ||
643 | 61 | d-i pkgsel/install-language-support boolean false | ||
644 | 62 | d-i pkgsel/language-pack-patterns string | ||
645 | 63 | d-i pkgsel/include string openssh-server | ||
646 | 64 | d-i mirror/country string manual | ||
647 | 65 | d-i mirror/http/hostname string archive.ubuntu.com | ||
648 | 66 | d-i mirror/http/directory string /ubuntu | ||
649 | 67 | d-i mirror/http/proxy string {http_proxy} | ||
650 | 68 | d-i debian-installer/locale string C | ||
651 | 69 | d-i preseed/late_command string echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/pandakit; chmod 0440 /target/etc/sudoers.d/pandakit; mkdir -m700 -p /target/root/.ssh; echo {ssh_key} > /target/root/.ssh/authorized_keys; echo http_proxy={http_proxy} >> /target/etc/environment; mkdir -m700 -p /target/home/ubuntu/.ssh; cp /target/root/.ssh/authorized_keys /target/home/ubuntu/.ssh/; in-target chown -R ubuntu. /home/ubuntu/.ssh; umount -f `mount | grep deleteme | cut -f 1 -d " "`; parted /dev/sda rm `grep deleteme /target/etc/fstab | cut -f 1 -d " " | cut -f 2 -d "a"`; sed -i "/deleteme/d" /target/etc/fstab | ||
652 | 0 | 70 | ||
653 | === modified file 'preseed.arm' | |||
654 | --- preseed.arm 2012-07-04 14:00:28 +0000 | |||
655 | +++ preseed.arm 2014-02-07 20:43:02 +0000 | |||
656 | @@ -1,3 +1,7 @@ | |||
657 | 1 | d-i anna/choose_modules string network-console parted-udeb | ||
658 | 2 | d-i network-console/password password ubuntu | ||
659 | 3 | d-i network-console/password-again password ubuntu | ||
660 | 4 | d-i network-console/start note | ||
661 | 1 | d-i clock-setup/ntp boolean true | 5 | d-i clock-setup/ntp boolean true |
662 | 2 | d-i clock-setup/ntp-server string ntp.ubuntu.com | 6 | d-i clock-setup/ntp-server string ntp.ubuntu.com |
663 | 3 | d-i clock-setup/utc-auto boolean true | 7 | d-i clock-setup/utc-auto boolean true |
664 | @@ -16,26 +20,32 @@ | |||
665 | 16 | d-i partman-md/device_remove_md boolean true | 20 | d-i partman-md/device_remove_md boolean true |
666 | 17 | d-i partman-auto/expert_recipe string \ | 21 | d-i partman-auto/expert_recipe string \ |
667 | 18 | boot-root :: \ | 22 | boot-root :: \ |
669 | 19 | 256 256 256 ext4 \ | 23 | 256 256 256 ext3 \ |
670 | 20 | $primary{{ }} $bootable{{ }} \ | 24 | $primary{{ }} $bootable{{ }} \ |
671 | 21 | method{{ format }} format{{ }} \ | 25 | method{{ format }} format{{ }} \ |
673 | 22 | use_filesystem{{ }} filesystem{{ ext4 }} \ | 26 | use_filesystem{{ }} filesystem{{ ext3 }} \ |
674 | 23 | mountpoint{{ /boot }} \ | 27 | mountpoint{{ /boot }} \ |
675 | 24 | . \ | 28 | . \ |
677 | 25 | 4000 10000 20000 ext4 \ | 29 | 100000 100000 100000 ext4 \ |
678 | 26 | $primary{{ }} \ | 30 | $primary{{ }} \ |
681 | 27 | method{{ format }} format{{ }} \ | 31 | method{{ format }} format{{ }} \ |
682 | 28 | use_filesystem{{ }} filesystem{{ ext4 }} \ | 32 | use_filesystem{{ }} filesystem{{ ext4 }} \ |
683 | 29 | mountpoint{{ / }} \ | 33 | mountpoint{{ / }} \ |
684 | 30 | . \ | 34 | . \ |
687 | 31 | 1100 1100 1100 linux-swap \ | 35 | 1100 1100 1100 linux-swap \ |
688 | 32 | method{{ swap }} format{{ }} \ | 36 | method{{ swap }} format{{ }} \ |
689 | 33 | . \ | 37 | . \ |
691 | 34 | 500 10000 1000000 ext4 \ | 38 | 20000 20000 20000 ext4 \ |
692 | 35 | method{{ format }} format{{ }} \ | 39 | method{{ format }} format{{ }} \ |
693 | 36 | use_filesystem{{ }} filesystem{{ ext4 }} \ | 40 | use_filesystem{{ }} filesystem{{ ext4 }} \ |
694 | 37 | label{{ TEST }} \ | 41 | label{{ TEST }} \ |
695 | 38 | mountpoint{{ /test }} \ | 42 | mountpoint{{ /test }} \ |
696 | 43 | . \ | ||
697 | 44 | 100 100 100 ext4 \ | ||
698 | 45 | method{{ format }} format{{ }} \ | ||
699 | 46 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
700 | 47 | label{{ DELETEME }} \ | ||
701 | 48 | mountpoint{{ /tmp/deleteme }} \ | ||
702 | 39 | . | 49 | . |
703 | 40 | d-i partman-partitioning/confirm_write_new_label boolean true | 50 | d-i partman-partitioning/confirm_write_new_label boolean true |
704 | 41 | d-i partman/choose_partition select finish | 51 | d-i partman/choose_partition select finish |
705 | @@ -56,4 +66,4 @@ | |||
706 | 56 | d-i mirror/http/directory string /ubuntu-ports | 66 | d-i mirror/http/directory string /ubuntu-ports |
707 | 57 | d-i mirror/http/proxy string {http_proxy} | 67 | d-i mirror/http/proxy string {http_proxy} |
708 | 58 | d-i debian-installer/locale string C | 68 | d-i debian-installer/locale string C |
710 | 59 | d-i preseed/late_command string echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/pandakit; chmod 0440 /target/etc/sudoers.d/pandakit; mkdir -m700 -p /target/root/.ssh; echo {ssh_key} > /target/root/.ssh/authorized_keys; echo http_proxy={http_proxy} >> /target/etc/environment; mkdir -m700 -p /target/home/ubuntu/.ssh; cp /target/root/.ssh/authorized_keys /target/home/ubuntu/.ssh/; in-target chown -R ubuntu. /home/ubuntu/.ssh | 69 | d-i preseed/late_command string echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/pandakit; chmod 0440 /target/etc/sudoers.d/pandakit; mkdir -m700 -p /target/root/.ssh; echo {ssh_key} > /target/root/.ssh/authorized_keys; echo http_proxy={http_proxy} >> /target/etc/environment; mkdir -m700 -p /target/home/ubuntu/.ssh; cp /target/root/.ssh/authorized_keys /target/home/ubuntu/.ssh/; in-target chown -R ubuntu. /home/ubuntu/.ssh; umount -f `mount | grep deleteme | cut -f 1 -d " "`; parted /dev/sda rm `grep deleteme /target/etc/fstab | cut -f 1 -d " " | cut -f 2 -d "a"`; sed -i "/deleteme/d" /target/etc/fstab |
711 | 60 | 70 | ||
712 | === added file 'preseed.ml' | |||
713 | --- preseed.ml 1970-01-01 00:00:00 +0000 | |||
714 | +++ preseed.ml 2014-02-07 20:43:02 +0000 | |||
715 | @@ -0,0 +1,65 @@ | |||
716 | 1 | d-i anna/choose_modules string network-console parted-udeb | ||
717 | 2 | d-i network-console/password password ubuntu | ||
718 | 3 | d-i network-console/password-again password ubuntu | ||
719 | 4 | d-i network-console/start note | ||
720 | 5 | d-i clock-setup/ntp boolean true | ||
721 | 6 | d-i clock-setup/ntp-server string ntp.ubuntu.com | ||
722 | 7 | d-i clock-setup/utc-auto boolean true | ||
723 | 8 | d-i console-setup/ask_detect boolean false | ||
724 | 9 | d-i debian-installer/exit/restart boolean true | ||
725 | 10 | d-i finish-install/reboot_in_progress note | ||
726 | 11 | d-i pkgsel/upgrade select full-upgrade | ||
727 | 12 | d-i pkgsel/update-policy select none | ||
728 | 13 | d-i pkgsel/updatedb boolean false | ||
729 | 14 | d-i netcfg/get_hostname string unassigned-hostname | ||
730 | 15 | d-i netcfg/get_domain string unassigned-domain | ||
731 | 16 | d-i partman-auto/disk string /dev/sda | ||
732 | 17 | d-i partman-auto/method string regular | ||
733 | 18 | d-i partman-auto/purge_lvm_from_device boolean true | ||
734 | 19 | d-i partman-lvm/device_remove_lvm boolean true | ||
735 | 20 | d-i partman-md/device_remove_md boolean true | ||
736 | 21 | d-i partman-auto/expert_recipe string \ | ||
737 | 22 | boot-root :: \ | ||
738 | 23 | 256 256 256 ext3 \ | ||
739 | 24 | $primary{{ }} $bootable{{ }} \ | ||
740 | 25 | method{{ format }} format{{ }} \ | ||
741 | 26 | use_filesystem{{ }} filesystem{{ ext3 }} \ | ||
742 | 27 | mountpoint{{ /boot }} \ | ||
743 | 28 | . \ | ||
744 | 29 | 100000 100000 100000 ext4 \ | ||
745 | 30 | $primary{{ }} \ | ||
746 | 31 | method{{ format }} format{{ }} \ | ||
747 | 32 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
748 | 33 | mountpoint{{ / }} \ | ||
749 | 34 | . \ | ||
750 | 35 | 1100 1100 1100 linux-swap \ | ||
751 | 36 | method{{ swap }} format{{ }} \ | ||
752 | 37 | . \ | ||
753 | 38 | 20000 20000 20000 ext4 \ | ||
754 | 39 | method{{ format }} format{{ }} \ | ||
755 | 40 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
756 | 41 | label{{ TEST }} \ | ||
757 | 42 | mountpoint{{ /test }} \ | ||
758 | 43 | . \ | ||
759 | 44 | 100 100 100 ext4 \ | ||
760 | 45 | method{{ format }} format{{ }} \ | ||
761 | 46 | use_filesystem{{ }} filesystem{{ ext4 }} \ | ||
762 | 47 | label{{ DELETEME }} \ | ||
763 | 48 | mountpoint{{ /tmp/deleteme }} \ | ||
764 | 49 | . | ||
765 | 50 | d-i partman-partitioning/confirm_write_new_label boolean true | ||
766 | 51 | d-i partman/choose_partition select finish | ||
767 | 52 | d-i partman/confirm boolean true | ||
768 | 53 | d-i partman/confirm_nooverwrite boolean true | ||
769 | 54 | d-i partman/mount_style select traditional | ||
770 | 55 | d-i passwd/user-fullname string Ubuntu | ||
771 | 56 | d-i passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4. | ||
772 | 57 | d-i passwd/username string ubuntu | ||
773 | 58 | d-i user-setup/allow-password-weak boolean true | ||
774 | 59 | d-i base-installer/kernel/override-image string linux-server | ||
775 | 60 | d-i debian-installer/splash boolean false | ||
776 | 61 | d-i pkgsel/install-language-support boolean false | ||
777 | 62 | d-i pkgsel/language-pack-patterns string | ||
778 | 63 | d-i pkgsel/include string openssh-server | ||
779 | 64 | d-i debian-installer/locale string C | ||
780 | 65 | d-i preseed/late_command string echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/pandakit; chmod 0440 /target/etc/sudoers.d/pandakit; mkdir -m700 -p /target/root/.ssh; echo {ssh_key} > /target/root/.ssh/authorized_keys; echo http_proxy={http_proxy} >> /target/etc/environment; mkdir -m700 -p /target/home/ubuntu/.ssh; cp /target/root/.ssh/authorized_keys /target/home/ubuntu/.ssh/; in-target chown -R ubuntu. /home/ubuntu/.ssh; umount -f `mount | grep deleteme | cut -f 1 -d " "`; parted /dev/sda rm `grep deleteme /target/etc/fstab | cut -f 1 -d " " | cut -f 2 -d "a"`; sed -i "/deleteme/d" /target/etc/fstab | ||
781 | 0 | 66 | ||
782 | === added file 'preseed.remote' | |||
783 | --- preseed.remote 1970-01-01 00:00:00 +0000 | |||
784 | +++ preseed.remote 2014-02-07 20:43:02 +0000 | |||
785 | @@ -0,0 +1,28 @@ | |||
786 | 1 | d-i clock-setup/ntp boolean true | ||
787 | 2 | d-i clock-setup/ntp-server string ntp.ubuntu.com | ||
788 | 3 | d-i clock-setup/utc-auto boolean true | ||
789 | 4 | d-i console-setup/ask_detect boolean false | ||
790 | 5 | d-i pkgsel/upgrade select full-upgrade | ||
791 | 6 | d-i pkgsel/update-policy select none | ||
792 | 7 | d-i pkgsel/updatedb boolean false | ||
793 | 8 | d-i netcfg/get_hostname string unassigned-hostname | ||
794 | 9 | d-i netcfg/get_domain string unassigned-domain | ||
795 | 10 | d-i anna/choose_modules string network-console | ||
796 | 11 | d-i network-console/password password uinst | ||
797 | 12 | d-i network-console/password-again password uinst | ||
798 | 13 | d-i passwd/user-fullname string Ubuntu | ||
799 | 14 | d-i passwd/user-password-crypted password $6$.1eHH0iY$ArGzKX2YeQ3G6U.mlOO3A.NaL22Ewgz8Fi4qqz.Ns7EMKjEJRIW2Pm/TikDptZpuu7I92frytmk5YeL.9fRY4. | ||
800 | 15 | d-i passwd/username string ubuntu | ||
801 | 16 | d-i user-setup/allow-password-weak boolean true | ||
802 | 17 | d-i base-installer/kernel/override-image string linux-server | ||
803 | 18 | d-i debian-installer/splash boolean false | ||
804 | 19 | d-i pkgsel/install-language-support boolean false | ||
805 | 20 | d-i pkgsel/language-pack-patterns string | ||
806 | 21 | d-i pkgsel/include string openssh-server | ||
807 | 22 | d-i mirror/country string manual | ||
808 | 23 | d-i mirror/http/hostname string ports.ubuntu.com | ||
809 | 24 | d-i mirror/http/directory string /ubuntu-ports | ||
810 | 25 | d-i mirror/http/proxy string {http_proxy} | ||
811 | 26 | d-i mirror/suite string precise | ||
812 | 27 | d-i debian-installer/locale string C | ||
813 | 28 | d-i preseed/late_command string echo "ubuntu ALL=(ALL) NOPASSWD: ALL" > /target/etc/sudoers.d/pandakit; chmod 0440 /target/etc/sudoers.d/pandakit; mkdir -m700 -p /target/root/.ssh; echo {ssh_key} > /target/root/.ssh/authorized_keys; echo http_proxy={http_proxy} >> /target/etc/environment; mkdir -m700 -p /target/home/ubuntu/.ssh; cp /target/root/.ssh/authorized_keys /target/home/ubuntu/.ssh/; in-target chown -R ubuntu. /home/ubuntu/.ssh |