<?xml version="1.0" encoding="utf-8"?><!DOCTYPE article  PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'  'http://www.docbook.org/xml/4.4/docbookx.dtd'><article><articleinfo><title>AutomatedSystemInstall</title><revhistory><revision><revnumber>3</revnumber><date>2014-04-29 05:28:18</date><authorinitials>ClintonEbadi</authorinitials><revremark>wheezy preseed</revremark></revision><revision><revnumber>2</revnumber><date>2012-12-20 21:58:49</date><authorinitials>ClintonEbadi</authorinitials></revision><revision><revnumber>1</revnumber><date>2012-12-20 21:50:23</date><authorinitials>ClintonEbadi</authorinitials><revremark>move content from fritzvirtualization</revremark></revision></revhistory></articleinfo><para>We are using <ulink url="http://wiki.debian.org/DebianInstaller/Preseed">Debian installer preseeding</ulink> along with <ulink url="http://debathena.mit.edu/config-packages/">Debathena's config-package-dev</ulink> infrastructure (see <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/ConfigurationManagement#">ConfigurationManagement</ulink>) to automate the installation of new nodes. </para><para>The <ulink url="http://git.hcoop.net/?p=hcoop/machine-template.git;a=summary">machine template</ulink> git repository stores the current preseeds and post-installation scripts. The preseed sets reasonable defaults for things like openafs and kerberos, and then installs common configuration packages needed for a minimal machine that accepts <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/MitKerberos#">MitKerberos</ulink> logins from <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/AndrewFileSystem#">AndrewFileSystem</ulink> users. After install, a post installation script is used to personalize the machine for its specific purpose and extract things like the host key (admin node, user node, web server, etc.). </para><para>For concrete information on installation using the preseed, see <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/InstallationProcedure#">InstallationProcedure</ulink>. </para><section><title>Partitioning Scheme</title><para><emphasis>TODO: explain the automatic partition scheme, recommended disk sizes, etc.</emphasis> </para></section><section><title>Installing with Preseed</title><para>Boot the installer using the command line: </para><screen><![CDATA[auto url=http://hcoop.net/~clinton_admin/preseed-wheezy.cfg]]></screen><para>You'll have to enter a few questions about language and keyboard (the defaults of English are ok), and then configure the network. Afterward, the installer will complete itself and reboot. You should then see something like: </para><para><inlinemediaobject><imageobject><imagedata fileref="http://unknownlamer.org/tmp/proof.png"/></imageobject><textobject><phrase>http://unknownlamer.org/tmp/proof.png</phrase></textobject></inlinemediaobject> </para></section><section><title>Long Term Goals</title><para>Adding a new machine to our existing infrastructure has a number of points where manual intervention is needed. Some, but probably not all: </para><itemizedlist><listitem><para>Mail routing </para></listitem><listitem><para>Creating the kerberos host key </para></listitem><listitem><para>Adding as a <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/DomTool#">DomTool</ulink> deploy target and slave/server </para></listitem><listitem><para>Creating dns entries </para></listitem></itemizedlist><para>Not all of them can be automated, but at least some of them could be scripted together. </para><para>The post installation procedure also a few warts. Chief among them is that it's done using a hacky shell script. Ideally, we would support automatic re-installs too (recording things like installed packages, node specific information, etc.). </para><para>For fully automatic installs (including network setup), we should use something like <ulink url="http://debathena.mit.edu/config-packages/">&quot;Hands-off&quot;</ulink> to generate our boot media. </para><!--rule (<hr>) is not applicable to DocBook--><para> <ulink url="https://wiki.hcoop.net/AutomatedSystemInstall/CategorySystemAdministration#">CategorySystemAdministration</ulink> </para></section></article>