Make dhcp-all-interfaces block all interfaces
Previously dhcp-all-interfaces was only blocking the first network interface to come up. We add an instance stanza to make it run one instance of generate-interfaces-file per interface. We then use flock to serialize runs of generate-interfaces-file. Fixes bug #1233577 Change-Id: Ib16bed6b37ce0789e315ef57e05ac561470a6f2a
This commit is contained in:
parent
2129d78124
commit
28190d5954
@ -3,7 +3,8 @@
|
|||||||
|
|
||||||
description "DHCP any connected, but unconfigured network interfaces"
|
description "DHCP any connected, but unconfigured network interfaces"
|
||||||
|
|
||||||
start on starting cloud-init-nonet
|
start on starting network-interface
|
||||||
|
instance $INTERFACE
|
||||||
|
|
||||||
task
|
task
|
||||||
|
|
||||||
|
@ -6,6 +6,12 @@
|
|||||||
|
|
||||||
INTERFACES_FILE="/etc/network/interfaces"
|
INTERFACES_FILE="/etc/network/interfaces"
|
||||||
|
|
||||||
|
# Serialize runs so that we don't miss hot-add interfaces
|
||||||
|
FLOCK=${1:-}
|
||||||
|
if [ -z "$FLOCK" ] ; then
|
||||||
|
exec flock -x $INTERFACES_FILE $0 flocked
|
||||||
|
fi
|
||||||
|
|
||||||
function get_if_link() {
|
function get_if_link() {
|
||||||
cat /sys/class/net/${1}/carrier
|
cat /sys/class/net/${1}/carrier
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user