b0d8b037fa
In some cases it is simpler to just configure the images being deployed to use DHCP, rather than teach them how to put the IP address in the configdrive in the right place. This will setup dnsmasq to send the static address for the box. It will use that address for the deploy as well. Co-Authored-By: Clint Byrum <clint@fewbar.com> Co-Authored-By: Gregory Haynes <greg@greghaynes.net> Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com> Change-Id: I524958be5e787d42c91278baf2c4a14beb965e7c
69 lines
2.5 KiB
ReStructuredText
69 lines
2.5 KiB
ReStructuredText
=======================================
|
|
Using Bifrost with your own DHCP server
|
|
=======================================
|
|
|
|
The possibility exists that a user may already have a Dynamic Host
|
|
Configuration Protocol (DHCP) server on their network.
|
|
|
|
Currently Ironic, when configured with Bifrost in standalone mode, does not
|
|
utilize a DHCP provider. This would require a manual configuration of the
|
|
DHCP server to deploy an image. Bifrost utilizes dnsmasq for this
|
|
functionality; however, any DHCP server can be utilized. This is largely
|
|
intended to function in the context of a single flat network although
|
|
conceivably the nodes can be segregated.
|
|
|
|
What is required:
|
|
|
|
- DHCP server on the network segment
|
|
- Appropriate permissions to change DHCP settings
|
|
- Network access to the API and conductor. Keep in mind the iPXE image does
|
|
not support ICMP redirects.
|
|
|
|
Example DHCP server configurations
|
|
----------------------------------
|
|
In the examples below port 8080 is used. However, the port number may vary
|
|
depending on the environment configuration.
|
|
|
|
dnsmasq::
|
|
|
|
dhcp-match=set:ipxe,175 # iPXE sends a 175 option.
|
|
dhcp-boot=tag:!ipxe,undionly.kpxe,<TFTP Server Hostname>,<TFTP Server IP Address>
|
|
dhcp-boot=http://<Bifrost Host IP Address>:8080/boot.ipxe
|
|
|
|
Internet Systems Consortium DHCPd::
|
|
|
|
if exists user-class and option user-class = "iPXE" {
|
|
filename "http://<Bifrost Host IP Address>:8080/boot.ipxe";
|
|
} else {
|
|
filename "undionly.kpxe";
|
|
next-server <TFTP Server IP Address>;
|
|
}
|
|
|
|
|
|
Architecture
|
|
------------
|
|
|
|
It should be emphasized that Ironic in standalone mode is intended to be used only
|
|
in a trusted environment.
|
|
|
|
::
|
|
|
|
+-------------+
|
|
| DHCP Server |
|
|
+-------------+
|
|
|
|
|
+--------Trusted-Network----------+
|
|
| |
|
|
+-------------+ +-----------+
|
|
|Ironic Server| | Server |
|
|
+-------------+ +-----------+
|
|
|
|
===============================================================
|
|
Setting static DHCP assignments with the integrated DHCP server
|
|
===============================================================
|
|
|
|
You can set up a static DHCP reservation using the ``ipv4_address`` parameter
|
|
and setting the ``inventory_dhcp`` setting to a value of ``true``. This will
|
|
result in the first MAC address defined in the list of hardware MAC addresses
|
|
to receive a static address assignment in dnsmasq.
|