<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
- <version>0.8.0-Beryllium</version>
+ <version>0.8.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>features-parent</artifactId>
- <version>1.6.0-Beryllium</version>
+ <version>1.6.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.controller</groupId>
<artifactId>config-parent</artifactId>
- <version>0.4.0-Beryllium</version>
+ <version>0.4.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.controller</groupId>
<artifactId>mdsal-it-parent</artifactId>
- <version>1.3.0-Beryllium</version>
+ <version>1.3.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.controller</groupId>
<artifactId>karaf-parent</artifactId>
- <version>1.6.0-Beryllium</version>
+ <version>1.6.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<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>
<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>
<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 -->
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;
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");
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);
}
}
- // 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()");
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());
}
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) {
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 {
}
}
- // 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 {
@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();
<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>
<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'>
<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>
</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>
<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>
</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>
<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>
</modules>
<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>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>1.6.0-Beryllium</version>
+ <version>1.6.2-Beryllium-SR2</version>
<relativePath/>
</parent>
<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>
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: {
<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.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>
@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) {
@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) {
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"));
}
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.");
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;
verifyModifyVhostUserIfWasInvoked(vhostUserAfter, IFACE_ID);
}
- @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");
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;
fail("WriteFailedException.CreateFailedException was expected");
}
- @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;
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;
fail("WriteFailedException.UpdateFailedException was expected");
}
- @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();
<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>
<maven>3.1.1</maven>
</prerequisites>
<properties>
- <mdsal.version>2.0.0-Beryllium</mdsal.version>
- <mdsal.model.version>0.8.0-Beryllium</mdsal.model.version>
- <restconf.version>1.3.0-Beryllium</restconf.version>
- <netconf.mdsal.version>1.3.0-Beryllium</netconf.mdsal.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.version>2.0.2-Beryllium-SR2</mdsal.version>
+ <mdsal.model.version>0.8.2-Beryllium-SR2</mdsal.model.version>
+ <restconf.version>1.3.2-Beryllium-SR2</restconf.version>
+ <netconf.mdsal.version>1.3.2-Beryllium-SR2</netconf.mdsal.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>
<v3po.version>1.0.0-SNAPSHOT</v3po.version>
<configfile.directory>etc/opendaylight/karaf</configfile.directory>
</properties>
<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.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>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yangtools-artifacts</artifactId>
- <version>0.8.0-Beryllium</version>
+ <version>0.8.2-Beryllium-SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.opendaylight.dlux</groupId>
<artifactId>loader</artifactId>
- <version>0.3.0-Beryllium</version>
+ <version>0.3.2-Beryllium-SR2</version>
</dependency>
<dependency>
<groupId>io.fd.honeycomb.vbd</groupId>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>1.6.0-Beryllium</version>
+ <version>1.6.2-Beryllium-SR2</version>
<relativePath/>
</parent>