diff options
24 files changed, 89 insertions, 196 deletions
diff --git a/v3po/api/pom.xml b/v3po/api/pom.xml index 6ae5dc5be..f8d833417 100644 --- a/v3po/api/pom.xml +++ b/v3po/api/pom.xml @@ -32,7 +32,7 @@ <dependency> <groupId>org.opendaylight.mdsal.model</groupId> <artifactId>mdsal-model-artifacts</artifactId> - <version>0.8.0-Beryllium</version> + <version>0.8.2-Beryllium-SR2</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/v3po/data-api/pom.xml b/v3po/data-api/pom.xml index 9ecbe80cb..5d4a6cd03 100644 --- a/v3po/data-api/pom.xml +++ b/v3po/data-api/pom.xml @@ -46,7 +46,7 @@ <dependency> <groupId>org.opendaylight.controller</groupId> <artifactId>sal-common-api</artifactId> - <version>1.3.0-Beryllium</version> <!-- FIXME use dependency management --> + <version>1.3.2-Beryllium-SR2</version> <!-- FIXME use dependency management --> </dependency> </dependencies> diff --git a/v3po/data-impl/pom.xml b/v3po/data-impl/pom.xml index 1d716a6d9..d7a51b0b5 100644 --- a/v3po/data-impl/pom.xml +++ b/v3po/data-impl/pom.xml @@ -51,20 +51,20 @@ <dependency> <groupId>org.opendaylight.controller</groupId> <artifactId>sal-core-api</artifactId> - <version>1.3.0-Beryllium</version> <!-- FIXME use dependency management --> + <version>1.3.2-Beryllium-SR2</version> <!-- FIXME use dependency management --> </dependency> <!-- FIXME workaround for https://git.opendaylight.org/gerrit/#/c/37499/--> <dependency> <groupId>org.opendaylight.netconf</groupId> <artifactId>ietf-netconf-monitoring</artifactId> - <version>1.0.0-Beryllium</version> + <version>1.0.2-Beryllium-SR2</version> </dependency> <!-- FIXME workaround for https://git.opendaylight.org/gerrit/#/c/37499/--> <dependency> <groupId>org.opendaylight.netconf</groupId> <artifactId>ietf-netconf-monitoring-extension</artifactId> - <version>1.0.0-Beryllium</version> + <version>1.0.2-Beryllium-SR2</version> </dependency> <!-- Testing Dependencies --> diff --git a/v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegator.java b/v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegator.java index e660ee429..46903a1f0 100644 --- a/v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegator.java +++ b/v3po/data-impl/src/main/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegator.java @@ -36,11 +36,7 @@ import io.fd.honeycomb.v3po.translate.util.write.TransactionMappingContext; import java.util.Collection; import java.util.Map; import javax.annotation.Nonnull; -import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType; import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException; -import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; -import org.opendaylight.controller.md.sal.dom.api.DOMDataReadOnlyTransaction; -import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.NetconfState; import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -70,24 +66,20 @@ public final class ReadableDataTreeDelegator implements ReadableDataManager { private final BindingNormalizedNodeSerializer serializer; private final ReaderRegistry readerRegistry; private final SchemaContext globalContext; - private final DOMDataBroker netconfMonitoringDomDataBrokerDependency; private final org.opendaylight.controller.md.sal.binding.api.DataBroker contextBroker; /** * Creates operational data tree instance. - * @param serializer service for serialization between Java Binding Data representation and NormalizedNode + * @param serializer service for serialization between Java Binding Data representation and NormalizedNode * representation. * @param globalContext service for obtaining top level context data from all yang modules. * @param readerRegistry service responsible for translation between DataObjects and data provider. - * @param netconfMonitoringDomDataBrokerDependency TODO remove * @param contextBroker BA broker for context data */ public ReadableDataTreeDelegator(@Nonnull BindingNormalizedNodeSerializer serializer, @Nonnull final SchemaContext globalContext, @Nonnull final ReaderRegistry readerRegistry, - @Nonnull final DOMDataBroker netconfMonitoringDomDataBrokerDependency, @Nonnull final org.opendaylight.controller.md.sal.binding.api.DataBroker contextBroker) { - this.netconfMonitoringDomDataBrokerDependency = netconfMonitoringDomDataBrokerDependency; this.contextBroker = checkNotNull(contextBroker, "contextBroker should not be null"); this.globalContext = checkNotNull(globalContext, "globalContext should not be null"); this.serializer = checkNotNull(serializer, "serializer should not be null"); @@ -133,15 +125,6 @@ public final class ReadableDataTreeDelegator implements ReadableDataManager { private Optional<NormalizedNode<?, ?>> readNode(final YangInstanceIdentifier yangInstanceIdentifier, final ReadContext ctx) throws ReadFailedException { - - // FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ - // Just delete, dedicated reader from NetconfMonitoringReaderModule takes care of netconf state data - // TODO test connecting with netconf and issuing a get (netconf-state) data should be provided - if(yangInstanceIdentifier.getPathArguments().size() > 0 && - yangInstanceIdentifier.getPathArguments().get(0).getNodeType().equals(NetconfState.QNAME)) { - return readFromNetconfDs(yangInstanceIdentifier); - } - LOG.debug("OperationalDataTree.readNode(), yangInstanceIdentifier={}", yangInstanceIdentifier); final InstanceIdentifier<?> path = serializer.fromYangInstanceIdentifier(yangInstanceIdentifier); checkNotNull(path, "Invalid instance identifier %s. Cannot create BA equivalent.", yangInstanceIdentifier); @@ -158,19 +141,6 @@ public final class ReadableDataTreeDelegator implements ReadableDataManager { } } - // FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ - private Optional<NormalizedNode<?, ?>> readFromNetconfDs(final YangInstanceIdentifier yangInstanceIdentifier) - throws ReadFailedException { - try(final DOMDataReadOnlyTransaction domDataReadOnlyTransaction = - netconfMonitoringDomDataBrokerDependency.newReadOnlyTransaction()) { - try { - return domDataReadOnlyTransaction.read(LogicalDatastoreType.OPERATIONAL, yangInstanceIdentifier).checkedGet(); - } catch (org.opendaylight.controller.md.sal.common.api.data.ReadFailedException e) { - throw new ReadFailedException(InstanceIdentifier.create(NetconfState.class), e); - } - } - } - private Optional<NormalizedNode<?, ?>> readRoot(final ReadContext ctx) throws ReadFailedException { LOG.debug("OperationalDataTree.readRoot()"); @@ -187,14 +157,6 @@ public final class ReadableDataTreeDelegator implements ReadableDataManager { wrapDataObjects(rootElementId, instanceIdentifier, dataObjects.get(instanceIdentifier)); dataNodeBuilder.withChild((DataContainerChild<?, ?>) node); } - - // FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ - final Optional<NormalizedNode<?, ?>> normalizedNodeOptional = - readFromNetconfDs(YangInstanceIdentifier.builder().node(NetconfState.QNAME).build()); - if(normalizedNodeOptional.isPresent()) { - dataNodeBuilder.withChild((DataContainerChild<?, ?>) normalizedNodeOptional.get()); - } - return Optional.<NormalizedNode<?, ?>>of(dataNodeBuilder.build()); } @@ -252,7 +214,7 @@ public final class ReadableDataTreeDelegator implements ReadableDataManager { private static final class ReadContextImpl implements ReadContext { - public final ModificationCache ctx = new ModificationCache(); + private final ModificationCache ctx = new ModificationCache(); private final MappingContext mappingContext; private ReadContextImpl(final MappingContext mappingContext) { diff --git a/v3po/data-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/impl/rev160411/OperationalDataTreeModule.java b/v3po/data-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/impl/rev160411/OperationalDataTreeModule.java index 286eaf664..2e49cb7ec 100644 --- a/v3po/data-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/impl/rev160411/OperationalDataTreeModule.java +++ b/v3po/data-impl/src/main/java/org/opendaylight/yang/gen/v1/urn/honeycomb/params/xml/ns/yang/data/impl/rev160411/OperationalDataTreeModule.java @@ -38,7 +38,7 @@ public class OperationalDataTreeModule extends LOG.debug("OperationalDataTreeModule.createInstance()"); return new CloseableOperationalDataTree( new ReadableDataTreeDelegator(getSerializerDependency(), getSchemaServiceDependency().getGlobalContext(), - getReaderRegistryDependency(), getNetconfMonitoringDomDataBrokerDependency(), getContextBindingBrokerDependency())); + getReaderRegistryDependency(), getContextBindingBrokerDependency())); } private static final class CloseableOperationalDataTree implements ReadableDataManager, AutoCloseable { diff --git a/v3po/data-impl/src/main/yang/data-impl.yang b/v3po/data-impl/src/main/yang/data-impl.yang index a6b217a84..ebca239a2 100644 --- a/v3po/data-impl/src/main/yang/data-impl.yang +++ b/v3po/data-impl/src/main/yang/data-impl.yang @@ -162,16 +162,6 @@ module data-impl { } } - // FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ - container netconf-monitoring-dom-data-broker { - uses config:service-ref { - refine type { - mandatory true; - config:required-identity dom:dom-async-data-broker; - } - } - } - container context-binding-broker { uses config:service-ref { refine type { diff --git a/v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegatorTest.java b/v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegatorTest.java index 4492c70a2..c8d4fe4e5 100644 --- a/v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegatorTest.java +++ b/v3po/data-impl/src/test/java/io/fd/honeycomb/v3po/data/impl/ReadableDataTreeDelegatorTest.java @@ -88,7 +88,7 @@ public class ReadableDataTreeDelegatorTest { @Before public void setUp() { initMocks(this); - operationalData = new ReadableDataTreeDelegator(serializer, globalContext, reader, netconfMonitoringBroker, contextBroker); + operationalData = new ReadableDataTreeDelegator(serializer, globalContext, reader, contextBroker); doReturn(schemaNode).when(globalContext).getDataChildByName(any(QName.class)); doReturn(domDataReadOnlyTransaction).when(netconfMonitoringBroker).newReadOnlyTransaction(); diff --git a/v3po/features/pom.xml b/v3po/features/pom.xml index b79e62d92..b511e8f11 100644 --- a/v3po/features/pom.xml +++ b/v3po/features/pom.xml @@ -29,12 +29,12 @@ <maven>3.1.1</maven> </prerequisites> <properties> - <mdsal.model.version>0.8.0-Beryllium</mdsal.model.version> - <mdsal.version>1.3.0-Beryllium</mdsal.version> - <restconf.version>1.3.0-Beryllium</restconf.version> - <netconf.version>1.0.0-Beryllium</netconf.version> - <yangtools.version>0.8.0-Beryllium</yangtools.version> - <dlux.version>0.3.0-Beryllium</dlux.version> + <mdsal.model.version>0.8.2-Beryllium-SR2</mdsal.model.version> + <mdsal.version>1.3.2-Beryllium-SR2</mdsal.version> + <restconf.version>1.3.2-Beryllium-SR2</restconf.version> + <netconf.version>1.0.2-Beryllium-SR2</netconf.version> + <yangtools.version>0.8.2-Beryllium-SR2</yangtools.version> + <dlux.version>0.3.2-Beryllium-SR2</dlux.version> <configfile.directory>etc/opendaylight/karaf</configfile.directory> </properties> <dependencyManagement> diff --git a/v3po/features/src/main/features/features.xml b/v3po/features/src/main/features/features.xml index 98fc17aff..49208e7fa 100644 --- a/v3po/features/src/main/features/features.xml +++ b/v3po/features/src/main/features/features.xml @@ -51,14 +51,15 @@ <configfile finalname="${configfile.directory}/v3po-context.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/context</configfile> <configfile finalname="${configfile.directory}/v3po.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/config</configfile> <configfile finalname="${configfile.directory}/v3po-init.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/init</configfile> - <configfile finalname="${configfile.directory}/v3po-netconf.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/netconf</configfile> - <configfile finalname="${configfile.directory}/v3po-restconf.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/restconf</configfile> <configfile finalname="${configfile.directory}/v3po2vpp.xml">mvn:io.fd.honeycomb.v3po/v3po2vpp/${project.version}/xml/config</configfile> </feature> <feature name='odl-v3po-rest' version='${project.version}' description='OpenDaylight :: v3po :: REST'> <feature version="${project.version}">odl-v3po</feature> <feature version="${restconf.version}">odl-restconf</feature> + <!-- Northbound interfaces configuration --> + <configfile finalname="${configfile.directory}/v3po-netconf.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/netconf</configfile> + <configfile finalname="${configfile.directory}/v3po-restconf.xml">mvn:io.fd.honeycomb.v3po/v3po-impl/${project.version}/xml/restconf</configfile> </feature> <feature name='odl-v3po-ui' version='${project.version}' description='OpenDaylight :: v3po :: UI'> diff --git a/v3po/impl/pom.xml b/v3po/impl/pom.xml index 6f4f4e172..dc41c5b75 100644 --- a/v3po/impl/pom.xml +++ b/v3po/impl/pom.xml @@ -58,12 +58,12 @@ <dependency> <groupId>org.opendaylight.netconf</groupId> <artifactId>ietf-netconf-monitoring</artifactId> - <version>1.0.0-Beryllium</version> + <version>1.0.2-Beryllium-SR2</version> </dependency> <dependency> <groupId>org.opendaylight.netconf</groupId> <artifactId>ietf-netconf-monitoring-extension</artifactId> - <version>1.0.0-Beryllium</version> + <version>1.0.2-Beryllium-SR2</version> </dependency> <dependency> diff --git a/v3po/impl/src/main/config/default-config.xml b/v3po/impl/src/main/config/default-config.xml index 961ca72c0..2fe385631 100644 --- a/v3po/impl/src/main/config/default-config.xml +++ b/v3po/impl/src/main/config/default-config.xml @@ -93,48 +93,6 @@ </context-binding-broker> </module> - <!-- FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ Move to netconf-north-config--> - <module> - <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider">prefix:inmemory-config-datastore-provider</type> - <name>netconf-config-store-service</name> - <inmemory-config-datastore-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider"> - <schema-service> - <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> - <name>yang-schema-service</name> - </schema-service> - </inmemory-config-datastore-provider> - </module> - <module> - <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider">prefix:inmemory-operational-datastore-provider</type> - <name>netconf-operational-store-service</name> - <inmemory-operational-datastore-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider"> - <schema-service> - <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> - <name>yang-schema-service</name> - </schema-service> - </inmemory-operational-datastore-provider> - </module> - <module> - <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl">prefix:dom-inmemory-data-broker</type> - <name>netconf-inmemory-data-broker</name> - - <schema-service> - <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> - <name>yang-schema-service</name> - </schema-service> - - <config-data-store> - <type xmlns:config-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:config-dom-store">config-dom-store-spi:config-dom-datastore</type> - <name>netconf-config-store-service</name> - </config-data-store> - - <operational-data-store> - <type xmlns:operational-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:operational-dom-store">operational-dom-store-spi:operational-dom-datastore</type> - <name>netconf-operational-store-service</name> - </operational-data-store> - </module> - <!-- FIXME end--> - <!-- HC operational data tree --> <module> <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:data:impl">prefix:honeycomb-operational-data-tree</type> @@ -151,10 +109,6 @@ <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:translate:api">prefix:honeycomb-reader-registry</type> <name>read-registry</name> </reader-registry> - <netconf-monitoring-dom-data-broker> - <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type> - <name>netconf-inmemory-data-broker</name> - </netconf-monitoring-dom-data-broker> <context-binding-broker> <type xmlns:binding="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding">binding:binding-async-data-broker</type> <name>honeycomb-context-binding-data-broker</name> @@ -211,31 +165,6 @@ </modules> <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"> - <!-- FIXME workaround for: https://git.opendaylight.org/gerrit/#/c/37499/ Move to netconf-north-config --> - - <service> - <type xmlns:config-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:config-dom-store">config-dom-store-spi:config-dom-datastore</type> - <instance> - <name>netconf-config-store-service</name> - <provider>/modules/module[type='inmemory-config-datastore-provider'][name='netconf-config-store-service']</provider> - </instance> - </service> - <service> - <type xmlns:operational-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:operational-dom-store">operational-dom-store-spi:operational-dom-datastore</type> - <instance> - <name>netconf-operational-store-service</name> - <provider>/modules/module[type='inmemory-operational-datastore-provider'][name='netconf-operational-store-service']</provider> - </instance> - </service> - <service> - <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type> - <instance> - <name>netconf-inmemory-data-broker</name> - <provider>/modules/module[type='dom-inmemory-data-broker'][name='netconf-inmemory-data-broker']</provider> - </instance> - </service> - <!-- FIXME end--> - <service> <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type> diff --git a/v3po/impl/src/main/config/netconf-north-config.xml b/v3po/impl/src/main/config/netconf-north-config.xml index b41aafeda..ef500c68c 100644 --- a/v3po/impl/src/main/config/netconf-north-config.xml +++ b/v3po/impl/src/main/config/netconf-north-config.xml @@ -23,8 +23,45 @@ <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"> <!-- In memory DS dedicated to NETCONF monitoring, notifications etc. --> + <module> + <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider">prefix:inmemory-config-datastore-provider</type> + <name>netconf-config-store-service</name> + <inmemory-config-datastore-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider"> + <schema-service> + <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> + <name>yang-schema-service</name> + </schema-service> + </inmemory-config-datastore-provider> + </module> + <module> + <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider">prefix:inmemory-operational-datastore-provider</type> + <name>netconf-operational-store-service</name> + <inmemory-operational-datastore-provider xmlns="urn:opendaylight:params:xml:ns:yang:controller:inmemory-datastore-provider"> + <schema-service> + <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> + <name>yang-schema-service</name> + </schema-service> + </inmemory-operational-datastore-provider> + </module> + <module> + <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom:impl">prefix:dom-inmemory-data-broker</type> + <name>netconf-inmemory-data-broker</name> + <schema-service> + <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:schema-service</type> + <name>yang-schema-service</name> + </schema-service> + <config-data-store> + <type xmlns:config-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:config-dom-store">config-dom-store-spi:config-dom-datastore</type> + <name>netconf-config-store-service</name> + </config-data-store> + + <operational-data-store> + <type xmlns:operational-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:operational-dom-store">operational-dom-store-spi:operational-dom-datastore</type> + <name>netconf-operational-store-service</name> + </operational-data-store> + </module> <module> <type xmlns:prefix="urn:opendaylight:params:xml:ns:yang:controller:md:sal:binding:impl">prefix:binding-forwarded-data-broker</type> @@ -305,6 +342,28 @@ <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config"> <service> + <type xmlns:config-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:config-dom-store">config-dom-store-spi:config-dom-datastore</type> + <instance> + <name>netconf-config-store-service</name> + <provider>/modules/module[type='inmemory-config-datastore-provider'][name='netconf-config-store-service']</provider> + </instance> + </service> + <service> + <type xmlns:operational-dom-store-spi="urn:opendaylight:params:xml:ns:yang:controller:md:sal:core:spi:operational-dom-store">operational-dom-store-spi:operational-dom-datastore</type> + <instance> + <name>netconf-operational-store-service</name> + <provider>/modules/module[type='inmemory-operational-datastore-provider'][name='netconf-operational-store-service']</provider> + </instance> + </service> + <service> + <type xmlns:dom="urn:opendaylight:params:xml:ns:yang:controller:md:sal:dom">dom:dom-async-data-broker</type> + <instance> + <name>netconf-inmemory-data-broker</name> + <provider>/modules/module[type='dom-inmemory-data-broker'][name='netconf-inmemory-data-broker']</provider> + </instance> + </service> + + <service> <type xmlns:prefix="urn:honeycomb:params:xml:ns:yang:translate:api">prefix:honeycomb-reader</type> <instance> <name>netconf-monitoring-reader</name> diff --git a/v3po/pom.xml b/v3po/pom.xml index c79cb1213..7676a299a 100644 --- a/v3po/pom.xml +++ b/v3po/pom.xml @@ -18,7 +18,7 @@ <parent> <groupId>org.opendaylight.odlparent</groupId> <artifactId>odlparent</artifactId> - <version>1.6.0-Beryllium</version> + <version>1.6.2-Beryllium-SR2</version> <relativePath/> </parent> diff --git a/v3po/translate-api/pom.xml b/v3po/translate-api/pom.xml index 4323e7f37..8e244fa8d 100644 --- a/v3po/translate-api/pom.xml +++ b/v3po/translate-api/pom.xml @@ -33,7 +33,7 @@ <dependency> <groupId>org.opendaylight.mdsal</groupId> <artifactId>mdsal-artifacts</artifactId> - <version>2.0.0-Beryllium</version> + <version>2.0.2-Beryllium-SR2</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/AbstractCompositeWriter.java b/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/AbstractCompositeWriter.java index 8b42a6c6f..2a08da12c 100644 --- a/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/AbstractCompositeWriter.java +++ b/v3po/translate-impl/src/main/java/io/fd/honeycomb/v3po/translate/impl/write/AbstractCompositeWriter.java @@ -98,14 +98,11 @@ public abstract class AbstractCompositeWriter<D extends DataObject> implements W final WriteContext ctx) throws WriteFailedException { LOG.debug("{}: Updating current: {} dataBefore: {}, datAfter: {}", this, id, dataBefore, dataAfter); - // FIXME: Equals does not work properly with augments: https://git.opendaylight.org/gerrit/#/c/37719 - // Solution: update mdsal-binding-dom-codec to 0.8.2-Beryllium-SR2 when it will be published in - // ODL release repository - //if (dataBefore.equals(dataAfter)) { - // LOG.debug("{}: Skipping current(no update): {}", this, id); - // // No change, ignore - // return; - //} + if (dataBefore.equals(dataAfter)) { + LOG.debug("{}: Skipping current(no update): {}", this, id); + // No change, ignore + return; + } switch (traversalType) { case PREORDER: { diff --git a/v3po/translate-spi/pom.xml b/v3po/translate-spi/pom.xml index 17e108810..ebb7606d1 100644 --- a/v3po/translate-spi/pom.xml +++ b/v3po/translate-spi/pom.xml @@ -33,7 +33,7 @@ <dependency> <groupId>org.opendaylight.mdsal</groupId> <artifactId>mdsal-artifacts</artifactId> - <version>2.0.0-Beryllium</version> + <version>2.0.2-Beryllium-SR2</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/v3po/translate-utils/pom.xml b/v3po/translate-utils/pom.xml index 9cb6590d8..86a11bdba 100644 --- a/v3po/translate-utils/pom.xml +++ b/v3po/translate-utils/pom.xml @@ -33,14 +33,14 @@ <dependency> <groupId>org.opendaylight.mdsal</groupId> <artifactId>mdsal-artifacts</artifactId> - <version>2.0.0-Beryllium</version> + <version>2.0.2-Beryllium-SR2</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.opendaylight.controller</groupId> <artifactId>mdsal-artifacts</artifactId> - <version>1.3.0-Beryllium</version> + <version>1.3.2-Beryllium-SR2</version> <type>pom</type> <scope>import</scope> </dependency> diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizer.java index 5f7d626e8..aef45c821 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizer.java @@ -112,11 +112,6 @@ public class VhostUserCustomizer extends AbstractInterfaceTypeCustomizer<VhostUs @Nonnull final VhostUser dataBefore, @Nonnull final VhostUser dataAfter, @Nonnull final WriteContext writeContext) throws WriteFailedException.UpdateFailedException { - if (dataBefore.equals(dataAfter)) { - LOG.debug("dataBefore equals dataAfter, update will not be performed"); - return; - } - try { modifyVhostUserIf(id.firstKeyOf(Interface.class).getName(), dataAfter, writeContext); } catch (VppApiInvocationException e) { diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizer.java index 9292a2f46..497a83e48 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizer.java @@ -122,10 +122,6 @@ public class VlanTagRewriteCustomizer extends AbstractInterfaceTypeCustomizer<Vl @Nonnull final VlanTagRewrite dataBefore, @Nonnull final VlanTagRewrite dataAfter, @Nonnull final WriteContext writeContext) throws WriteFailedException { - if (dataBefore.equals(dataAfter)) { - LOG.debug("dataBefore equals dataAfter, update will not be performed"); - return; - } try { setTagRewrite(id.firstKeyOf(Interface.class).getName(), dataAfter, writeContext); } catch (VppApiInvocationException e) { diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizer.java index 3edd531c6..df9c25f6a 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizer.java @@ -82,10 +82,6 @@ public class VxlanCustomizer extends AbstractInterfaceTypeCustomizer<Vxlan> { public void updateCurrentAttributes(@Nonnull final InstanceIdentifier<Vxlan> id, @Nonnull final Vxlan dataBefore, @Nonnull final Vxlan dataAfter, @Nonnull final WriteContext writeContext) throws WriteFailedException.UpdateFailedException { - if (dataBefore.equals(dataAfter)) { - LOG.debug("dataBefore equals dataAfter, update will not be performed"); - return; - } throw new WriteFailedException.UpdateFailedException(id, dataBefore, dataAfter, new UnsupportedOperationException("Vxlan tunnel update is not supported")); } diff --git a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java index 6e94461a6..db1e61578 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/honeycomb/v3po/translate/v3po/vpp/BridgeDomainCustomizer.java @@ -142,13 +142,6 @@ public class BridgeDomainCustomizer LOG.debug("updateCurrentAttributes: id={}, dataBefore={}, dataAfter={}, ctx={}", id, dataBefore, dataAfter, ctx); - // FIXME can be removed after updating mdsal-binding-dom-codec to 0.8.2-Beryllium-SR2 - // and restoring equality check in AbstractCompositeWriter - if (dataBefore.equals(dataAfter)) { - LOG.debug("dataBefore equals dataAfter, update will not be performed"); - return; - } - final String bdName = checkNotNull(dataAfter.getName()); checkArgument(bdName.equals(dataBefore.getName()), "BridgeDomain name changed. It should be deleted and then created."); diff --git a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizerTest.java index 1015f24c0..a14718124 100644 --- a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizerTest.java +++ b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VhostUserCustomizerTest.java @@ -26,7 +26,6 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; @@ -230,14 +229,6 @@ public class VhostUserCustomizerTest { } @Test - public void testUpdateCurrentAttributesNoUpdate() throws Exception { - final VhostUser vhostUserBefore = generateVhostUser(VhostUserRole.Server, "socketName"); - final VhostUser vhostUserAfter = generateVhostUser(VhostUserRole.Server, "socketName"); - customizer.updateCurrentAttributes(ID, vhostUserBefore, vhostUserAfter, writeContext); - verify(api, never()).modifyVhostUserIf(any(ModifyVhostUserIf.class)); - } - - @Test public void testUpdateCurrentAttributesFailed() throws Exception { final VhostUser vhostUserBefore = generateVhostUser(VhostUserRole.Client, "socketName0"); final VhostUser vhostUserAfter = generateVhostUser(VhostUserRole.Server, "socketName1"); diff --git a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizerTest.java index 639257914..6b9f52cc9 100644 --- a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizerTest.java +++ b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VlanTagRewriteCustomizerTest.java @@ -22,7 +22,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.fail; import static org.mockito.Matchers.any; import static org.mockito.Mockito.doReturn; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.MockitoAnnotations.initMocks; @@ -174,14 +173,6 @@ public class VlanTagRewriteCustomizerTest { } @Test - public void testUpdateNoChange() throws Exception { - final VlanTagRewrite before = generateVlanTagRewrite(6); - final VlanTagRewrite after = generateVlanTagRewrite(6); - customizer.updateCurrentAttributes(null, before, after, writeContext); - verify(api, never()).l2InterfaceVlanTagRewrite(any()); - } - - @Test public void testUpdate() throws Exception { final int vtrOpAfter = 5; final VlanTagRewrite before = generateVlanTagRewrite(6); diff --git a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizerTest.java b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizerTest.java index a5103b178..1ddb48089 100644 --- a/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizerTest.java +++ b/v3po/v3po2vpp/src/test/java/io/fd/honeycomb/v3po/translate/v3po/interfaces/VxlanCustomizerTest.java @@ -25,7 +25,6 @@ import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.never; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -187,12 +186,6 @@ public class VxlanCustomizerTest { } @Test - public void testUpdateCurrentAttributesNoUpdate() throws Exception { - customizer.updateCurrentAttributes(id, generateVxlan(), generateVxlan(), writeContext); - verify(api, never()).vxlanAddDelTunnel(any(VxlanAddDelTunnel.class)); - } - - @Test public void testDeleteCurrentAttributes() throws Exception { final Vxlan vxlan = generateVxlan(); |