mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-16 10:32:34 +01:00
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
9f180e485a
commit
7dbea68b87
@ -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…
x
Reference in New Issue
Block a user