Add option to serve PXE for baremetal from nova-network
New variable BM_DNSMASQ_FROM_NOVA_NETWORK: if setting this true,
DevStack configures nova-network's dnsmask to provide PXE and does
not run baremetal's one. In this case PXE traffic occur in the fixed-ip
network, so no dedicated network for PXE is needed.
Change-Id: I67cade02c03ab45ab6b77d8da9066d7d5ec6c78b
diff --git a/stack.sh b/stack.sh
index 1a2257c..dd3912f 100755
--- a/stack.sh
+++ b/stack.sh
@@ -1045,6 +1045,11 @@
iniset $NOVA_CONF baremetal driver $BM_DRIVER
iniset $NOVA_CONF baremetal power_manager $BM_POWER_MANAGER
iniset $NOVA_CONF baremetal tftp_root /tftpboot
+ if [[ "$BM_DNSMASQ_FROM_NOVA_NETWORK" = "True" ]]; then
+ BM_DNSMASQ_CONF=$NOVA_CONF_DIR/dnsmasq-for-baremetal-from-nova-network.conf
+ sudo cp "$FILES/dnsmasq-for-baremetal-from-nova-network.conf" "$BM_DNSMASQ_CONF"
+ iniset $NOVA_CONF DEFAULT dnsmasq_config_file "$BM_DNSMASQ_CONF"
+ fi
# Define extra baremetal nova conf flags by defining the array ``EXTRA_BAREMETAL_OPTS``.
for I in "${EXTRA_BAREMETAL_OPTS[@]}"; do
@@ -1293,15 +1298,16 @@
create_baremetal_flavor $BM_DEPLOY_KERNEL_ID $BM_DEPLOY_RAMDISK_ID
# otherwise user can manually add it later by calling nova-baremetal-manage
- # otherwise user can manually add it later by calling nova-baremetal-manage
[[ -n "$BM_FIRST_MAC" ]] && add_baremetal_node
- # NOTE: we do this here to ensure that our copy of dnsmasq is running
- sudo pkill dnsmasq || true
- sudo dnsmasq --conf-file= --port=0 --enable-tftp --tftp-root=/tftpboot \
- --dhcp-boot=pxelinux.0 --bind-interfaces --pid-file=/var/run/dnsmasq.pid \
- --interface=$BM_DNSMASQ_IFACE --dhcp-range=$BM_DNSMASQ_RANGE \
- ${BM_DNSMASQ_DNS:+--dhcp-option=option:dns-server,$BM_DNSMASQ_DNS}
+ if [[ "$BM_DNSMASQ_FROM_NOVA_NETWORK" = "False" ]]; then
+ # NOTE: we do this here to ensure that our copy of dnsmasq is running
+ sudo pkill dnsmasq || true
+ sudo dnsmasq --conf-file= --port=0 --enable-tftp --tftp-root=/tftpboot \
+ --dhcp-boot=pxelinux.0 --bind-interfaces --pid-file=/var/run/dnsmasq.pid \
+ --interface=$BM_DNSMASQ_IFACE --dhcp-range=$BM_DNSMASQ_RANGE \
+ ${BM_DNSMASQ_DNS:+--dhcp-option=option:dns-server,$BM_DNSMASQ_DNS}
+ fi
# ensure callback daemon is running
sudo pkill nova-baremetal-deploy-helper || true
screen_it baremetal "nova-baremetal-deploy-helper"