mirror of
https://github.com/apache/cloudstack.git
synced 2025-12-17 11:04:00 +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() {
|
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 "
|
logger -t cloud " $(basename $0): Create network on interface $dev, gateway $gw, network $ip/$mask "
|
||||||
# setup ip configuration
|
# setup ip configuration
|
||||||
sudo ip addr add dev $dev $ip/$mask brd +
|
sudo ip addr add dev $dev $ip/$mask brd +
|
||||||
|
|||||||
@ -56,6 +56,18 @@ remove_routing() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
add_an_ip () {
|
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"
|
logger -t cloud "$(basename $0):Adding ip $pubIp on interface $ethDev"
|
||||||
sudo ip link show $ethDev | grep "state DOWN" > /dev/null
|
sudo ip link show $ethDev | grep "state DOWN" > /dev/null
|
||||||
local old_state=$?
|
local old_state=$?
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user