private void storeNetworkInCleanupCache(NeutronNetwork network) { if (network != null) { this.networkCleanupCache.put(network.getNetworkUUID(), network); } }
private void updateNetworkInCleanupCache(NeutronNetwork network) { for (String neutronNetworkUuid:this.networkCleanupCache.keySet()) { if (neutronNetworkUuid.equals(network.getNetworkUUID())) { this.networkCleanupCache.remove(neutronNetworkUuid); } } this.networkCleanupCache.put(network.getNetworkUUID(), network); }
private void initNetworkCleanUpCache() { if (this.neutronNetworkCache != null) { for (NeutronNetwork neutronNetwork : neutronNetworkCache.getAllNetworks()) { networkCleanupCache.put(neutronNetwork.getNetworkUUID(), neutronNetwork); } } } private void initPortCleanUpCache() {
public void removeNetworkFromCleanupCache(String networkid) { NeutronNetwork network = null; for (String neutronNetworkUuid:this.networkCleanupCache.keySet()) { if (neutronNetworkUuid.equals(networkid)) { network = networkCleanupCache.get(neutronNetworkUuid); break; } } if (network != null) { for (String neutronPortUuid:this.portCleanupCache.keySet()) { if (this.portCleanupCache.get(neutronPortUuid).getNetworkUUID().equals(network.getNetworkUUID())) { LOG.info("This network is used by another port", network); return; } } this.networkCleanupCache.remove(network.getNetworkUUID()); } }
@Override public String getNetworkId(String segmentationId) { Preconditions.checkNotNull(neutronNetworkCache); List <NeutronNetwork> networks = neutronNetworkCache.getAllNetworks(); for (NeutronNetwork network : networks) { if (network.getProviderSegmentationID() != null && network.getProviderSegmentationID().equalsIgnoreCase(segmentationId)) { return network.getNetworkUUID(); } } for (String networkUuid : neutronL3Adapter.getNetworkCleanupCache().keySet()) { NeutronNetwork network = neutronL3Adapter.getNetworkFromCleanupCache(networkUuid); if (network.getProviderSegmentationID() != null && network.getProviderSegmentationID().equalsIgnoreCase(segmentationId)) { return network.getNetworkUUID(); } } return null; }
private void handleInterfaceUpdate (Node node, OvsdbTerminationPointAugmentation tp) { NeutronNetwork network = tenantNetworkManager.getTenantNetwork(tp); if (network != null && !network.getRouterExternal()) { LOG.trace("InterfaceUpdate for OVS Node :{} OvsdbTerminationPointAugmentation :" + " {} for the network : {}", node, tp, network.getNetworkUUID()); if (bridgeConfigurationManager.createLocalNetwork(node, network)) { networkingProviderManager.getProvider(node).handleInterfaceUpdate(network, node, tp); } } else { LOG.debug("No tenant network found on node : {} for interface: {}", node, tp); } distributedArpService.processInterfaceEvent(node, tp, network, Action.UPDATE); neutronL3Adapter.handleInterfaceEvent(node, tp, network, Action.UPDATE); }
private void initializeNodeConfiguration(Node node, String nodeUuid) { NodeConfiguration nodeConfiguration = new NodeConfiguration(); List<OvsdbTerminationPointAugmentation> ports = southbound.getTerminationPointsOfBridge(node); for (OvsdbTerminationPointAugmentation port : ports) { Integer vlan = port.getVlanTag().getValue(); String networkId = tenantNetworkManager.getTenantNetwork(port).getNetworkUUID(); if (vlan != 0 && networkId != null) { internalVlanInUse(nodeConfiguration, vlan); nodeConfiguration.getTenantVlanMap().put(networkId, vlan); } else { LOG.debug("Node: {} initialized without a vlan", node); } } configurationCache.put(nodeUuid, nodeConfiguration); }
macAddress = networkIdToRouterMacCache.get(neutronNetwork.getNetworkUUID()); ipList = networkIdToRouterIpListCache.get(neutronNetwork.getNetworkUUID()); networkIdToRouterMacCache.put(neutronNetwork.getNetworkUUID(), macAddress); networkIdToRouterIpListCache.put(neutronNetwork.getNetworkUUID(), new ArrayList<>(ipList)); subnetIdToRouterInterfaceCache.put(subnet.getSubnetUUID(), destNeutronRouterInterface); networkIdToRouterMacCache.remove(neutronNetwork.getNetworkUUID()); networkIdToRouterIpListCache.remove(neutronNetwork.getNetworkUUID()); subnetIdToRouterInterfaceCache.remove(subnet.getSubnetUUID());
private void removeVlanRules (NeutronNetwork network, Node node, OvsdbTerminationPointAugmentation intf, boolean isLastInstanceOnNode) { LOG.debug("removeVlanRules: node: {}, network: {}, intf: {}, isLastInstanceOnNode", node.getNodeId(), network.getNetworkUUID(), intf.getName(), isLastInstanceOnNode); long dpid = getIntegrationBridgeOFDPID(node); if (dpid == 0L) {
private void programVlanRules (NeutronNetwork network, Node node, OvsdbTerminationPointAugmentation intf) { LOG.debug("programVlanRules: node: {}, network: {}, intf: {}", node.getNodeId(), network.getNetworkUUID(), intf.getName()); long dpid = getIntegrationBridgeOFDPID(node); if (dpid == 0L) {
private void doNeutronPortCreated(NeutronPort neutronPort) { LOG.debug(" Port-ADD successful for tenant-id - {}, network-id - {}, port-id - {}", neutronPort.getTenantID(), neutronPort.getNetworkUUID(), neutronPort.getID()); //TODO: Need to implement getNodes List<Node> nodes = nodeCacheManager.getNodes(); for (Node node : nodes) { OvsdbTerminationPointAugmentation port = findPortOnNode(node, neutronPort); // if the port already exist on the node it means that the southbound event already arrived // and was not handled because we could not find the tenant network if (port != null) { NeutronNetwork network = tenantNetworkManager.getTenantNetwork(port); if (network != null && !network.getRouterExternal()) { LOG.trace("handleInterfaceUpdate <{}> <{}> network: {}", node, port, network.getNetworkUUID()); if (bridgeConfigurationManager.createLocalNetwork(node, network)) { networkingProviderManager.getProvider(node).handleInterfaceUpdate(network, node, port); } } break; } } distributedArpService.handlePortEvent(neutronPort, Action.ADD); neutronL3Adapter.handleNeutronPortEvent(neutronPort, Action.ADD); }
LOG.debug("Network {}: Delete interface {} attached to bridge {}", network.getNetworkUUID(), ovsdbTerminationPointAugmentation.getInterfaceUuid(), node.getNodeId()); try {
protected Network toMd(NeutronNetwork network) { NetworkBuilder networkBuilder = new NetworkBuilder(); fillExtensions(networkBuilder, network); networkBuilder.setAdminStateUp(network.getAdminStateUp()); if (network.getNetworkName() != null) { networkBuilder.setName(network.getNetworkName()); } if (network.getShared() != null) { networkBuilder.setShared(network.getShared()); } if (network.getStatus() != null) { networkBuilder.setStatus(network.getStatus()); } if (network.getTenantID() != null) { networkBuilder.setTenantId(toUuid(network.getTenantID())); } if (network.getNetworkUUID() != null) { networkBuilder.setUuid(toUuid(network.getNetworkUUID())); } else { LOG.warn("Attempting to write neutron network without UUID"); } return networkBuilder.build(); }
switch (s) { case "id": ans.setNetworkUUID(this.getNetworkUUID()); break; case "name":