Doc/RBD

Hotwire Rapid Build & Deploy System

..


Background

  1. Client awakens, and makes a broadcast request for an IP Address, supplying its MAC Address. In the request it makes it clear that it is a PXE client, and not a standard DHCP client, along with other info such as hostname. All this is ofcourse done by the Network Card designated to PXE boot in the BIOS.

  1. The DHCP Server picks this request, acknowledges that it is indeed a PXE client, and sends it back some good info on what to do next...
      class "pxeclients"{
        match if substring(option vendor-class-identifier,0,9) = "PXEClient";
        next-server 192.168.16.10;
        filename "linux-install/pxelinux.0";
      }
    
    ...a filename to request from the supplied tftp server.

  1. The client now makes a TFTP request for the file described by the DHCP(PXE) Server, directed at the TFTP server.
      linux-install/pxelinux.0
    
  1. The TFTP server sends this to the client.
  1. This file that the TFTP file sends is a small kernel, which adheres to standard the PXE protocol, and once loaded by the client, will ask the tftp for a filename which is its hex-encoded-ip...
      linux-install/pxelinux.cfg/C0A81035
    
  1. The client downloads that file, and on inspection of that file, it discovers what the kernel to boot is, kernel options specific to that kernel...
           kernel RedHat/4.0/ES/x86_64/current/vmlinuz
    
           append ksdevice=eth1 \
                  initrd=RedHat/4.0/ES/x86_64/current/initrd.img \
                  ks=http://153.107.13.21//kickme/kickstart.php
    
  1. The TFTP Server sends the kernel image back, and the client boots it with the kernel options appended, which in turn calls the kickstart script.

Example

