mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-21 12:22:18 +02:00
[ONOS-3203] Fault Management fixes.
1) Fix "org.onlab.osgi.ServiceNotFoundException: Service org.onosproject.incubator.net.faultmanagement.alarm.AlarmService not found" runtime error by making SnmpAlarmProviderService a (annotated) Service. Possibly later can register it via the ProviderRegistry without the Service anotation. 2) When SnmpAlarmProviderService is deactivated de-register our InternalDeviceListener to avoid leak. 3) In providers/snmp/alarm/pom.xml : Remove unnecessary dependency versions info. Remove unnecessary shading. Change-Id: I93c0c15215b6cf230bcb03d8ea9c08a88bd03e3b
This commit is contained in:
parent
f2ca7e5cea
commit
899ea8bc18
@ -53,14 +53,12 @@
|
||||
<dependency>
|
||||
<groupId>org.osgi</groupId>
|
||||
<artifactId>org.osgi.compendium</artifactId>
|
||||
<version>5.0.0</version>
|
||||
<type>jar</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.onosproject</groupId>
|
||||
<artifactId>onos-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
@ -74,7 +72,6 @@
|
||||
<dependency>
|
||||
<groupId>org.onosproject</groupId>
|
||||
<artifactId>onlab-osgi</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@ -82,7 +79,6 @@
|
||||
<dependency>
|
||||
<groupId>org.onosproject</groupId>
|
||||
<artifactId>onos-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<classifier>tests</classifier>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
@ -90,19 +86,16 @@
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.11</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-core</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.hamcrest</groupId>
|
||||
<artifactId>hamcrest-library</artifactId>
|
||||
<version>1.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@ -114,41 +107,7 @@
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>2.3</version>
|
||||
<configuration>
|
||||
<filters>
|
||||
<filter>
|
||||
<artifact>com.btisystems:snmp-core</artifact>
|
||||
<excludes>
|
||||
<exclude>**</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>com.btisystems.mibbler.mibs:bti7000</artifact>
|
||||
<excludes>
|
||||
<exclude>**</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
<filter>
|
||||
<artifact>com.btisystems.mibbler.mibs:net-snmp</artifact>
|
||||
<excludes>
|
||||
<exclude>**</exclude>
|
||||
</excludes>
|
||||
</filter>
|
||||
</filters>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.felix</groupId>
|
||||
<artifactId>maven-scr-plugin</artifactId>
|
||||
|
@ -50,6 +50,7 @@ import org.osgi.service.component.ComponentContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.apache.felix.scr.annotations.Reference;
|
||||
import org.apache.felix.scr.annotations.ReferenceCardinality;
|
||||
import org.apache.felix.scr.annotations.Service;
|
||||
import static org.onlab.util.Tools.groupedThreads;
|
||||
import org.onosproject.core.ApplicationId;
|
||||
import org.onosproject.core.CoreService;
|
||||
@ -64,10 +65,13 @@ import org.onosproject.net.device.DeviceService;
|
||||
* SNMP alarms provider.
|
||||
*/
|
||||
@Component(immediate = true)
|
||||
@Service
|
||||
public class SnmpAlarmProviderService extends AbstractProvider implements AlarmProvider {
|
||||
|
||||
private final Logger log = getLogger(getClass());
|
||||
|
||||
private final InternalDeviceListener internalDeviceListener = new InternalDeviceListener();
|
||||
|
||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||
protected CoreService coreService;
|
||||
|
||||
@ -88,6 +92,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
|
||||
|
||||
public SnmpAlarmProviderService() {
|
||||
super(new ProviderId("snmp", "org.onosproject.provider.alarm"));
|
||||
log.info("SnmpAlarmProviderService ...");
|
||||
sessionFactory = new SnmpSessionFactory(
|
||||
new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration()));
|
||||
providers.put("1.3.6.1.4.1.18070.2.2", new Bti7000SnmpAlarmProvider());
|
||||
@ -99,7 +104,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
|
||||
appId = coreService.registerApplication("org.onosproject.snmp");
|
||||
eventHandlingExecutor = Executors.newSingleThreadExecutor(
|
||||
groupedThreads("onos/alarms", "event-handler"));
|
||||
deviceService.addListener(new InternalDeviceListener());
|
||||
deviceService.addListener(internalDeviceListener);
|
||||
log.info("activated SNMP provider with appId = {} and context props {}", appId, context.getProperties());
|
||||
modified(context);
|
||||
|
||||
@ -109,6 +114,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
|
||||
@Deactivate
|
||||
public void deactivate() {
|
||||
log.info("deactivate SNMP provider {}", appId);
|
||||
deviceService.removeListener(internalDeviceListener);
|
||||
}
|
||||
|
||||
@Modified
|
||||
|
@ -21,6 +21,7 @@
|
||||
<bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
|
||||
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.snmp4j/2.3.4_1</bundle>
|
||||
<bundle>mvn:${project.groupId}/onos-snmp-provider-device/${project.version}</bundle>
|
||||
<bundle>mvn:${project.groupId}/onos-snmp-provider-alarm/${project.version}</bundle>
|
||||
<bundle>mvn:com.btisystems/snmp-core/1.3-SNAPSHOT</bundle>
|
||||
<bundle>mvn:com.btisystems.mibbler.mibs/bti7000/1.0-SNAPSHOT</bundle>
|
||||
<bundle>mvn:com.btisystems.mibbler.mibs/net-snmp/1.0-SNAPSHOT</bundle>
|
||||
|
Loading…
x
Reference in New Issue
Block a user