Repository: cloudstack Updated Branches: refs/heads/master 102c1bc9c -> 7b08bb7ca
CLOUDSTACK-6281: OVS distributed routing: exclude non implemented networks while sending VPC topology updates as GRE key is not associated with the network unless implemented. Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/7b08bb7c Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/7b08bb7c Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/7b08bb7c Branch: refs/heads/master Commit: 7b08bb7cabc5e37d8d4edc436e3327de452e73c1 Parents: 102c1bc Author: Murali Reddy <muralimmre...@gmail.com> Authored: Tue Mar 25 16:41:06 2014 +0530 Committer: Murali Reddy <muralimmre...@gmail.com> Committed: Tue Mar 25 16:43:46 2014 +0530 ---------------------------------------------------------------------- .../src/com/cloud/network/ovs/OvsTunnelManagerImpl.java | 12 +++--------- scripts/vm/hypervisor/xenserver/ovs-vif-flows.py | 4 ++-- scripts/vm/hypervisor/xenserver/ovstunnel | 4 ++-- 3 files changed, 7 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b08bb7c/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java ---------------------------------------------------------------------- diff --git a/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java index 53607fc..a86106e 100644 --- a/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java +++ b/plugins/network-elements/ovs/src/com/cloud/network/ovs/OvsTunnelManagerImpl.java @@ -557,6 +557,9 @@ public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManage boolean bridgeNotSetup = true; for (Network vpcNetwork: vpcNetworks) { + if (vpcNetwork.getState() != Network.State.Implemented && + vpcNetwork.getState() != Network.State.Implementing && vpcNetwork.getState() != Network.State.Setup) + continue; int key = getGreKey(vpcNetwork); List<Long> toHostIds = new ArrayList<Long>(); List<Long> fromHostIds = new ArrayList<Long>(); @@ -670,19 +673,10 @@ public class OvsTunnelManagerImpl extends ManagerBase implements OvsTunnelManage } if (VirtualMachine.State.isVmStarted(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling start of vm id" + vm.getId()); - } handleVmStateChange((VMInstanceVO)vm); } else if (VirtualMachine.State.isVmStopped(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling stop of vm id" + vm.getId()); - } handleVmStateChange((VMInstanceVO)vm); } else if (VirtualMachine.State.isVmMigrated(oldState, event, newState)) { - if (s_logger.isTraceEnabled()) { - s_logger.trace("Security Group Mgr: handling migration of vm id" + vm.getId()); - } handleVmStateChange((VMInstanceVO)vm); } http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b08bb7c/scripts/vm/hypervisor/xenserver/ovs-vif-flows.py ---------------------------------------------------------------------- diff --git a/scripts/vm/hypervisor/xenserver/ovs-vif-flows.py b/scripts/vm/hypervisor/xenserver/ovs-vif-flows.py index 1445d94..2a2f3bd 100644 --- a/scripts/vm/hypervisor/xenserver/ovs-vif-flows.py +++ b/scripts/vm/hypervisor/xenserver/ovs-vif-flows.py @@ -102,7 +102,7 @@ def main(command, vif_raw): ovs_vpc_distributed_vr_network = pluginlib.do_cmd([pluginlib.XE_PATH,"network-param-get", "uuid=%s" % xs_nw_uuid, "param-name=other-config", - "param-key=is-ovs_vpc_distributed_vr_network", "--minimal"]) + "param-key=is-ovs-vpc-distributed-vr-network", "--minimal"]) except: pass @@ -157,7 +157,7 @@ def main(command, vif_raw): if port.startswith('t'): # check tunnel port is in same network as that of plugged vif - if vif_network_id != pluginlib.get_network_id_for_tunnel_port(port): + if vif_network_id != pluginlib.get_network_id_for_tunnel_port(port)[1:-1]: continue vnet_tunnelif_ofports.append(if_ofport) vnet_all_ofports.append(if_ofport) http://git-wip-us.apache.org/repos/asf/cloudstack/blob/7b08bb7c/scripts/vm/hypervisor/xenserver/ovstunnel ---------------------------------------------------------------------- diff --git a/scripts/vm/hypervisor/xenserver/ovstunnel b/scripts/vm/hypervisor/xenserver/ovstunnel index fec0072..068f89f 100755 --- a/scripts/vm/hypervisor/xenserver/ovstunnel +++ b/scripts/vm/hypervisor/xenserver/ovstunnel @@ -160,7 +160,7 @@ def setup_ovs_bridge_for_distributed_routing(session, args): lib.do_cmd([lib.XE_PATH, "network-param-set", "uuid=%s" % xs_nw_uuid, "other-config:is-ovs-tun-network=False"]) lib.do_cmd([lib.XE_PATH, "network-param-set", "uuid=%s" % xs_nw_uuid, - "other-config:is-ovs_vpc_distributed_vr_network=True"]) + "other-config:is-ovs-vpc-distributed-vr-network=True"]) conf_hosts = lib.do_cmd([lib.XE_PATH, "network-param-get", "uuid=%s" % xs_nw_uuid, "param-name=other-config", @@ -302,7 +302,7 @@ def create_tunnel(session, args): ovs_vpc_distributed_vr_network = lib.do_cmd([lib.XE_PATH,"network-param-get", "uuid=%s" % xs_nw_uuid, "param-name=other-config", - "param-key=is-ovs_vpc_distributed_vr_network", "--minimal"]) + "param-key=is-ovs-vpc-distributed-vr-network", "--minimal"]) if ovs_tunnel_network == 'True': # add flow entryies for dropping broadcast coming in from gre tunnel lib.add_flow(bridge, priority=1000, in_port=tun_ofport,