[root@up-mas1 ~]# hotwire rbd
 @ Testing Database Connectivity...Good
 @ Testing Database Connectivity...Good
 @ Creating RedHat ISO filesystem heirarchy structure...
   * ISO Summary...
     * Total directories...         19
       * Existing directories...    19
       * New directories...         0
       * Failed directories...      0
 * Loop device count is...256...Done
 @ Testing Database Connectivity...Good
 @ Creating RedHat AutoFS filesystem heirarchy structure...
   * AutoFS Summary...
     * Total directories...         19
       * Existing directories...    19
       * New directories...         0
       * Failed directories...      0
 @ Testing Database Connectivity...Good
 @ Generating RedHat AutoFS configuration files...
 @ Testing Database Connectivity...Good
 @ Creating Novell AutoFS filesystem heirarchy structure...
   * AutoFS Summary...
     * Total directories...         3
       * Existing directories...    3
       * New directories...         0
       * Failed directories...      0
 @ Testing Database Connectivity...Good
 @ Generating Novell AutoFS configuration files...
   * Failed to stat ISO mount directory /u01/app/hwrbd/iso.d/Novell/10.2/server/x86_64.
 @ Testing Database Connectivity...Good
 @ Creating RedHat TFTP filesystem heirarchy structure...
   * TFTP Summary...
     * Total directories...         19
       * Existing directories...    19
       * New directories...         0
       * Failed directories...      0
 @ Testing Database Connectivity...Good
 @ Extracting RedHat PXE images from ISOs...
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/5.0/server/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/2.1/es/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/3.0/es/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/4.0/es/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/2.1/es/x86_64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/4.0/es/ia64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/2.1/as/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/3.0/as/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/4.0/as/ia32/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/2.1/as/x86_64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/3.0/as/x86_64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/4.0/as/ia64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/6.0/Core/ia32/???'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/3.0/es/ia64/disc1/isolinux'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/RedHat/4.0/as/risc/disc1/isolinux'...Failed
 @ Testing Database Connectivity...Good
 @ Creating Novell TFTP filesystem heirarchy structure...
   * TFTP Summary...
     * Total directories...         3
       * Existing directories...    3
       * New directories...         0
       * Failed directories...      0
 @ Testing Database Connectivity...Good
 @ Extracting Novell PXE images from ISOs...
   * Statting base source directory `/u01/app/hwrbd/autofs.d/Novell/10.1/server/x86_64/CD1/boot/loader'...Failed
   * Statting base source directory `/u01/app/hwrbd/autofs.d/Novell/10.2/server/x86_64/CD1/boot/loader'...Failed
     * Reinstalling /tftpboot/linux-install/Novell/9.3/server/x86_64/linux...Replaced
     * Reinstalling /tftpboot/linux-install/Novell/9.3/server/x86_64/initrd...Replaced
 @ Testing Database Connectivity...Good
 @ Configuring PXE services...
   * Removing DHCP configuration for xut-pwc1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for xut-pwc2 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for htuna2-x (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for xutr-as1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpuams1 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us20 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us01nim1 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for us01tdb2 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for us01tdb1 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for us01ddb1 (active dev)...Failed (No PXE Interface)
   * Removing DHCP configuration for ud-ccwk1 (active dev)...Done
   * Removing DHCP configuration for ud-ccwk2 (active dev)...Done
   * Removing DHCP configuration for us02tdb2 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for us02tdb1 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for us02ddb1 (active dev)...Failed (No PXE Interface)
   * Removing DHCP configuration for us21pdb1 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us20pdb1 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for ud-wb1 (active cnb)...Done
   * Removing DHCP configuration for ut-cm1 (decomm test)...Done
   * Removing DHCP configuration for us11pdb1 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us10pdb1 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for itucmt3 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for itucmt2 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for itucmt1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpvvcs001 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for htuna2 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for penguin4 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us01 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpudb7 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for iturp2 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for iturp1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for htwc1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hppdb6 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpudb9 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for xoldhplmas1 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for us90 (active cnb)...Failed (No PXE Interface)
   * Removing DHCP configuration for htuna1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hdudb1 (decomm dev)...Failed (No PXE Interface)
   * Removing DHCP configuration for xhtprt2 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for xhplib2 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for htlib1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for xhplib1 (decomm prod)...Failed (No PXE Interface)
   * Generating PXE configuration for Physical-Server itutb85 (building cnb)...Unchanged
     x Nothing matching...
   * Removing DHCP configuration for ituflt2 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for ituws1 (decomm test)...Failed (No PXE Interface)
   * Removing DHCP configuration for ituws2 (active test)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpuna1 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for hppdb3 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for hpuna2 (active dev)...Failed (No PXE Interface)
   * Removing DHCP configuration for penguin1 (active prod)...Done
   * Removing DHCP configuration for penguin3 (active prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for xhplas2 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for xhplas3 (decomm prod)...Failed (No PXE Interface)
   * Removing DHCP configuration for ut-esb1 (active test)...Failed (No PXE Interface)
   * Generating PXE configuration for Virtual-Server ut-dad-st2 (building dev)...Unchanged
     x Nothing matching...
   * Removing PXE configuration for up-swsa1 (*** BUILDING *** test)...Done
   * Removing DHCP configuration for up-swsa1 (*** BUILDING *** test)...Done
   * Generating PXE configuration for Virtual-Server ut-dad-st3 (building dev)...Failed
     x Nothing matching...
   * Generating PXE configuration for Virtual-Server ut-dad-st4 (building dev)...Unchanged
     x Nothing matching...

   * PXE Summary...
     * Total RBD-enabled servers... 231
     * Generated configs...         0
       * Warnings encounted...      0
     * Removed configs...           1
     * Unchanged configs...         3
     * Generations Failed...        1

   * DHCP Summary...
     * Newly added servers...       0
     * Amended servers...           0
     * Removed servers...           6
     * Unchanged servers...         3
     * Failed servers...            48
     * DHCPD Reload Required...     Yes

 @ Testing Database Connectivity...Good
 @ Configuring RAT DHCP services...
     * Adding (DHCP) ilo configuration for Physical-Server xup-lib1 (decomm prod)...Amended
     * Adding (DHCP) ilo configuration for Physical-Server xut-lib1 (decomm test)...Amended
     * Adding (DHCP) ilo configuration for Virtual-Server ut-cm1 (decomm test)...Done
     * Adding (DHCP) ilo configuration for Physical-Server penguin1 (active prod)...Done
     * Adding (DHCP) ilo configuration for Physical-Server ut-lib1 (active test)...Amended
     * Adding (DHCP) ilo configuration for Physical-Server up-lib1 (active prod)...Amended
     * Adding (DHCP) ilo configuration for Physical-Server penguin2 (active prod)...Amended
     * Adding (DHCP) ilo configuration for Physical-Server xpenguin2 (decomm prod)...Amended
     * Adding (DHCP) ilo configuration for Virtual-Server ud-ccwk2 (active dev)...Done
     * Adding (DHCP) ilo configuration for Virtual-Server ud-wb1 (active cnb)...Done
     * Adding (DHCP) ilo configuration for Virtual-Server ud-ccwk1 (active dev)...Done

   * DHCP Summary...
     * Newly added servers...       5
     * Amended servers...           6
     * Removed servers...           0
     * Unchanged servers...         117
     * Failed servers...            0
     * DHCPD Reload Required...     Yes

 * DHCP Daemon Restart...
   * Checking DHCPD daemon init.d script...Done
   * Checking DHCPD configuration file syntax...Good
   ! Shutting down dhcpd:                                  [  OK  ]
   ! Starting dhcpd:                                       [  OK  ]

cd ..