Merge "Attempt to upgrade iPXE if no mac found"

This commit is contained in:
Jenkins 2015-07-08 07:34:42 +00:00 committed by Gerrit Code Review
commit f7c6d099ef
3 changed files with 13 additions and 1 deletions

View File

@ -1,7 +1,11 @@
#!ipxe
isset ${mac:hexhyp} && goto boot_system ||
chain ipxe.pxe
# load the MAC-specific file or fail if it's not found
chain --autofree pxelinux.cfg/${mac:hexraw} || goto error_no_config
:boot_system
chain pxelinux.cfg/${mac:hexhyp} || goto error_no_config
:error_no_config
echo PXE boot failed. No configuration found for MAC ${mac}

View File

@ -35,6 +35,11 @@
copy: src=xinetd.tftp dest=/etc/xinetd.d/tftp
- name: "Copy iPXE image into place"
copy: src={{ ipxe_dir }}/undionly.kpxe dest=/tftpboot/
# NOTE(TheJulia): Copy full iPXE chain loader images in case they are required.
- name: "Copy full iPXE image into /httpboot"
copy: src={{ ipxe_dir }}/ipxe.pxe dest=/httpboot/
- name: "Copy full iPXE image into /tftpboot"
copy: src={{ ipxe_dir }}/ipxe.pxe dest=/tftpboot/
# Similar logic to below can be utilized to retrieve files
- name: "Determine if folder exists, else create and populate folder."
stat: path=/tftpboot/master_images

View File

@ -433,6 +433,9 @@ dhcp-range={{dhcp_pool_start}},{{dhcp_pool_end}},12h
# Boot for Etherboot gPXE. The idea is to send two different
# filenames, the first loads gPXE, and the second tells gPXE what to
# load. The dhcp-match sets the gpxe tag for requests from gPXE.
dhcp-userclass=set:gpxe,"gPXE"
dhcp-boot=tag:gpxe,ipxe.pxe
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
dhcp-boot=tag:!ipxe,undionly.kpxe
{% if testing %}