Hotwire Documentation

..


Pre-Installation Guide/Requirements

Building Hotwire from Source

Hotwire depends on  CMake, the cross-platform make system.

 <<<— TODO: Instructions Required —>>> 

Building RPMs from Source

You can build Hotwire rpms for RHEL 4.X, and RHEL 5.X, spec files for hotwire and hotwire dependencies are available  here.

 <<<— TODO: Instructions Required —>>> 

Building DEBs from Source

 <<<— TODO: Instructions Required —>>> 

Skills

The administrator of hotwire is expected to be comfortable with:

  1. Perl extended regular expressions (to administer restrict.conf)
  2. Unix configuration files

ISO Images, TFTP images, AutoFS Mountpoints, PXE Configuration, DHCP configuration

Most of what's mentioned in the title is actually managed by Hotwire and hidden away from the user.

Also note that the PXE technology is actually a combination of DHCP and TFTP services, and this is how Hotwire implementes PXE, there is no dependency on any explicite PXE service.

The only things that the user needs to worry about is supplying hotwire with the ISO images. When you run hotwire rbd, you will get an error for any missing ISO images, which will tell you exactly where hotwire expects to find them.

You can also change the root of the ISO images by simply editing the Hotwire configuration file, hotwire.conf.

Once the images are in place, Hotwire will set up {{autofs}}}, and also extract the initrd and vmlinuz images out of them and place them in the TFTP area.

Well-Known OperatingSystem:IDs

  • redhat: Red Hat:Kickstart
  • suse: SuSE:AutoYaST
  • debian: Debian:Preseed

Post-Installation Guide

Ok, you have installed the Hotwire Suite, now what?

One of the goals of Hotwire is to be intuitive; one attempt to achieve this has been to provide suitable user-feedback. Simply run hotwire init, and Hotwire will tell you exactly what concerns (warnings) it may have, and what errors it encounters.

Ofcourse a fresh install is garanteed to fail on hotwire init; you must first configure it.

 <<<— TODO: Jo please verify the following —>>> 

  1. Edit hotwire.conf
    1. [Generic][http_server] = <Apache Virtualhost for hotwire>
      • Yes, it has to be a virtual host!
    2. [Web][init_script] = <Apache init.d script name>
    3. [Generic][dhcp_init_script] = <DHCPD init.d Script>
    4. [Generic][iso_d] = <Absolute path to your ISO root>
    5. [Generic][tftp_root] = <Absolute path to your TFTP root>
    6. [Generic][pxe_d] = <Relative path from your TFTP, to your PXE directory>
      • Hence we should find
        1. [tftp_root]/[pxe_d]/pxelinux.0
        2. [tftp_root]/[pxe_d]/pxelinux.cfg/
        3. [tftp_root]/[pxe_d]/RedHat/...<see-above>
    7. [Database][*] = <Your Oracle Database Settings>
    8. [Kickstart][org_cc] = <Your Organization's Custom RHN Channel>
    9. [Kickstart][org_gpg_key] = <Your Organization's GPG Key>
    10. [Kickstart][rhn_reg_method] = (key|passwd)
      • If you choose key, the bonus is security, the downside is that the box will register with a `Management' license.
        • Set [Kickstart][rhn_ak] = <Your Company's Custom RHN Key>
      • If you choose password, the bonus is that the box will register with `Update' (if that is indeed a bonus for you), but the downside is that you will have your clear-text password visible to anyone who has access to that file.
        • Set [Kickstart][rhn_un] and [Kickstart][rhn_pw]
    11. [RBD][root_passwd] = <Clear-Text Password>
    12. Make sure that the Apache user can reload the DHCP daemon without a password (apache ALL=(ALL) NOPASSWD:/usr/lib/kickme/libexec/dhcp-restart)
    13. Append `include "/etc/kickme/dhcpd.conf";' in your main dhcpd.conf
    14. Append `include /etc/kickme/apache.conf' in your main apache.conf
    15. Run `make' under /etc/kickme/.
    16. Place your company logo in /var/www/kickme/lib/img/logo.gif.
    17. Install and configure the Oracle Instant Client v8 (see INSTALL.oci8)
    18. Goto the web interface as configured in part `a'.

  1. The /etc/kickme/restrict.conf has decent defaults, however you may wish to modify them as you please over time. Basically, this file gives you a fine-grained ability to control what can be entered into the database via perl-regular expressions, per database table, per column.

Please note that some fields should not be changed, so until version 1.0 of kickme when these are moved out of this config file and locked in, you need to be very careful, to start with, try and just work with the defaults and forward any question to me.

  1. The example syslog-ng.conf can be applied to your setup; it will monitor any log traffic to facility local6 and based on the program, redirect it to a given kickme log file.

  1. Now, time to prime your database with some decent good defaults.
    1. Goto the `Inventory Admin' page,
    2. Click core' under Creation' to setup the tables.
    3. Click user' under Creation' to create user-defined views.
    4. Now the standard files should be visible, import the following tables, making sure that the lower numbered ones go first, or the recommended way is to simply click on the `All' button which will take care of all that for you. This initial import populates the vital tables such as machine architecture, as well as some examples from other tables to get you going as documentation is still in sparse.
  1. To view the kickstart script for any given server, goto `Rapid Deploy', Kickstart' and either select server by name' or `ip'. On this page serves as a checkup for you to make sure that the script a given server is going to receive is correct.
  1. This document is still incomplete, keep tuned and please email me if you have any questions.

cd ..