3 Replies Latest reply on Mar 1, 2013 12:31 PM by mikemarseglia

    Auto Deploy/iPXE - Tramp File location or menu options

    jxstale Novice

      Good day,

      I am currently unable to boot to multiple Auto Deploy Servers using PXE and 5.1. This isn’t a problem with iPXE or auto deploy per say, but it is a problem with the way it is architected from the VMware side.

      Due to the way that my environment is architected I need to use one PXE server to boot to multiple Auto Deploy servers depending upon the physical server location.  As Auto Deploy is currently built using the undionly.kpxe file it will not work for me as i cannot change the DHCP settings. When using the undionly.kpxe.vmw-hardwired file I am unable to use multiple Tramp files as the embedded script points to the root of the TFTP server as the location of "tramp".

       

      To fix this I see one or two things happening:

       

      1. For the undionly.kpxe.vmw-hardwired iPXE image to point to the "tramp" in the same directory as the the .kpxe file.  At the moment the embedded script points to the root of the tftp server for the tramp file.  Obviously there cannot be multiple copies of the tramp file in the same location.

       

      2. When the iPXE file is compiled, enable the "pxe_menu" option in general.h.

      #define                PXE_MENU      /* PXE menu booting */

      At the moment if you try to edit the tramp file to create a menu prior to chaining to the auto deploy server is fails with Menu command not found.

       

      I believe a combination of the two options, both look in the same directory at .kpxe and allow the tramp file to contain a menu so the user can select one of several auto deploy servers would be the best option.

       

      Thanks, and have a great day!

      Josh

       

      This is the menu option that I would like to use.

      default.ipxe example:

      #!ipxe

       

      # Setup some basic convenience variables

      set menu-timeout 5000

       

      # Ensure we have menu-default set to something

      isset ${menu-default} || set menu-default exit

       

      ###################### MAIN MENU ####################################

       

      :start

      menu iPXE boot menu for TODO-Something here

      item --gap --              ------------------------- Operating systems ------------------------------

      item --key l local         Boot Local Disk

      item --key d vmware-1    Location1 ESXi 5.1 Auto-Deploy

      item --key o vmware-2    Location2 ESXi 5.1 Auto-Deploy

      item --key m vmware-3    Location3 ESXi 5.1 Auto-Deploy

      item --key i vmware-manual Boot ESXi 5.1 ISO

      item --gap --              ------------------------- Tools and utilities ----------------------------

      item --key s smartstart    Boot SmartStart x.x

      item --gap --             ------------------------- Advanced options -------------------------------

      item shell                 Drop to iPXE shell

      item reboot               Reboot computer

      item

      item --key x exit         Exit iPXE and continue BIOS boot

      choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel

      set menu-timeout 0

      goto ${selected}

       

      :shell

      echo Type exit to get the back to the menu

      shell

      set menu-timeout 0

      goto start

       

      :failed

      echo Booting failed, dropping to shell

      goto shell

       

      :reboot

      reboot

       

      :exit

      exit

       

      ############ MAIN MENU ITEMS ############

      :vmware-1

      echo Booting to Denver Auto-Deploy

      set filename https://10.0.24.56:6501/vmw/rbd/tramp

      chain https://10.0.24.56:6501/vmw/rbd/tramp || goto failed

      goto start

       

      :vmware-2

      #set filename https://10.0.24.57:6501/vmw/rbd/tramp

      #chain https://10.0.24.57:6501/vmw/rbd/tramp || goto failed

      echo TODO

      goto start

       

      :vmware-3

      #set filename https://10.0.24.58:6501/vmw/rbd/tramp

      #chain https://10.0.24.58:6501/vmw/rbd/tramp || goto failed

      echo TODO

      goto start

       

       

      Thanks,

      Josh