Jenkins : PXE Plugin

Plugin Information

No information for the plugin 'pxe' is available. It may have been removed from distribution.

This plugin enhances Jenkins to support network-booting PCs for rapid, hands-free installations of various OSes, thereby making new slave installations easier.

More specifically, this plugin adds the TFTP service and proxy DHCP service to Jenkins. These two combinations enable PCs on the same network to network boot (also known as PXE boot) and install OSes such as Linux, Solaris, and Windows.

This plugin assumes that your network already has a functioning DHCP server, running on a computer different from Jenkins master.

Set up

Download the *.iso files for OSes that you want to install. Currently, the following OSes are supported. See the respective page for what ISO file you need.

Place those ISO files on the Jenkins master, and tell Jenkins where they are. Go to "Manage Jenkins" > "Network Slave Installation Management" > "Configure":

Configure Jenkins about the additional configuration information. This is necessary because TFTP and DHCP services require the root privilege on Unix.

Installing PCs

Put a PC on the same network as the Jenkins master (IOW, topology-wise close enough so that broadcast UDP packets from PCs get to Jenkins), and boot from network (on most PCs, this is done by pressing F12 during the BIOS POST screen.)

If pressing F12 doesn't help

Some BIOS has a separate configuration entry to enable/disable PXE boot. Some BIOS requires you to tweak boot priority list to boot from network. If your PC can't seem to boot from network, go into BIOS set up, and look for keywords like 'PXE', 'LAN', 'boot priority', 'boot device', etc.

Installing PCs on the remote network

If your PCs to be network booted are located in a different network, run "java -jar hudson-proxy-service-jar-with-dependencies.jar UrlOfJenkins" on a computer in the same network as the new PC to have it relay the request.

Once the network boot menu appears. Choose the OS that you want to install.

Depending on the OSes, you can choose to install interactively or automatically. The interactive installation option can be convenient for installing PCs for use outside Jenkins.

If you choose automatic installation, PCs will install itself and reboot by itself.

Future Work

  • Documenting Windows auto installation
  • Advanced mode that lets people specify the full kickstart/preseed/ai-manifest files
  • Automatically register newly installed PCs as Jenkins slaves
  • OS support is extensible. Contributions of new OS types are welcome.

Changelog

Version 1.5 (Feb 2 2010)
  • Supported booting OracleVM Server.
  • Supported booting VMWare ESXi.
Version 1.4 (Jan 9 2010)
  • Allow override of root URL with hudson.plugins.pxe.PXE.rootURL system property.
Version 1.3 (Sep 3 2009)
  • Ubuntu installer exposes more configuration options now.
  • DHCP proxy service can now selectively respond to requests, allowing multiple network boot services to co-exist.
Version 1.2 (May 15 2009)
  • Added Parted Magic support for disk re-partitioning
  • Updated Ubuntu preseeding file to work with 9.04.
Version 1.1 (May 10 2009)
  • Corrected typo
Version 1.0 (May 3 2009)
  • Initial version

Attachments:

pxe-cd.png (image/png)
pxe-config.png (image/png)
pxe-bootmenu.png (image/png)
pxe-ubuntu-menu.png (image/png)