| 1 | -*- outline -*- |
|---|
| 2 | |
|---|
| 3 | * PXE Manager |
|---|
| 4 | |
|---|
| 5 | The idea is to build an automaton to control when to boot from the |
|---|
| 6 | local drives and when to boot from the network. |
|---|
| 7 | |
|---|
| 8 | The systems can be used to run automated tests. You can also use this |
|---|
| 9 | system only to provision on demand systems. |
|---|
| 10 | |
|---|
| 11 | The systems must be configured to always boot over PXE. |
|---|
| 12 | |
|---|
| 13 | ** Install |
|---|
| 14 | |
|---|
| 15 | - edit the database and PXE config in the settings.py according to |
|---|
| 16 | your local setup. |
|---|
| 17 | |
|---|
| 18 | - you need python-django installed. |
|---|
| 19 | |
|---|
| 20 | - run ./manage.py syncdb to create the needed sql tables. |
|---|
| 21 | |
|---|
| 22 | - create the PXE profiles in pxelinux.cfg/profiles/ ending in |
|---|
| 23 | .prof. The local.prof is mandatory and must point to a local boot |
|---|
| 24 | config. The user running the scripts must have the right to write in |
|---|
| 25 | pxelinux.cfg. I usually create a group and put it under control of |
|---|
| 26 | the files under pxelinux.cfg. |
|---|
| 27 | |
|---|
| 28 | - export these 2 environment variables: |
|---|
| 29 | DJANGO_SETTINGS_MODULE=settings and PYTHONPATH=$PWD. |
|---|
| 30 | |
|---|
| 31 | - run ./pxe/syncbootnames to add the names of the PXE profiles in the |
|---|
| 32 | database. |
|---|
| 33 | |
|---|
| 34 | - add the systems that you want to control by this system like this: |
|---|
| 35 | ./pxe/addsystem <name> <mac address> [<mac address 2>...] |
|---|
| 36 | |
|---|
| 37 | - set which profile you want your system to PXE boot: |
|---|
| 38 | ./pxe/nextboot <name> <profile name> |
|---|
| 39 | |
|---|
| 40 | - run ./manage.py runserver <ip addr>:<port> to have a web server |
|---|
| 41 | waiting for requests to boot locally. You can also configure django |
|---|
| 42 | to use apache instead of the little embedded server. |
|---|
| 43 | |
|---|
| 44 | - then your PXE runs must access the following web page |
|---|
| 45 | http://<ipaddr>:<port>/localboot/<mac addr>/ to request a local boot |
|---|
| 46 | before rebooting else the PXE boot will continue to loop on the same |
|---|
| 47 | install. |
|---|