/** * Determine whether the specified neutron network is changed or not. * * <p> * This method compares network fields only used by * {@link NetworkHandler#neutronNetworkUpdated(Network)}. * </p> * * @param before Neutron network instance before modification. * @param after Neutron network instance after modification. * @return {@code true} if the specified neutron network is updated. * {@code false} otherwise. */ static boolean isChanged(@Nonnull Network before, @Nonnull Network after) { // Compare UUIDs. boolean same = (Objects.equals(before.getTenantId(), after.getTenantId()) && Objects.equals(before.getUuid(), after.getUuid())); if (same) { // Compare name and shared. same = (Objects.equals(before.getName(), after.getName()) && Objects.equals(before.isShared(), after.isShared())); } return !same; }
/** * Invoked to take action after a network has been updated. * * @param network An instance of modified Network object. */ public void neutronNetworkUpdated(@Nonnull Network network) { // Check to see if the object already exists in VTN manager. String tenantID = getTenantId(network); String bridgeID = getBridgeId(network); VbridgeConfig bconf = vtnManager.getBridgeConfig(tenantID, bridgeID); if (bconf == null) { LOG.error("vBridge is not present: {}/{}", tenantID, bridgeID); return; } Boolean shared = network.isShared(); if ((shared != null) && (shared)) { LOG.error("Shared option - {} not supported in vtn", shared); return; } // if vbridge description has changed update the description boolean modify = canModifyBridge(network, bconf); String networkDesc = network.getName(); if (modify) { int result = vtnManager.updateBridge( tenantID, bridgeID, networkDesc, VnodeUpdateMode.MODIFY); if (result != HTTP_OK) { LOG.error("Failed to update vBridge: network={}", network); } } }
result.setAdminStateUp(network.isAdminStateUp()); result.setNetworkName(network.getName()); result.setShared(network.isShared()); result.setStatus(network.getStatus());
result.setAdminStateUp(network.isAdminStateUp()); result.setNetworkName(network.getName()); result.setShared(network.isShared()); result.setStatus(network.getStatus());
private NeutronNetwork fromMd(Network network) { NeutronNetwork result = new NeutronNetwork(); result.setAdminStateUp(network.isAdminStateUp()); result.setNetworkName(network.getName()); result.setShared(network.isShared()); result.setStatus(network.getStatus()); // todo remove '-' chars as tenant id doesn't use them if (network.getTenantId() != null) { result.setTenantID(network.getTenantId().getValue()); } result.setID(network.getUuid().getValue()); NetworkL3Extension l3Extension = network.getAugmentation(NetworkL3Extension.class); result.setRouterExternal(l3Extension.isExternal()); NetworkProviderExtension providerExtension = network.getAugmentation(NetworkProviderExtension.class); result.setProviderPhysicalNetwork(providerExtension.getPhysicalNetwork()); result.setProviderSegmentationID(providerExtension.getSegmentationId()); result.setProviderNetworkType(NETWORK_MAP.get(providerExtension.getNetworkType())); List<NeutronNetwork_Segment> segments = new ArrayList<>(); if (providerExtension.getSegments() != null) { for (Segments segment: providerExtension.getSegments()) { NeutronNetwork_Segment neutronSegment = new NeutronNetwork_Segment(); neutronSegment.setProviderPhysicalNetwork(segment.getPhysicalNetwork()); neutronSegment.setProviderSegmentationID(segment.getSegmentationId()); neutronSegment.setProviderNetworkType(NETWORK_MAP.get(segment.getNetworkType())); segments.add(neutronSegment); } } result.setSegments(segments); return result; }
private NeutronNetwork fromMd(Network network) { NeutronNetwork result = new NeutronNetwork(); result.setAdminStateUp(network.isAdminStateUp()); result.setNetworkName(network.getName()); result.setShared(network.isShared()); result.setStatus(network.getStatus()); // todo remove '-' chars as tenant id doesn't use them if (network.getTenantId() != null) { result.setTenantID(network.getTenantId().getValue()); } result.setID(network.getUuid().getValue()); NetworkL3Extension l3Extension = network.getAugmentation(NetworkL3Extension.class); result.setRouterExternal(l3Extension.isExternal()); NetworkProviderExtension providerExtension = network.getAugmentation(NetworkProviderExtension.class); result.setProviderPhysicalNetwork(providerExtension.getPhysicalNetwork()); result.setProviderSegmentationID(providerExtension.getSegmentationId()); result.setProviderNetworkType(NETWORK_MAP.get(providerExtension.getNetworkType())); List<NeutronNetwork_Segment> segments = new ArrayList<>(); if (providerExtension.getSegments() != null) { for (Segments segment: providerExtension.getSegments()) { NeutronNetwork_Segment neutronSegment = new NeutronNetwork_Segment(); neutronSegment.setProviderPhysicalNetwork(segment.getPhysicalNetwork()); neutronSegment.setProviderSegmentationID(segment.getSegmentationId()); neutronSegment.setProviderNetworkType(NETWORK_MAP.get(segment.getNetworkType())); segments.add(neutronSegment); } } result.setSegments(segments); return result; }
result.setAdminStateUp(network.isAdminStateUp()); result.setNetworkName(network.getName()); result.setShared(network.isShared()); result.setStatus(network.getStatus()); result.setTenantID(network.getTenantId());