cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yas...@apache.org
Subject git commit: updated refs/heads/master to e515acd
Date Fri, 23 Aug 2013 00:49:35 GMT
Updated Branches:
  refs/heads/master ce9048c17 -> e515acd7b


CLOUDSTACK-4199: Only use ifdown/ifup for the un-configured eth2

Seems the behavior of ifdown/ifup changed in new version, that it would only
enable the default IP of eth2, regardless we can configure additional ips for
it. So we would always use ifconfig for interface control whenever
possible(a.k.a eth2 already got ip addresses).

When VR is booting up, ipassoc command hasn't been delivered, it's possible that
eth2 doesn't have any ip address, then ifconfig would fail because it doesn't
know how to find the ip for eth2. So in this only case, we would use ifdown/ifup
to set the ip address according to /etc/network/interfaces.

It can potentially racy againest ipassoc command, but biglock should prevent
racy condition from happening.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/e515acd7
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/e515acd7
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/e515acd7

Branch: refs/heads/master
Commit: e515acd7be347ba853dcb3b7cc26d277e6d4d2b9
Parents: ce9048c
Author: Sheng Yang <sheng.yang@citrix.com>
Authored: Thu Aug 22 17:45:12 2013 -0700
Committer: Sheng Yang <sheng.yang@citrix.com>
Committed: Thu Aug 22 17:49:27 2013 -0700

----------------------------------------------------------------------
 .../config/root/redundant_router/enable_pubip.sh.templ    | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/e515acd7/patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ
----------------------------------------------------------------------
diff --git a/patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ b/patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ
index 3e22c0d..0e2d03a 100644
--- a/patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ
+++ b/patches/systemvm/debian/config/root/redundant_router/enable_pubip.sh.templ
@@ -16,14 +16,18 @@
 # specific language governing permissions and limitations
 # under the License.
 
+ip link|grep BROADCAST|grep -v eth0|grep -v eth1|cut -d ":" -f 2 > /tmp/iflist
+ip addr show eth2 | grep "inet" 2>&1 > /dev/null
+is_init=$?
+
 set -e
 
-ip link|grep BROADCAST|grep -v eth0|grep -v eth1|cut -d ":" -f 2 > /tmp/iflist
 while read i
 do
-    if [ "$i" == "eth2" ]
+    # if eth2'ip has already been configured, we would use ifconfig rather than ifdown/ifup
+    if [ "$i" == "eth2" -a "$is_init" != "0" ]
     then
-        ifdown $i --force
+        ifdown $i
         ifup $i
     else
         ifconfig $i down


Mime
View raw message