mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-21 20:31:00 +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>
|
<dependency>
|
||||||
<groupId>org.osgi</groupId>
|
<groupId>org.osgi</groupId>
|
||||||
<artifactId>org.osgi.compendium</artifactId>
|
<artifactId>org.osgi.compendium</artifactId>
|
||||||
<version>5.0.0</version>
|
|
||||||
<type>jar</type>
|
<type>jar</type>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.onosproject</groupId>
|
<groupId>org.onosproject</groupId>
|
||||||
<artifactId>onos-api</artifactId>
|
<artifactId>onos-api</artifactId>
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
@ -74,7 +72,6 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.onosproject</groupId>
|
<groupId>org.onosproject</groupId>
|
||||||
<artifactId>onlab-osgi</artifactId>
|
<artifactId>onlab-osgi</artifactId>
|
||||||
<version>${project.version}</version>
|
|
||||||
<classifier>tests</classifier>
|
<classifier>tests</classifier>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
@ -82,7 +79,6 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.onosproject</groupId>
|
<groupId>org.onosproject</groupId>
|
||||||
<artifactId>onos-api</artifactId>
|
<artifactId>onos-api</artifactId>
|
||||||
<version>${project.version}</version>
|
|
||||||
<classifier>tests</classifier>
|
<classifier>tests</classifier>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
@ -90,19 +86,16 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>junit</groupId>
|
<groupId>junit</groupId>
|
||||||
<artifactId>junit</artifactId>
|
<artifactId>junit</artifactId>
|
||||||
<version>4.11</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.hamcrest</groupId>
|
<groupId>org.hamcrest</groupId>
|
||||||
<artifactId>hamcrest-core</artifactId>
|
<artifactId>hamcrest-core</artifactId>
|
||||||
<version>1.3</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.hamcrest</groupId>
|
<groupId>org.hamcrest</groupId>
|
||||||
<artifactId>hamcrest-library</artifactId>
|
<artifactId>hamcrest-library</artifactId>
|
||||||
<version>1.3</version>
|
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
@ -114,41 +107,7 @@
|
|||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<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>
|
<plugin>
|
||||||
<groupId>org.apache.felix</groupId>
|
<groupId>org.apache.felix</groupId>
|
||||||
<artifactId>maven-scr-plugin</artifactId>
|
<artifactId>maven-scr-plugin</artifactId>
|
||||||
|
@ -50,6 +50,7 @@ import org.osgi.service.component.ComponentContext;
|
|||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.apache.felix.scr.annotations.Reference;
|
import org.apache.felix.scr.annotations.Reference;
|
||||||
import org.apache.felix.scr.annotations.ReferenceCardinality;
|
import org.apache.felix.scr.annotations.ReferenceCardinality;
|
||||||
|
import org.apache.felix.scr.annotations.Service;
|
||||||
import static org.onlab.util.Tools.groupedThreads;
|
import static org.onlab.util.Tools.groupedThreads;
|
||||||
import org.onosproject.core.ApplicationId;
|
import org.onosproject.core.ApplicationId;
|
||||||
import org.onosproject.core.CoreService;
|
import org.onosproject.core.CoreService;
|
||||||
@ -64,10 +65,13 @@ import org.onosproject.net.device.DeviceService;
|
|||||||
* SNMP alarms provider.
|
* SNMP alarms provider.
|
||||||
*/
|
*/
|
||||||
@Component(immediate = true)
|
@Component(immediate = true)
|
||||||
|
@Service
|
||||||
public class SnmpAlarmProviderService extends AbstractProvider implements AlarmProvider {
|
public class SnmpAlarmProviderService extends AbstractProvider implements AlarmProvider {
|
||||||
|
|
||||||
private final Logger log = getLogger(getClass());
|
private final Logger log = getLogger(getClass());
|
||||||
|
|
||||||
|
private final InternalDeviceListener internalDeviceListener = new InternalDeviceListener();
|
||||||
|
|
||||||
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
|
||||||
protected CoreService coreService;
|
protected CoreService coreService;
|
||||||
|
|
||||||
@ -88,6 +92,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
|
|||||||
|
|
||||||
public SnmpAlarmProviderService() {
|
public SnmpAlarmProviderService() {
|
||||||
super(new ProviderId("snmp", "org.onosproject.provider.alarm"));
|
super(new ProviderId("snmp", "org.onosproject.provider.alarm"));
|
||||||
|
log.info("SnmpAlarmProviderService ...");
|
||||||
sessionFactory = new SnmpSessionFactory(
|
sessionFactory = new SnmpSessionFactory(
|
||||||
new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration()));
|
new DefaultSnmpConfigurationFactory(new V2cSnmpConfiguration()));
|
||||||
providers.put("1.3.6.1.4.1.18070.2.2", new Bti7000SnmpAlarmProvider());
|
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");
|
appId = coreService.registerApplication("org.onosproject.snmp");
|
||||||
eventHandlingExecutor = Executors.newSingleThreadExecutor(
|
eventHandlingExecutor = Executors.newSingleThreadExecutor(
|
||||||
groupedThreads("onos/alarms", "event-handler"));
|
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());
|
log.info("activated SNMP provider with appId = {} and context props {}", appId, context.getProperties());
|
||||||
modified(context);
|
modified(context);
|
||||||
|
|
||||||
@ -109,6 +114,7 @@ public class SnmpAlarmProviderService extends AbstractProvider implements AlarmP
|
|||||||
@Deactivate
|
@Deactivate
|
||||||
public void deactivate() {
|
public void deactivate() {
|
||||||
log.info("deactivate SNMP provider {}", appId);
|
log.info("deactivate SNMP provider {}", appId);
|
||||||
|
deviceService.removeListener(internalDeviceListener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Modified
|
@Modified
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
<bundle>mvn:io.netty/netty/3.9.2.Final</bundle>
|
<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: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-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/snmp-core/1.3-SNAPSHOT</bundle>
|
||||||
<bundle>mvn:com.btisystems.mibbler.mibs/bti7000/1.0-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>
|
<bundle>mvn:com.btisystems.mibbler.mibs/net-snmp/1.0-SNAPSHOT</bundle>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user