mirror of
https://github.com/ipxe/ipxe
synced 2025-12-08 18:30:28 +03:00
[cloud] Retry DHCP aggressively in AWS EC2
The DHCP service in EC2 has been observed to occasionally stop responding for bursts of several seconds. This can easily result in a failed boot, since the current cloud boot script will attempt DHCP only once. Work around this problem by retrying DHCP in a fairly tight cycle within the cloud boot script, and falling back to a reboot after several failed DHCP attempts. Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -3,7 +3,22 @@
|
|||||||
echo Amazon EC2 - iPXE boot via user-data
|
echo Amazon EC2 - iPXE boot via user-data
|
||||||
echo CPU: ${cpuvendor} ${cpumodel}
|
echo CPU: ${cpuvendor} ${cpumodel}
|
||||||
ifstat ||
|
ifstat ||
|
||||||
dhcp ||
|
|
||||||
|
set attempt:int8 1
|
||||||
|
:dhcp_retry
|
||||||
|
echo DHCP attempt ${attempt}
|
||||||
|
dhcp --timeout 5000 && goto dhcp_ok ||
|
||||||
|
ifstat ||
|
||||||
|
inc attempt
|
||||||
|
iseq ${attempt} 10 || goto dhcp_retry
|
||||||
|
|
||||||
|
:dhcp_fail
|
||||||
|
echo DHCP failed - rebooting
|
||||||
|
reboot ||
|
||||||
|
exit
|
||||||
|
|
||||||
|
:dhcp_ok
|
||||||
route ||
|
route ||
|
||||||
chain -ar http://169.254.169.254/latest/user-data ||
|
chain -ar http://169.254.169.254/latest/user-data ||
|
||||||
ifstat ||
|
ifstat ||
|
||||||
|
exit
|
||||||
|
|||||||
Reference in New Issue
Block a user