#NEWLINE# def dhcp_options_for_instance( task ) : #NEWLINE# #INDENT# 'Retrieves the DHCP PXE boot options.\n\n    :param task: A TaskManager instance.\n    ' #NEWLINE# dhcp_opts = [ ] #NEWLINE# if ( deploy_utils . get_boot_mode_for_deploy ( task . node ) == 'uefi' ) : #NEWLINE# #INDENT# boot_file = CONF . pxe . uefi_pxe_bootfile_name #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# boot_file = CONF . pxe . pxe_bootfile_name #NEWLINE# #UNINDENT# if CONF . pxe . ipxe_enabled : #NEWLINE# #INDENT# script_name = os . path . basename ( CONF . pxe . ipxe_boot_script ) #NEWLINE# ipxe_script_url = '/' . join ( [ CONF . deploy . http_url , script_name ] ) #NEWLINE# dhcp_provider_name = dhcp_factory . CONF . dhcp . dhcp_provider #NEWLINE# if ( dhcp_provider_name == 'neutron' ) : #NEWLINE# #INDENT# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'tag:!ipxe,bootfile-name' , #NEWLINE# 'opt_value' : boot_file , #NEWLINE# #UNINDENT# } ) #NEWLINE# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'tag:ipxe,bootfile-name' , #NEWLINE# 'opt_value' : ipxe_script_url , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# else : #NEWLINE# #INDENT# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : '!175,bootfile-name' , #NEWLINE# 'opt_value' : boot_file , #NEWLINE# #UNINDENT# } ) #NEWLINE# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'bootfile-name' , #NEWLINE# 'opt_value' : ipxe_script_url , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# #UNINDENT# else : #NEWLINE# #INDENT# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'bootfile-name' , #NEWLINE# 'opt_value' : boot_file , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'server-ip-address' , #NEWLINE# 'opt_value' : CONF . pxe . tftp_server , #NEWLINE# #UNINDENT# } ) #NEWLINE# dhcp_opts . append ( { #NEWLINE# #INDENT# 'opt_name' : 'tftp-server' , #NEWLINE# 'opt_value' : CONF . pxe . tftp_server , #NEWLINE# #UNINDENT# } ) #NEWLINE# for opt in dhcp_opts : #NEWLINE# #INDENT# opt . update ( { #NEWLINE# #INDENT# 'ip_version' : int ( CONF . pxe . ip_version ) , #NEWLINE# #UNINDENT# } ) #NEWLINE# #UNINDENT# return dhcp_opts