Hotwire Rapid Build & Deploy System
..
Background
- 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.
- 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.
- The client now makes a TFTP request for the file described by the DHCP(PXE)
Server, directed at the TFTP server.
- The TFTP server sends this to the client.
- 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
- 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
- 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 ..