import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
import com.google.common.cache.LoadingCache;
-import com.google.common.util.concurrent.AsyncFunction;
import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.JdkFutureAdapters;
final ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
ListenableFuture<Optional<InterfaceMonitorEntry>> readFuture = tx.read(LogicalDatastoreType.OPERATIONAL,
getInterfaceMonitorMapId(interfaceName));
- ListenableFuture<Void> updateFuture = Futures.transform(readFuture,
- (AsyncFunction<Optional<InterfaceMonitorEntry>, Void>) optEntry -> {
- if (optEntry.isPresent()) {
- InterfaceMonitorEntry entry = optEntry.get();
- List<Long> monitorIds1 = entry.getMonitorIds();
- monitorIds1.add(monitorId);
- InterfaceMonitorEntry newEntry1 = new InterfaceMonitorEntryBuilder()
- .setKey(new InterfaceMonitorEntryKey(interfaceName)).setMonitorIds(monitorIds1).build();
- tx.merge(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry1);
- } else {
- // Create new monitor entry
- LOG.debug("Adding new interface-monitor association for interface {} with id {}", interfaceName,
- monitorId);
- List<Long> monitorIds2 = new ArrayList<>();
- monitorIds2.add(monitorId);
- InterfaceMonitorEntry newEntry2 = new InterfaceMonitorEntryBuilder()
- .setInterfaceName(interfaceName).setMonitorIds(monitorIds2).build();
- tx.put(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry2,
- CREATE_MISSING_PARENT);
- }
- return tx.submit();
- });
+ ListenableFuture<Void> updateFuture = Futures.transformAsync(readFuture, optEntry -> {
+ if (optEntry.isPresent()) {
+ InterfaceMonitorEntry entry = optEntry.get();
+ List<Long> monitorIds1 = entry.getMonitorIds();
+ monitorIds1.add(monitorId);
+ InterfaceMonitorEntry newEntry1 = new InterfaceMonitorEntryBuilder()
+ .setKey(new InterfaceMonitorEntryKey(interfaceName)).setMonitorIds(monitorIds1).build();
+ tx.merge(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry1);
+ } else {
+ // Create new monitor entry
+ LOG.debug("Adding new interface-monitor association for interface {} with id {}", interfaceName,
+ monitorId);
+ List<Long> monitorIds2 = new ArrayList<>();
+ monitorIds2.add(monitorId);
+ InterfaceMonitorEntry newEntry2 = new InterfaceMonitorEntryBuilder()
+ .setInterfaceName(interfaceName).setMonitorIds(monitorIds2).build();
+ tx.put(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry2,
+ CREATE_MISSING_PARENT);
+ }
+ return tx.submit();
+ });
Futures.addCallback(updateFuture, new FutureCallbackImpl(
String.format("Association of monitorId %d with Interface %s", monitorId, interfaceName)));
final ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
ListenableFuture<Optional<MonitoringState>> readResult = tx.read(LogicalDatastoreType.OPERATIONAL,
getMonitorStateId(monitorKey));
- ListenableFuture<Void> writeResult = Futures.transform(readResult,
- (AsyncFunction<Optional<MonitoringState>, Void>) optState -> {
- if (optState.isPresent()) {
- MonitoringState state = optState.get();
+ ListenableFuture<Void> writeResult = Futures.transformAsync(readResult, optState -> {
+ if (optState.isPresent()) {
+ MonitoringState state = optState.get();
- // Increase the request count
- Long requestCount = state.getRequestCount() + 1;
+ // Increase the request count
+ Long requestCount = state.getRequestCount() + 1;
- // Check with the monitor window
- LivenessState currentLivenessState = state.getState();
+ // Check with the monitor window
+ LivenessState currentLivenessState = state.getState();
- // Increase the pending response count
- long responsePendingCount = state.getResponsePendingCount();
- if (responsePendingCount < profile.getMonitorWindow()) {
- responsePendingCount = responsePendingCount + 1;
- }
+ // Increase the pending response count
+ long responsePendingCount = state.getResponsePendingCount();
+ if (responsePendingCount < profile.getMonitorWindow()) {
+ responsePendingCount = responsePendingCount + 1;
+ }
- // Check with the failure threshold
- if (responsePendingCount >= profile.getFailureThreshold()) {
- // Change the state to down and notify
- if (currentLivenessState != LivenessState.Down) {
- LOG.debug("Response pending Count: {}, Failure threshold: {} for monitorId {}",
- responsePendingCount, profile.getFailureThreshold(), state.getMonitorId());
- LOG.info("Sending notification for monitor Id : {} with State: {}",
- state.getMonitorId(), LivenessState.Down);
- publishNotification(monitorId, LivenessState.Down);
- currentLivenessState = LivenessState.Down;
- // Reset requestCount when state changes
- // from UP to DOWN
- requestCount = INITIAL_COUNT;
- }
+ // Check with the failure threshold
+ if (responsePendingCount >= profile.getFailureThreshold()) {
+ // Change the state to down and notify
+ if (currentLivenessState != LivenessState.Down) {
+ LOG.debug("Response pending Count: {}, Failure threshold: {} for monitorId {}",
+ responsePendingCount, profile.getFailureThreshold(), state.getMonitorId());
+ LOG.info("Sending notification for monitor Id : {} with State: {}",
+ state.getMonitorId(), LivenessState.Down);
+ publishNotification(monitorId, LivenessState.Down);
+ currentLivenessState = LivenessState.Down;
+ // Reset requestCount when state changes
+ // from UP to DOWN
+ requestCount = INITIAL_COUNT;
}
-
- // Update the ODS with state
- MonitoringState updatedState = new MonitoringStateBuilder(/* state */)
- .setMonitorKey(state.getMonitorKey()).setRequestCount(requestCount)
- .setResponsePendingCount(responsePendingCount).setState(currentLivenessState).build();
- tx.merge(LogicalDatastoreType.OPERATIONAL, getMonitorStateId(state.getMonitorKey()),
- updatedState);
- return tx.submit();
- } else {
- // Close the transaction
- tx.submit();
- String errorMsg = String.format(
- "Monitoring State associated with id %d is not present to send packet out.", monitorId);
- return Futures.immediateFailedFuture(new RuntimeException(errorMsg));
}
- });
+
+ // Update the ODS with state
+ MonitoringState updatedState = new MonitoringStateBuilder(/* state */)
+ .setMonitorKey(state.getMonitorKey()).setRequestCount(requestCount)
+ .setResponsePendingCount(responsePendingCount).setState(currentLivenessState).build();
+ tx.merge(LogicalDatastoreType.OPERATIONAL, getMonitorStateId(state.getMonitorKey()),
+ updatedState);
+ return tx.submit();
+ } else {
+ // Close the transaction
+ tx.submit();
+ String errorMsg = String.format(
+ "Monitoring State associated with id %d is not present to send packet out.", monitorId);
+ return Futures.immediateFailedFuture(new RuntimeException(errorMsg));
+ }
+ });
Futures.addCallback(writeResult, new FutureCallback<Void>() {
@Override
final ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
ListenableFuture<Optional<MonitorProfile>> readFuture = tx.read(LogicalDatastoreType.OPERATIONAL,
getMonitorProfileId(profileId));
- ListenableFuture<RpcResult<MonitorProfileCreateOutput>> resultFuture = Futures.transform(readFuture,
- (AsyncFunction<Optional<MonitorProfile>, RpcResult<MonitorProfileCreateOutput>>) optProfile -> {
+ ListenableFuture<RpcResult<MonitorProfileCreateOutput>> resultFuture = Futures.transformAsync(readFuture,
+ optProfile -> {
if (optProfile.isPresent()) {
tx.cancel();
MonitorProfileCreateOutput output = new MonitorProfileCreateOutputBuilder()
final ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
ListenableFuture<Optional<MonitorProfile>> readFuture = tx.read(LogicalDatastoreType.OPERATIONAL,
getMonitorProfileId(profileId));
- ListenableFuture<RpcResult<Void>> writeFuture = Futures.transform(readFuture,
- (AsyncFunction<Optional<MonitorProfile>, RpcResult<Void>>) optProfile -> {
- if (optProfile.isPresent()) {
- tx.delete(LogicalDatastoreType.OPERATIONAL, getMonitorProfileId(profileId));
- Futures.addCallback(tx.submit(), new FutureCallback<Void>() {
- @Override
- public void onFailure(Throwable error) {
- String msg = String.format("Error when removing monitor profile %d from datastore",
- profileId);
- LOG.error(msg, error);
- result.set(RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION, msg, error)
- .build());
- }
+ ListenableFuture<RpcResult<Void>> writeFuture = Futures.transformAsync(readFuture, optProfile -> {
+ if (optProfile.isPresent()) {
+ tx.delete(LogicalDatastoreType.OPERATIONAL, getMonitorProfileId(profileId));
+ Futures.addCallback(tx.submit(), new FutureCallback<Void>() {
+ @Override
+ public void onFailure(Throwable error) {
+ String msg = String.format("Error when removing monitor profile %d from datastore",
+ profileId);
+ LOG.error(msg, error);
+ result.set(RpcResultBuilder.<Void>failed().withError(ErrorType.APPLICATION, msg, error)
+ .build());
+ }
- @Override
- public void onSuccess(Void noarg) {
- MonitorProfile profile = optProfile.get();
- String id = getUniqueProfileKey(profile.getFailureThreshold(),
- profile.getMonitorInterval(), profile.getMonitorWindow(),
- profile.getProtocolType());
- releaseId(id);
- result.set(RpcResultBuilder.<Void>success().build());
- }
- });
- } else {
- String msg = String.format("Monitor profile with Id: %d does not exist", profileId);
- LOG.info(msg);
- result.set(RpcResultBuilder.<Void>success()
- .withWarning(ErrorType.PROTOCOL, "invalid-value", msg).build());
- }
- return result;
- }, callbackExecutorService);
+ @Override
+ public void onSuccess(Void noarg) {
+ MonitorProfile profile = optProfile.get();
+ String id = getUniqueProfileKey(profile.getFailureThreshold(),
+ profile.getMonitorInterval(), profile.getMonitorWindow(),
+ profile.getProtocolType());
+ releaseId(id);
+ result.set(RpcResultBuilder.<Void>success().build());
+ }
+ });
+ } else {
+ String msg = String.format("Monitor profile with Id: %d does not exist", profileId);
+ LOG.info(msg);
+ result.set(RpcResultBuilder.<Void>success()
+ .withWarning(ErrorType.PROTOCOL, "invalid-value", msg).build());
+ }
+ return result;
+ }, callbackExecutorService);
Futures.addCallback(writeFuture, new FutureCallback<RpcResult<Void>>() {
final ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
ListenableFuture<Optional<InterfaceMonitorEntry>> readFuture = tx.read(LogicalDatastoreType.OPERATIONAL,
getInterfaceMonitorMapId(interfaceName));
- ListenableFuture<Void> updateFuture = Futures.transform(readFuture,
- (AsyncFunction<Optional<InterfaceMonitorEntry>, Void>) optEntry -> {
- if (optEntry.isPresent()) {
- InterfaceMonitorEntry entry = optEntry.get();
- List<Long> monitorIds = entry.getMonitorIds();
- monitorIds.remove(monitorId);
- InterfaceMonitorEntry newEntry = new InterfaceMonitorEntryBuilder(entry)
- .setKey(new InterfaceMonitorEntryKey(interfaceName)).setMonitorIds(monitorIds).build();
- tx.put(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry,
- CREATE_MISSING_PARENT);
- return tx.submit();
- } else {
- LOG.warn("No Interface map entry found {} to remove monitorId {}", interfaceName, monitorId);
- tx.cancel();
- return Futures.immediateFuture(null);
- }
- });
+ ListenableFuture<Void> updateFuture = Futures.transformAsync(readFuture, optEntry -> {
+ if (optEntry.isPresent()) {
+ InterfaceMonitorEntry entry = optEntry.get();
+ List<Long> monitorIds = entry.getMonitorIds();
+ monitorIds.remove(monitorId);
+ InterfaceMonitorEntry newEntry = new InterfaceMonitorEntryBuilder(entry)
+ .setKey(new InterfaceMonitorEntryKey(interfaceName)).setMonitorIds(monitorIds).build();
+ tx.put(LogicalDatastoreType.OPERATIONAL, getInterfaceMonitorMapId(interfaceName), newEntry,
+ CREATE_MISSING_PARENT);
+ return tx.submit();
+ } else {
+ LOG.warn("No Interface map entry found {} to remove monitorId {}", interfaceName, monitorId);
+ tx.cancel();
+ return Futures.immediateFuture(null);
+ }
+ });
Futures.addCallback(updateFuture, new FutureCallbackImpl(
String.format("Dis-association of monitorId %d with Interface %s", monitorId, interfaceName)));
ListenableFuture<Optional<MonitoringState>> readResult = tx.read(LogicalDatastoreType.OPERATIONAL,
getMonitorStateId(monitorKey));
- ListenableFuture<Void> writeResult = Futures.transform(readResult,
- (AsyncFunction<Optional<MonitoringState>, Void>) optState -> {
- if (optState.isPresent()) {
- MonitoringState state = optState.get();
- if (isValidStatus.apply(state.getStatus())) {
- MonitoringState updatedState = new MonitoringStateBuilder().setMonitorKey(monitorKey)
- .setStatus(newStatus).build();
- tx.merge(LogicalDatastoreType.OPERATIONAL, getMonitorStateId(monitorKey), updatedState);
- } else {
- LOG.warn("Invalid Monitoring status {}, cannot be updated to {} for monitorId {}",
- state.getStatus(), newStatus, monitorId);
- }
+ ListenableFuture<Void> writeResult = Futures.transformAsync(readResult, optState -> {
+ if (optState.isPresent()) {
+ MonitoringState state = optState.get();
+ if (isValidStatus.apply(state.getStatus())) {
+ MonitoringState updatedState = new MonitoringStateBuilder().setMonitorKey(monitorKey)
+ .setStatus(newStatus).build();
+ tx.merge(LogicalDatastoreType.OPERATIONAL, getMonitorStateId(monitorKey), updatedState);
} else {
- LOG.warn("No associated monitoring state data available to update the status to {} for {}",
- newStatus, monitorId);
+ LOG.warn("Invalid Monitoring status {}, cannot be updated to {} for monitorId {}",
+ state.getStatus(), newStatus, monitorId);
}
- return tx.submit();
- });
+ } else {
+ LOG.warn("No associated monitoring state data available to update the status to {} for {}",
+ newStatus, monitorId);
+ }
+ return tx.submit();
+ });
Futures.addCallback(writeResult, new FutureCallbackImpl(
String.format("Monitor status update for %d to %s", monitorId, newStatus.toString())));
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
<type>xml</type>
</dependency>
- <!-- Karaf 4 -->
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>features4-genius</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>odl-genius-api</artifactId>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>odlparent</artifactId>
- <version>1.9.0</version>
+ <artifactId>odlparent-lite</artifactId>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.genius</groupId>
- <artifactId>fcapsapplication</artifactId>
+ <artifactId>fcapsapplication-aggregator</artifactId>
<version>0.3.0-SNAPSHOT</version>
<!-- <name> formatting is used by autorelease to parse and notify projects on
build failure. Please do not modify this unless you have a good reason. -->
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>odlparent</artifactId>
- <version>1.9.0</version>
+ <artifactId>odlparent-lite</artifactId>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<groupId>org.opendaylight.genius</groupId>
- <artifactId>fcapsmanager</artifactId>
+ <artifactId>fcapsmanager-aggregator</artifactId>
<version>0.3.0-SNAPSHOT</version>
<!-- <name> formatting is used by autorelease to parse and notify projects on
build failure. Please do not modify this unless you have a good reason. -->
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2017 Red Hat, Inc. and others. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.opendaylight.odlparent</groupId>
- <artifactId>feature-repo-parent</artifactId>
- <version>1.9.0</version>
- <relativePath />
- </parent>
-
- <groupId>org.opendaylight.genius</groupId>
- <artifactId>features4-genius</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- <packaging>feature</packaging>
-
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>org.opendaylight.genius</groupId>
- <artifactId>genius-artifacts</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius-api</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius-rest</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius-ui</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius-fcaps-framework</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>odl-genius-fcaps-application</artifactId>
- <version>${project.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- </dependency>
- </dependencies>
-</project>
<?xml version="1.0" encoding="UTF-8"?>
<!--
-Copyright © 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
+ Copyright © 2017 Red Hat, Inc. and others. All rights reserved.
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
--->
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ and is available at http://www.eclipse.org/legal/epl-v10.html
+ -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>features-parent</artifactId>
- <version>1.9.0</version>
- <relativePath/>
+ <artifactId>feature-repo-parent</artifactId>
+ <version>2.0.0</version>
+ <relativePath />
</parent>
<groupId>org.opendaylight.genius</groupId>
<artifactId>genius-features</artifactId>
<version>0.3.0-SNAPSHOT</version>
- <!-- <name> formatting is used by autorelease to parse and notify projects on
- build failure. Please do not modify this unless you have a good reason. -->
<name>ODL :: genius :: ${project.artifactId}</name>
-
- <properties>
- <openflowplugin.version>0.5.0-SNAPSHOT</openflowplugin.version>
- <ovsdb.version>1.5.0-SNAPSHOT</ovsdb.version>
- <mdsal.model.version>0.11.0-SNAPSHOT</mdsal.model.version>
- <mdsal.version>1.6.0-SNAPSHOT</mdsal.version>
- <restconf.version>1.6.0-SNAPSHOT</restconf.version>
- <yangtools.version>1.2.0-SNAPSHOT</yangtools.version>
- <dluxapps.version>0.6.0-SNAPSHOT</dluxapps.version>
- <liblldp.version>0.13.0-SNAPSHOT</liblldp.version>
- <configfile.directory>etc/opendaylight/karaf</configfile.directory>
- <infrautils.version>1.2.0-SNAPSHOT</infrautils.version>
- </properties>
+ <packaging>feature</packaging>
<dependencyManagement>
<dependencies>
- <!-- project specific dependencies -->
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>mdsal-artifacts</artifactId>
- <version>${mdsal.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>restconf-artifacts</artifactId>
- <version>${restconf.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
<dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>yangtools-artifacts</artifactId>
- <version>${yangtools.version}</version>
+ <groupId>org.opendaylight.genius</groupId>
+ <artifactId>genius-artifacts</artifactId>
+ <version>${project.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
<dependencies>
- <dependency>
- <groupId>org.opendaylight.yangtools</groupId>
- <artifactId>features-yangtools</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.mdsal.model</groupId>
- <artifactId>features-mdsal-model</artifactId>
- <version>${mdsal.model.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>features-mdsal</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>features-dluxapps</artifactId>
- <classifier>features</classifier>
- <version>${dluxapps.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>southbound-features</artifactId>
- <version>${ovsdb.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.ovsdb</groupId>
- <artifactId>hwvtepsouthbound-features</artifactId>
- <version>${ovsdb.version}</version>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>features-openflowplugin</artifactId>
- <classifier>features</classifier>
- <version>${openflowplugin.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.openflowplugin</groupId>
- <artifactId>features-openflowplugin-extension</artifactId>
- <classifier>features</classifier>
- <version>${openflowplugin.version}</version>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>features-restconf</artifactId>
- <classifier>features</classifier>
- <type>xml</type>
- <scope>runtime</scope>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>interfacemanager-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>interfacemanager-api</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>interfacemanager-shell</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>idmanager-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>idmanager-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>idmanager-shell</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>lockmanager-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>lockmanager-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>mdsalutil-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>mdsalutil-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>arputil-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>arputil-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>alivenessmonitor-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>alivenessmonitor-impl-protocols</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>alivenessmonitor-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>itm-impl</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>itm-api</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>itm-impl</artifactId>
+ <artifactId>odl-genius-api</artifactId>
<version>${project.version}</version>
+ <classifier>features</classifier>
<type>xml</type>
- <classifier>config</classifier>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>alarmmanager</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>countermanager</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>fcaps-api</artifactId>
+ <artifactId>odl-genius</artifactId>
<version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>fcapsapplication-jmxapi</artifactId>
+ <artifactId>odl-genius-rest</artifactId>
<version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>fcapsapplication-impl</artifactId>
+ <artifactId>odl-genius-ui</artifactId>
<version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>resourcemanager-api</artifactId>
+ <artifactId>odl-genius-fcaps-framework</artifactId>
<version>${project.version}</version>
+ <classifier>features</classifier>
+ <type>xml</type>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>resourcemanager-impl</artifactId>
+ <artifactId>odl-genius-fcaps-application</artifactId>
<version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.infrautils</groupId>
- <artifactId>infrautils-features</artifactId>
- <version>${infrautils.version}</version>
<classifier>features</classifier>
<type>xml</type>
</dependency>
</dependencies>
-
</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright © 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved.
-
-This program and the accompanying materials are made available under the
-terms of the Eclipse Public License v1.0 which accompanies this distribution,
-and is available at http://www.eclipse.org/legal/epl-v10.html
--->
-<features name="odl-genius-${project.version}" xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
- <repository>mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.controller/features-mdsal/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.mdsal.model/features-mdsal-model/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.openflowplugin/features-openflowplugin-extension/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.netconf/features-restconf/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.ovsdb/southbound-features/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.ovsdb/hwvtepsouthbound-features/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.dluxapps/features-dluxapps/{{VERSION}}/xml/features</repository>
- <repository>mvn:org.opendaylight.infrautils/infrautils-features/{{VERSION}}/xml/features</repository>
- <feature name='odl-genius-api' version='${project.version}' description='OpenDaylight :: genius :: api'>
- <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
- <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
- <feature version="${ovsdb.version}">odl-ovsdb-southbound-api</feature>
- <feature version='${ovsdb.version}'>odl-ovsdb-hwvtepsouthbound-api</feature>
- <feature version='${openflowplugin.version}'>odl-openflowplugin-nsf-model</feature>
- <feature version="${openflowplugin.version}">odl-openflowplugin-nxm-extensions</feature>
- <feature version='${infrautils.version}'>odl-infrautils-counters</feature>
- <bundle>mvn:org.opendaylight.controller/liblldp/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/lockmanager-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/idmanager-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/mdsalutil-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/arputil-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/alivenessmonitor-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/interfacemanager-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/itm-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/resourcemanager-api/{{VERSION}}</bundle>
- </feature>
- <feature name='odl-genius' version='${project.version}' description='OpenDaylight :: genius'>
- <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
- <feature version='${project.version}'>odl-genius-api</feature>
- <feature version="${ovsdb.version}">odl-ovsdb-southbound-impl</feature>
- <feature version='${ovsdb.version}'>odl-ovsdb-hwvtepsouthbound</feature>
- <feature version="${openflowplugin.version}">odl-openflowplugin-southbound</feature>
- <feature version="${openflowplugin.version}">odl-openflowplugin-flow-services</feature>
- <feature version='${infrautils.version}'>odl-infrautils-counters</feature>
- <feature version='${infrautils.version}'>odl-infrautils-inject</feature>
- <bundle>mvn:commons-net/commons-net/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/lockmanager-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/idmanager-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/idmanager-shell/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/mdsalutil-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/arputil-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/alivenessmonitor-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/alivenessmonitor-impl-protocols/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/interfacemanager-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/interfacemanager-shell/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/itm-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/resourcemanager-impl/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.ovsdb/utils.southbound-utils/{{VERSION}}</bundle>
- <bundle>wrap:mvn:javax.inject/javax.inject/1</bundle>
- <configfile finalname="etc/opendaylight/datastore/initial/config/genius-itm-config.xml">mvn:org.opendaylight.genius/itm-impl/{{VERSION}}/xml/config</configfile>
- </feature>
- <feature name='odl-genius-rest' version='${project.version}' description='OpenDaylight :: genius :: REST'>
- <feature version="${project.version}">odl-genius</feature>
- <feature version="${restconf.version}">odl-restconf</feature>
- </feature>
- <feature name='odl-genius-ui' version='${project.version}' description='OpenDaylight :: genius :: UI'>
- <feature version="${project.version}">odl-genius-rest</feature>
- <feature version="${restconf.version}">odl-mdsal-apidocs</feature>
- <feature version="${dluxapps.version}">odl-dluxapps-yangman</feature>
- </feature>
-
- <feature name='odl-genius-fcaps-framework' version='${project.version}' description='OpenDaylight :: genius :: fcapsframework'>
- <bundle>mvn:org.opendaylight.genius/fcaps-api/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/alarmmanager/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/countermanager/{{VERSION}}</bundle>
- </feature>
-
- <feature name='odl-genius-fcaps-application' version='${project.version}' description='OpenDaylight :: genius :: fcapsapp'>
- <feature version="${openflowplugin.version}">odl-openflowplugin-flow-services</feature>
- <bundle>wrap:mvn:javax.inject/javax.inject/1</bundle>
- <bundle>mvn:org.opendaylight.genius/fcapsapplication-jmxapi/{{VERSION}}</bundle>
- <bundle>mvn:org.opendaylight.genius/fcapsapplication-impl/{{VERSION}}</bundle>
- </feature>
-
-</features>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright © 2017 Red Hat, Inc. and others. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v1.0 which accompanies this distribution,
- and is available at http://www.eclipse.org/legal/epl-v10.html
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.opendaylight.odlparent</groupId>
- <artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
- <relativePath />
- </parent>
-
- <groupId>org.opendaylight.genius</groupId>
- <artifactId>odl-genius-ui</artifactId>
- <version>0.3.0-SNAPSHOT</version>
- <packaging>feature</packaging>
- <name>OpenDaylight :: genius :: UI</name>
-
- <dependencies>
- <!-- Other Features -->
- <dependency>
- <groupId>org.opendaylight.genius</groupId>
- <artifactId>odl-genius-rest</artifactId>
- <version>${project.version}</version>
- <type>xml</type>
- <classifier>features</classifier>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.netconf</groupId>
- <artifactId>odl-mdsal-apidocs</artifactId>
- <version>1.6.0-SNAPSHOT</version>
- <type>xml</type>
- <classifier>features</classifier>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.dluxapps</groupId>
- <artifactId>odl-dluxapps-yangman</artifactId>
- <version>0.6.0-SNAPSHOT</version>
- <type>xml</type>
- <classifier>features</classifier>
- </dependency>
- </dependencies>
-</project>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath />
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<module>odl-genius-api</module>
<module>odl-genius</module>
<module>odl-genius-rest</module>
- <module>odl-genius-ui</module>
<module>odl-genius-fcaps-framework</module>
<module>odl-genius-fcaps-application</module>
- <module>features4-genius</module>
</modules>
</project>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
build failure. Please do not modify this unless you have a good reason. -->
<name>ODL :: genius :: ${project.artifactId}</name>
- <dependencyManagement>
- <dependencies>
- <dependency>
- <groupId>${project.groupId}</groupId>
- <artifactId>genius-artifacts</artifactId>
- <version>${project.version}</version>
- <type>pom</type>
- <scope>import</scope>
- </dependency>
- </dependencies>
- </dependencyManagement>
-
<dependencies>
<dependency>
<!-- scope is compile so all features (there is only one) are installed
into startup.properties and the feature repo itself is not installed -->
<groupId>org.apache.karaf.features</groupId>
<artifactId>framework</artifactId>
+ <version>${karaf.version}</version>
<type>kar</type>
+ <scope>compile</scope>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>features4-genius</artifactId>
+ <artifactId>genius-features</artifactId>
+ <version>${project.version}</version>
<classifier>features</classifier>
<type>xml</type>
<scope>runtime</scope>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
- <configuration>
+ <configuration>
<skip>false</skip>
</configuration>
</plugin>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>1.9.0</version>
+ <version>2.0.0</version>
<relativePath/>
</parent>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
- <artifactId>odlparent</artifactId>
- <version>1.9.0</version>
+ <artifactId>odlparent-lite</artifactId>
+ <version>2.0.0</version>
<relativePath/>
</parent>