You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by re...@apache.org on 2015/10/28 22:25:25 UTC
[2/4] git commit: updated refs/heads/master to 1f6781b
CLOUDSTACK-8991 - Remove public IP form interface in case add = false
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7197cf2e
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7197cf2e
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7197cf2e
Branch: refs/heads/master
Commit: 7197cf2e24a02dbc5cd4c1964e7c8baadc112340
Parents: 99318ca
Author: Wilder Rodrigues <wr...@schubergphilis.com>
Authored: Tue Oct 27 19:46:13 2015 +0100
Committer: Wilder Rodrigues <wr...@schubergphilis.com>
Committed: Tue Oct 27 19:46:13 2015 +0100
----------------------------------------------------------------------
.../debian/config/opt/cloud/bin/cs/CsAddress.py | 23 +++++++++++++-------
1 file changed, 15 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7197cf2e/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
----------------------------------------------------------------------
diff --git a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
index b80187a..6d26de6 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
@@ -103,6 +103,7 @@ class CsAddress(CsDataBag):
for address in self.dbag[dev]:
ip.setAddress(address)
+ logging.info("Address found in DataBag ==> %s" % address)
if ip.configured():
logging.info(
@@ -263,10 +264,17 @@ class CsIP:
return self.address
def configure(self, address):
- logging.info(
- "Configuring address %s on device %s", self.ip(), self.dev)
- cmd = "ip addr add dev %s %s brd +" % (self.dev, self.ip())
- subprocess.call(cmd, shell=True)
+ # When "add" is false, it means that the IP has to be removed.
+ if address["add"]:
+ try:
+ logging.info("Configuring address %s on device %s", self.ip(), self.dev)
+ cmd = "ip addr add dev %s %s brd +" % (self.dev, self.ip())
+ subprocess.call(cmd, shell=True)
+ except Exception as e:
+ logging.info("Exception occurred ==> %s" % e)
+
+ else:
+ self.delete(self.ip())
self.post_configure(address)
def post_configure(self, address):
@@ -602,9 +610,8 @@ class CsIP:
if self.dev in bag.keys():
for address in bag[self.dev]:
self.setAddress(address)
- if self.hasIP(ip):
- found = True
- if self.is_guest_gateway(address, ip):
+ if (self.hasIP(ip) or self.is_guest_gateway(address, ip)) and addess["add"]:
+ logging.debig("The IP address in '%s' will be configured" % address)
found = True
if not found:
self.delete(ip)
@@ -620,7 +627,7 @@ class CsIP:
gw = interface.get_gateway()
logging.info("Interface has the following gateway ==> %s", gw)
-
+
if bag['nw_type'] == "guest" and rip == gw:
return True
return False