mirror of https://github.com/apache/cloudstack.git
Summary: Wait for VPC router nics to hotplug before assigning IPs
Detail: CLOUDSTACK-1452, CLOUDSTACK-1523 - When rebooting VPC routers, ip addr assignment was inconsistent, sometimes the assignment would be attempted while router was still setting up nic device. This adds a watch for the nic to show up before attempting to add an ip to a nic. Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1362521453 -0700
This commit is contained in:
parent
73d7b53f18
commit
33fd1a6fb3
|
|
@ -129,6 +129,18 @@ desetup_passwdsvcs() {
|
|||
}
|
||||
|
||||
create_guest_network() {
|
||||
# need to wait for eth device to appear before configuring it
|
||||
timer=0
|
||||
while ! `grep -q $dev /proc/net/dev` ; do
|
||||
logger -t cloud "$(basename $0):Waiting for interface $dev to appear, $timer seconds"
|
||||
sleep 1;
|
||||
if [ $timer -gt 15 ]; then
|
||||
logger -t cloud "$(basename $0):interface $dev never appeared"
|
||||
break
|
||||
fi
|
||||
timer=$[timer + 1]
|
||||
done
|
||||
|
||||
logger -t cloud " $(basename $0): Create network on interface $dev, gateway $gw, network $ip/$mask "
|
||||
# setup ip configuration
|
||||
sudo ip addr add dev $dev $ip/$mask brd +
|
||||
|
|
|
|||
|
|
@ -56,6 +56,18 @@ remove_routing() {
|
|||
}
|
||||
|
||||
add_an_ip () {
|
||||
# need to wait for eth device to appear before configuring it
|
||||
timer=0
|
||||
while ! `grep -q $ethDev /proc/net/dev` ; do
|
||||
logger -t cloud "$(basename $0):Waiting for interface $ethDev to appear, $timer seconds"
|
||||
sleep 1;
|
||||
if [ $timer -gt 15 ]; then
|
||||
logger -t cloud "$(basename $0):interface $ethDev never appeared"
|
||||
break
|
||||
fi
|
||||
timer=$[timer + 1]
|
||||
done
|
||||
|
||||
logger -t cloud "$(basename $0):Adding ip $pubIp on interface $ethDev"
|
||||
sudo ip link show $ethDev | grep "state DOWN" > /dev/null
|
||||
local old_state=$?
|
||||
|
|
|
|||
Loading…
Reference in New Issue