14 | | This web page has been written following multiple discussions around these topics with J. Vance, B. Gartner, L. Mayes, G. Renaud, L. Bouchard and many others. |
15 | | |
16 | | = Technical ideas around a dploy.org project = |
17 | | |
18 | | * use a standard protocol such as HTTP, and apache+wget to allow communication between the machine deployed and and deployment server. This would be the prefered way of exchanging informations (hw inventory typically) |
19 | | * mindi (minimal boot environement) could be used on the machine deployed at first run, through media or PXE. Or it could also be launched on an already deployed server. |
20 | | * mindi could also integrate other required components such as lshw, ssst tools, or other manufacturer tools based on a future set of configuration files provided in mindi 2.x |
21 | | * the inventory is stored in the server DB (standalone RDBMS, or integrated in another tool) and will be maintained as oprations are made on the machine, as well as some status. |
22 | | * following reboot of the server will trigger the installtion planned (deployment through LinuxCOE or image deployment with mondo) |
23 | | * Full support of proliant hardware (ILO - Raid - Firmware updates) |
24 | | * For security reason most of the scripts run as dploy user (not root) |
25 | | |
26 | | == Interface functions == |
27 | | |
28 | | * list of servers (automatic addition of PXE based servers, manual addition for others) |
29 | | * assigning a task to a machine/group of machines |
30 | | * (proliant) manage already discovered servers (power on, off... ILO functions) |
31 | | * delete servers to restart discovery / installation |
32 | | * group servers to apply the same job to multiple servers |
33 | | * (proliant) firmware update |
34 | | * (proliant) link to admin page (2381) |
35 | | * link to webmin page (10000) |
36 | | * (proliant) link to ACU (started on demand before launching the interface) |
37 | | * launch any commands thru SSH (password or public key protected) |
38 | | * launch an imaging job |
39 | | |
40 | | == Proposed Requirements == |
41 | | |
42 | | * Perl |
43 | | * Perl DBI |
44 | | * dhcpd |
45 | | * MySQL, PostgreSQL or file |
46 | | * Perl CGI or TT |
47 | | * tftpd |
48 | | * pxelinux |
| 15 | * use perl. It makes coding so more efficient, powerful and also fun |
| 16 | * use AppConfig. A lot of information is managed under a configuration file format and AppConfig makes it tivial to handle them. |