You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/11/01 08:17:58 UTC
[jira] [Commented] (CLOUDSTACK-9500) VR configuration not clean
properly after Public IP release
[ https://issues.apache.org/jira/browse/CLOUDSTACK-9500?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15624715#comment-15624715 ]
ASF GitHub Bot commented on CLOUDSTACK-9500:
--------------------------------------------
Github user ustcweizhou commented on the issue:
https://github.com/apache/cloudstack/pull/1706
this is our change for similar issue
```
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 9f9513d..fc2b639 100755
--- a/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
+++ b/systemvm/patches/debian/config/opt/cloud/bin/cs/CsAddress.py
@@ -118,6 +118,16 @@ class CsAddress(CsDataBag):
if CsDevice(dev, self.config).waitfordevice():
ip.configure(address)
+ def delete(self, addr):
+ for dev in self.dbag:
+ if dev == "id":
+ continue
+ for address in self.dbag[dev]:
+ if address['public_ip'] == addr:
+ self.dbag[dev].remove(address)
+ self.save()
+ break
+
class CsInterface:
@@ -537,6 +547,8 @@ class CsIP:
route.copy_routes_from_main(devs, [self.dev])
elif method == "delete":
+ logging.info("delete %s from /etc/cloudstack/ips.json" % self.address['public_ip'])
+ self.config.address().delete(self.address['public_ip'])
logging.warn("delete route not implemented")
self.fw_router()
```
> VR configuration not clean properly after Public IP release
> -----------------------------------------------------------
>
> Key: CLOUDSTACK-9500
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9500
> Project: CloudStack
> Issue Type: Bug
> Security Level: Public(Anyone can view this level - this is the default.)
> Components: Virtual Router
> Affects Versions: 4.7.0, 4.9.0
> Reporter: Pierre-Luc Dion
>
> On a VPC, releasing a public IP that had Port Forwarding does not remove configuration of the public IP on the VR configs ({{/etc/cloudstack/forwardingrules.json}}, {{/etc/cloudstack/ips.json}})
> So, when this IP is reassign to another VPC, it cause arp table issues on switches, because 2 MAC try to own this IP from 2 different VRs. the IP on the old VR is not pignable but the switches arp table get updated every time the previous VR have configuration changes.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)