From b16cea20258ba537db7c0755208c82ab93331ff7 Mon Sep 17 00:00:00 2001 From: Michal Cmarada Date: Mon, 8 Apr 2019 11:37:45 +0200 Subject: HONEYCOMB-443: ODL bump to Neon - bumps ODL dependencies to neon - migrates guava optional to java.utils.optional Change-Id: Ibdaa365c7e21a341103aba88dfd67277e40d2969 Signed-off-by: Michal Cmarada --- .../infra/bgp/ApplicationRibWriterFactory.java | 2 +- .../main/java/io/fd/honeycomb/infra/bgp/BgpModule.java | 18 ++++++++++++------ .../java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java | 10 ++++++++-- .../honeycomb/infra/bgp/BgpReaderFactoryProvider.java | 9 +++++---- .../infra/bgp/neighbors/BgpPeerWriterFactory.java | 2 -- 5 files changed, 26 insertions(+), 15 deletions(-) (limited to 'infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp') diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/ApplicationRibWriterFactory.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/ApplicationRibWriterFactory.java index 9ff55207b..2b8097ff9 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/ApplicationRibWriterFactory.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/ApplicationRibWriterFactory.java @@ -22,7 +22,7 @@ import com.google.inject.name.Named; import io.fd.honeycomb.translate.util.write.BindingBrokerWriter; import io.fd.honeycomb.translate.write.WriterFactory; import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.ApplicationRib; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.Tables; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpModule.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpModule.java index 7123caf14..8820b995d 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpModule.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpModule.java @@ -25,12 +25,12 @@ import com.google.inject.name.Names; import io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider; import io.fd.honeycomb.infra.distro.data.DataStoreProvider; import io.fd.honeycomb.infra.distro.data.InmemoryDOMDataBrokerProvider; +import io.fd.honeycomb.infra.distro.data.LegacyBindingDataBrokerProvider; import io.fd.honeycomb.translate.bgp.RibWriter; import io.netty.channel.EventLoopGroup; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.store.impl.InMemoryDOMDataStore; +import org.opendaylight.mdsal.binding.api.DataBroker; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; +import org.opendaylight.mdsal.dom.store.inmemory.InMemoryDOMDataStore; import org.opendaylight.protocol.bgp.rib.impl.spi.BGPDispatcher; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; import org.slf4j.Logger; @@ -67,12 +67,12 @@ public final class BgpModule extends PrivateModule { private void configureRIB() { // Create inmemory config data store for HONEYCOMB_BGP bind(InMemoryDOMDataStore.class).annotatedWith(Names.named(CONFIG)) - .toProvider(new DataStoreProvider(CONFIG, LogicalDatastoreType.CONFIGURATION)) + .toProvider(new DataStoreProvider(CONFIG)) .in(Singleton.class); // Create inmemory operational data store for HONEYCOMB_BGP bind(InMemoryDOMDataStore.class).annotatedWith(Names.named(OPERATIONAL)) - .toProvider(new DataStoreProvider(OPERATIONAL, LogicalDatastoreType.OPERATIONAL)) + .toProvider(new DataStoreProvider(OPERATIONAL)) .in(Singleton.class); // Wrap datastores as DOMDataBroker @@ -84,6 +84,12 @@ public final class BgpModule extends PrivateModule { .in(Singleton.class); expose(DataBroker.class).annotatedWith(Names.named(HONEYCOMB_BGP)); + bind(org.opendaylight.controller.md.sal.binding.api.DataBroker.class).annotatedWith(Names.named(HONEYCOMB_BGP)) + .toProvider(LegacyBindingDataBrokerProvider.class) + .in(Singleton.class); + expose(org.opendaylight.controller.md.sal.binding.api.DataBroker.class) + .annotatedWith(Names.named(HONEYCOMB_BGP)); + // Create RIB instance bind(RIB.class).toProvider(BgpRIBProvider.class).in(Singleton.class); expose(RIB.class); diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java index 8ced20b80..398cf69b1 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpRIBProvider.java @@ -29,8 +29,9 @@ import java.util.Set; import java.util.stream.Collectors; import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.controller.md.sal.dom.broker.impl.PingPongDataBroker; +import org.opendaylight.controller.sal.core.compat.LegacyDOMDataBrokerAdapter; +import org.opendaylight.mdsal.dom.api.DOMDataBroker; import org.opendaylight.mdsal.dom.api.DOMSchemaService; import org.opendaylight.protocol.bgp.openconfig.routing.policy.impl.BGPRibRoutingPolicyFactoryImpl; import org.opendaylight.protocol.bgp.openconfig.routing.policy.spi.registry.StatementRegistry; @@ -80,6 +81,10 @@ final class BgpRIBProvider extends ProviderTrait { @Override protected RIB create() { + + LegacyDOMDataBrokerAdapter DomDataBrokerAdapter = new LegacyDOMDataBrokerAdapter(domBroker); + DomDataBrokerAdapter.getSupportedExtensions().get(DOMSchemaService.class); + Preconditions.checkArgument(policyCfg.getPolicyConfig().isPresent(), "Bgp policy configuration failed to load. Check bgp-policy.json configuration file."); final AsNumber asNumber = new AsNumber(cfg.bgpAsNumber.get().longValue()); @@ -91,9 +96,10 @@ final class BgpRIBProvider extends ProviderTrait { final ArrayList afiSafiList = new ArrayList<>(configuredAfiSafis); // based on org.opendaylight.protocol.bgp.rib.impl.config.RibImpl.createRib - final PingPongDataBroker pingPongDataBroker = new PingPongDataBroker(domBroker); + final PingPongDataBroker pingPongDataBroker = new PingPongDataBroker(DomDataBrokerAdapter); final CodecsRegistryImpl codecsRegistry = CodecsRegistryImpl.create(codec, extensions.getClassLoadingStrategy()); + final BGPRibRoutingPolicyFactoryImpl bgpRibRoutingPolicyFactory = new BGPRibRoutingPolicyFactoryImpl(dataBroker, new StatementRegistry()); final BGPRibRoutingPolicy ribPolicies = bgpRibRoutingPolicyFactory diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpReaderFactoryProvider.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpReaderFactoryProvider.java index 7ae724696..56af9b51f 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpReaderFactoryProvider.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/BgpReaderFactoryProvider.java @@ -16,14 +16,15 @@ package io.fd.honeycomb.infra.bgp; +import static org.opendaylight.mdsal.common.api.LogicalDatastoreType.OPERATIONAL; + import com.google.inject.Inject; import com.google.inject.name.Named; import io.fd.honeycomb.binding.init.ProviderTrait; import io.fd.honeycomb.translate.read.ReaderFactory; import io.fd.honeycomb.translate.read.registry.ModifiableReaderRegistryBuilder; import io.fd.honeycomb.translate.util.read.BindingBrokerReader; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; +import org.opendaylight.mdsal.binding.api.DataBroker; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRib; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.BgpRibBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -53,8 +54,8 @@ final class BgpReaderFactoryProvider extends ProviderTrait { @Override public void init(final ModifiableReaderRegistryBuilder registry) { - registry.add(new BindingBrokerReader<>(InstanceIdentifier.create(BgpRib.class), - bgpDataBroker, LogicalDatastoreType.OPERATIONAL, BgpRibBuilder.class)); + registry.add(new BindingBrokerReader<>(InstanceIdentifier.create(BgpRib.class), bgpDataBroker, OPERATIONAL, + BgpRibBuilder.class)); } } } diff --git a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/neighbors/BgpPeerWriterFactory.java b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/neighbors/BgpPeerWriterFactory.java index e844cf3e0..c70dc0050 100644 --- a/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/neighbors/BgpPeerWriterFactory.java +++ b/infra/northbound/bgp/src/main/java/io/fd/honeycomb/infra/bgp/neighbors/BgpPeerWriterFactory.java @@ -22,7 +22,6 @@ import io.fd.honeycomb.translate.impl.write.GenericListWriter; import io.fd.honeycomb.translate.write.WriterFactory; import io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder; import javax.annotation.Nonnull; -import org.opendaylight.controller.md.sal.binding.api.DataBroker; import org.opendaylight.protocol.bgp.openconfig.spi.BGPTableTypeRegistryConsumer; import org.opendaylight.protocol.bgp.rib.impl.spi.BGPPeerRegistry; import org.opendaylight.protocol.bgp.rib.impl.spi.RIB; @@ -35,7 +34,6 @@ import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.re import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.network.instance.rev151018.network.instance.top.network.instances.network.instance.protocols.Protocol; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.openconfig.extensions.rev180329.NetworkInstanceProtocol; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; -import org.osgi.framework.BundleContext; /** * Initializes writer for Bgp Neighbors ({@link Neighbor} node) and all its parents required by HC infra. -- cgit 1.2.3-korg