.. _example_service_dhcp-server_options_boot-provisioning:
#################
Boot-Provisioning
#################
These scenarios check DHCP server boot provisioning options used for PXE (Preboot Execution Environment) boot.
This includes: bootfile-name, bootfile-server, tftp-server-name, and tftp-server-address.
***********************
Test Bootfile-Name Only
***********************
Description
===========
This scenario checks the ``bootfile-name`` option without ``bootfile-server``.
The server configures only the filename option, and the client receives it.
Without bootfile-server (next-server), the client would use the DHCP server IP as the boot server.
Scenario
========
.. include:: boot-provisioning/testbootfile-nameonly
.. raw:: html
*************************
Test Bootfile-Server Only
*************************
Description
===========
This scenario checks the ``bootfile-server`` option without ``bootfile-name``.
The server configures only the next-server option. This is less common but valid.
The client receives the next-server information even without a specific bootfile name.
Scenario
========
.. include:: boot-provisioning/testbootfile-serveronly
.. raw:: html
**************************************
Test Bootfile-Name And Bootfile-Server
**************************************
Description
===========
This scenario checks both ``bootfile-name`` and ``bootfile-server`` options together.
This is the most common PXE boot configuration where the client receives both
the boot file name and the TFTP server address to download it from.
Scenario
========
.. include:: boot-provisioning/testbootfile-nameandbootfile-server
.. raw:: html
******************************
Test Bootfile Options With VRF
******************************
Description
===========
This scenario checks bootfile options when the DHCP server is configured with VRF.
Both bootfile-name and bootfile-server work correctly in a VRF environment.
Scenario
========
.. include:: boot-provisioning/testbootfileoptionswithvrf
.. raw:: html
**********************************
Test Bootfile-Server With Hostname
**********************************
Description
===========
This scenario checks the ``bootfile-server`` option with a hostname instead of an IP address.
ISC DHCP accepts both IP addresses and hostnames for the next-server directive.
The hostname appears in the server configuration.
Scenario
========
.. include:: boot-provisioning/testbootfile-serverwithhostname
.. raw:: html
*************************
Test Change Bootfile-Name
*************************
Description
===========
This scenario checks that the ``bootfile-name`` option can be changed dynamically.
First, configure an initial bootfile name and verify the client receives it.
Then, change the bootfile name and verify the client receives the new value after lease renewal.
Scenario
========
.. include:: boot-provisioning/testchangebootfile-name
.. raw:: html
***************************
Test Change Bootfile-Server
***************************
Description
===========
This scenario checks that the ``bootfile-server`` option can be changed dynamically.
First, configure an initial bootfile server and verify it appears in the configuration.
Then, change the bootfile server and verify the new value appears in the configuration after commit.
Scenario
========
.. include:: boot-provisioning/testchangebootfile-server
.. raw:: html
*********************************
Test Change Both Bootfile Options
*********************************
Description
===========
This scenario checks that both bootfile options can be changed simultaneously.
Configure initial bootfile options, then change both and verify the client receives the new values.
Scenario
========
.. include:: boot-provisioning/testchangebothbootfileoptions
.. raw:: html
*************************
Test Remove Bootfile-Name
*************************
Description
===========
This scenario checks that the ``bootfile-name`` option can be removed.
Configure bootfile-name and verify it is present, then remove it and verify it is no longer
in the server configuration or client lease after renewal.
Scenario
========
.. include:: boot-provisioning/testremovebootfile-name
.. raw:: html
***************************
Test Remove Bootfile-Server
***************************
Description
===========
This scenario checks that the ``bootfile-server`` option can be removed.
Configure bootfile-server and verify it is present, then remove it and verify it is no longer
in the server configuration after commit.
Scenario
========
.. include:: boot-provisioning/testremovebootfile-server
.. raw:: html
*********************************
Test Remove Both Bootfile Options
*********************************
Description
===========
This scenario checks that both bootfile options can be removed.
Configure both options and verify they are present, then remove both and verify neither
appears in the server configuration or client lease after renewal.
Scenario
========
.. include:: boot-provisioning/testremovebothbootfileoptions
.. raw:: html