Github user ustcweizhou commented on the issue: https://github.com/apache/cloudstack/pull/2011 @DaanHoogland @karuturi @borisstoyanov Here is a short explanation why the issue happened: Normally getBroadcastUriFromBridge method in KVM plugin will get the URI from a bridge name. for example, breth1-100 -> vlan://100, brem1-200 -> vlan://200. However, for the bridge like brp55p1-100, it will return vlan://1 which is obviously wrong. The method getBroadcastUriFromBridge is used in prepareNetworkElementCommand for command IpAssocCommand in VR. Each time when a new ip is associated, it will check the existing nics by getting the URIs from bridge name of nics. If the URIs do not contain the uri of te new ip, then a new nic will be plugged and new ip will be associated to the new nic. The issue happened when cloudstack try to set more information of eth2 (public nic) of a VR, as for the error described in part 1 , the URI of eth2 return wrong result (vlan://1) which is different from uri of ip (it is vlan://7 from StartCommand), so eth3 is added.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---