import static com.google.common.base.Preconditions.checkNotNull;
+import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.ArrayList;
return Collections.emptyMap();
}
Map<RendererName, RendererConfigurationBuilder> rendererConfigBuilderByRendererName = new HashMap<>();
- for (InstanceIdentifier<?> absEpLocation : currentState.epLocInfo.getAllAbsoluteNodeLocations()) {
- RendererName rendererName = currentState.rendererByNode.get(absEpLocation);
+ for (InstanceIdentifier<?> epLocation : currentState.epLocInfo.getAllExternalNodeLocations()) {
+ RendererName rendererName = currentState.rendererByNode.get(epLocation);
if (rendererName == null) {
- LOG.trace("Renderer does not exist for EP with location: {}", absEpLocation);
+ LOG.trace("Renderer does not exist for EP with location: {}", epLocation);
continue;
}
RendererConfigurationBuilder rendererConfigBuilder = rendererConfigBuilderByRendererName.get(rendererName);
rendererConfigBuilderByRendererName.put(rendererName, rendererConfigBuilder);
}
for (AddressEndpointKey rendererAdrEpKey : currentState.epLocInfo
- .getAddressEpsWithAbsoluteNodeLocation(absEpLocation)) {
+ .getAddressEpsWithExternalNodeLocation(epLocation)) {
Optional<AddressEndpoint> potentialAddressEp = currentState.epInfo.getEndpoint(rendererAdrEpKey);
if (!potentialAddressEp.isPresent()) {
LOG.trace("Endpoint does not exist but has location: {}", rendererAdrEpKey);
}
@VisibleForTesting
- void resolveRendererConfigForEndpoint(AddressEndpoint rendererAdrEp,
- RendererConfigurationBuilder rendererPolicyBuilder) {
+ void resolveRendererConfigForEndpoint(@Nonnull AddressEndpoint rendererAdrEp,
+ @Nonnull RendererConfigurationBuilder rendererPolicyBuilder) {
+ if (rendererAdrEp.getEndpointGroup() == null
+ || rendererAdrEp.getEndpointGroup().contains(RendererUtils.EPG_EXTERNAL_ID)) {
+ return;
+ }
Set<EpgKeyDto> rendererEpgs = toEpgKeys(rendererAdrEp.getEndpointGroup(), rendererAdrEp.getTenant());
RendererEndpointKey rendererEpKey = AddressEndpointUtils.toRendererEpKey(rendererAdrEp.getKey());
for (EpgKeyDto rendererEpg : rendererEpgs) {
if (isSameKeys(rendererEpKey, peerAdrEpKey)) {
continue;
}
- ExternalImplicitGroup eig = policy.getExternalImplicitGroup();
- if (eig != null) {
+ // external peers
+ if (policy.getExternalImplicitGroup() != null) {
if (!currentState.epLocInfo.hasRelativeLocation(peerAdrEpKey)) {
LOG.debug("EIG Peer does not have relative location therefore it is ignored: {}", peerAdrEpKey);
continue;
}
}
} else {
- if (!currentState.epLocInfo.hasAbsoluteLocation(peerAdrEpKey)) {
- LOG.debug("Peer does not have absolute location therefore it is ignored: {}", peerAdrEpKey);
+ // peers within virtual domain
+ if (!currentState.epLocInfo.hasAbsoluteLocation(peerAdrEpKey)
+ && !currentState.epLocInfo.hasRelativeLocation(peerAdrEpKey)) {
+ LOG.debug("Peer does not have absolute nor relative location therefore it is ignored: {}",
+ peerAdrEpKey);
continue;
}
PeerEndpointKey peerEpKey = AddressEndpointUtils.toPeerEpKey(peerAdrEpKey);