mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-11-03 05:51:15 +02:00
Merge pull request #518 from GNS3/detect_eth
Wait for all interfaces available in container
This commit is contained in:
commit
c7d58eb3b3
3 files changed
+34
-10
No files matched your search
@@ -284,6 +284,9 @@ class DockerVM(BaseVM):
|
||||
params["Cmd"] = ["/bin/sh"]
|
||||
params["Entrypoint"].insert(0, "/gns3/init.sh")
|
||||
|
||||
# Give the information to the container on how many interface should be inside
|
||||
params["Env"].append("GNS3_MAX_ETHERNET=eth{}".format(self.adapters - 1))
|
||||
|
||||
if self._environment:
|
||||
params["Env"] += [e.strip() for e in self._environment.split("\n")]
|
||||
|
||||
|
||||
@@ -28,9 +28,6 @@ if [ ! -d /tmp/gns3/bin ]; then
|
||||
/gns3/bin/busybox --install -s /tmp/gns3/bin
|
||||
fi
|
||||
|
||||
# Wait 2 seconds to settle the network interfaces
|
||||
sleep 2
|
||||
|
||||
# /etc/hosts
|
||||
[ -s /etc/hosts ] || cat > /etc/hosts << __EOF__
|
||||
127.0.1.1 $HOSTNAME
|
||||
@@ -45,6 +42,13 @@ __EOF__
|
||||
# configure loopback interface
|
||||
ip link set dev lo up
|
||||
|
||||
# Wait for all eth available
|
||||
while true
|
||||
do
|
||||
grep $GNS3_MAX_ETHERNET /proc/net/dev > /dev/null && break
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
# activate eth interfaces
|
||||
sed -n 's/^ *\(eth[0-9]*\):.*/\1/p' < /proc/net/dev | while read dev; do
|
||||
ip link set dev $dev up
|
||||
|
||||
Reference in new issue
Block a user