Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/release-32.x' into master-32
Browse files Browse the repository at this point in the history
  • Loading branch information
mershad-manesh committed Jul 12, 2023
2 parents 5f74730 + 52e8fbb commit ad238f1
Show file tree
Hide file tree
Showing 19 changed files with 3,761 additions and 5,555 deletions.
2 changes: 1 addition & 1 deletion container/features/src/main/resources/features-minion.xml
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@
<feature>opennms-dnsresolver-api</feature>
<feature>dropwizard-metrics</feature>
<feature>opennms-util</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:com.google.code.gson/gson/${gsonVersion}</bundle>
<bundle>mvn:org.mongodb/bson/${bsonVersion}</bundle>
<bundle>mvn:org.apache.commons/commons-csv/${commonsCsvVersion}</bundle>
Expand Down
4 changes: 2 additions & 2 deletions container/features/src/main/resources/features-sentinel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@
<feature>sentinel-thresholding-service</feature>
<feature>opennms-util</feature>

<bundle dependency="true">mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle dependency="true">wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>

<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.api/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry.config/org.opennms.features.telemetry.config.api/${project.version}</bundle>
Expand All @@ -137,7 +137,7 @@
<feature>sentinel-kvstore-api</feature>
<feature>opennms-kafka</feature>
<feature>rate-limited-logger</feature>
<bundle>mvn:com.google.protobuf/protobuf-java-util/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java-util/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.features.flows/org.opennms.features.flows.kafka-persistence/${project.version}</bundle>
<bundle>wrap:mvn:org.apache.commons/commons-csv/${commonsCsvVersion}</bundle>
<bundle>mvn:org.opennms.features.flows/org.opennms.features.flows.api/${project.version}</bundle>
Expand Down
24 changes: 12 additions & 12 deletions container/features/src/main/resources/features.xml
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@
<feature>opennms-distributed-core-api</feature>
<feature>opennms-integration-api</feature>
<feature>opennms-core-tracing</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.core.ipc.sink/org.opennms.core.ipc.sink.api/${project.version}</bundle>
<bundle>mvn:org.opennms.core.ipc.sink/org.opennms.core.ipc.sink.common/${project.version}</bundle>
<bundle>mvn:org.opennms.core.ipc.sink/org.opennms.core.ipc.sink.xml/${project.version}</bundle>
Expand Down Expand Up @@ -1028,15 +1028,15 @@
<feature>rate-limited-logger</feature>
<feature>opennms-collection-api</feature>
<feature>opennms-situation-feedback-api</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.core.ipc.common/org.opennms.core.ipc.common.kafka/${project.version}</bundle>
<bundle>mvn:org.opennms.features.kafka/org.opennms.features.kafka.producer/${project.version}</bundle>
</feature>
<feature name="opennms-kafka-consumer" version="${project.version}" description="OpenNMS :: Kafka :: Consumer">
<feature>opennms-kafka</feature>
<feature>opennms-events-api</feature>
<feature>opennms-model</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.core.ipc.common/org.opennms.core.ipc.common.kafka/${project.version}</bundle>
<bundle>mvn:org.opennms.features.kafka/org.opennms.features.kafka.consumer/${project.version}</bundle>
</feature>
Expand All @@ -1047,7 +1047,7 @@
<feature>opennms-collection-api</feature>
<feature>opennms-thresholding-api</feature>
<feature>opennms-osgi-jsr223</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:com.google.code.gson/gson/${gsonVersion}</bundle>
<bundle>wrap:mvn:io.pkts/pkts-core/${pktsVersion}</bundle>
<bundle>wrap:mvn:io.pkts/pkts-buffers/${pktsVersion}</bundle>
Expand All @@ -1070,7 +1070,7 @@
<feature>opennms-dao</feature>
<feature>opennms-telemetry-collection</feature>
<feature>opennms-util</feature>
<bundle dependency="true">mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle dependency="true">wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.api/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.common/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.registry/${project.version}</bundle>
Expand Down Expand Up @@ -1102,12 +1102,12 @@
</feature>
<feature name="opennms-telemetry-jti" version="${project.version}" description="OpenNMS :: Telemetry :: JTI">
<feature>opennms-telemetry-collection</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.features.telemetry.protocols.jti/org.opennms.features.telemetry.protocols.jti.adapter/${project.version}</bundle>
</feature>
<feature name="opennms-telemetry-nxos" version="${project.version}" description="OpenNMS :: Telemetry :: NX-OS">
<feature>opennms-telemetry-collection</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.features.telemetry.protocols.nxos/org.opennms.features.telemetry.protocols.nxos.adapter/${project.version}</bundle>
</feature>
<feature name="opennms-telemetry-graphite" version="${project.version}" description="OpenNMS :: Telemetry :: Graphite">
Expand All @@ -1118,7 +1118,7 @@
<feature>opennms-telemetry-collection</feature>
<feature>opennms-telemetry-openconfig-client</feature>
<feature>opennms-rpc-utils</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.core.grpc/org.opennms.core.grpc.osgi/${project.version}</bundle>
<bundle>mvn:org.opennms.features.openconfig/org.opennms.features.openconfig.api/${project.version}</bundle>
<bundle>mvn:org.opennms.features.openconfig/org.opennms.features.openconfig.common/${project.version}</bundle>
Expand Down Expand Up @@ -1198,8 +1198,8 @@
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.api/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.common/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry/org.opennms.features.telemetry.listeners/${project.version}</bundle>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:com.google.protobuf/protobuf-java-util/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java-util/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.features.telemetry.protocols/org.opennms.features.telemetry.protocols.common/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry.protocols/org.opennms.features.telemetry.protocols.flows/${project.version}</bundle>
<bundle>mvn:org.opennms.features.telemetry.protocols.netflow/org.opennms.features.telemetry.protocols.netflow.parser/${project.version}</bundle>
Expand Down Expand Up @@ -1867,7 +1867,7 @@
<feature name="opennms-core-ipc-twin-common" description="OpenNMS :: Core :: IPC :: Twin :: Common" version="${project.version}">
<feature version="${guavaOsgiVersion}">guava</feature>
<feature>json-patch</feature>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>mvn:org.opennms.core.ipc.twin/org.opennms.core.ipc.twin.api/${project.version}</bundle>
<bundle>mvn:org.opennms.core.ipc.twin/org.opennms.core.ipc.twin.common/${project.version}</bundle>
</feature>
Expand Down Expand Up @@ -1898,7 +1898,7 @@
<bundle>mvn:org.opennms.core.ipc.common/org.opennms.core.ipc.common.kafka/${project.version}</bundle>
<bundle>mvn:org.opennms.core.ipc.twin.kafka/org.opennms.core.ipc.twin.kafka.common/${project.version}</bundle>
<bundle>mvn:org.opennms.core/org.opennms.core.sysprops/${project.version}</bundle>
<bundle>mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
<bundle>wrap:mvn:com.google.protobuf/protobuf-java/${protobufVersion}</bundle>
</feature>
<feature name="opennms-core-ipc-twin-kafka" version="${project.version}" description="OpenNMS :: Core :: IPC :: Twin :: Kafka :: Subscriber">
<feature>opennms-core-ipc-twin-kafka-common</feature>
Expand Down
1 change: 1 addition & 0 deletions docs/modules/releasenotes/pages/changelog.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ The codename for Horizon 32.0.1 is https://volt.fm/genre/3127/a-cappella[A Cappe
* Various corrections/clarifications needed in Sentinel install/configure docs (Issue https://issues.opennms.org/browse/NMS-15708[NMS-15708])
* Memory leak when using Groovy scripts in provisiond ScriptPolicy (Issue https://issues.opennms.org/browse/NMS-15798[NMS-15798])
* Polling fails when rrd-status is set to true (Issue https://issues.opennms.org/browse/NMS-15806[NMS-15806])
* ALEC stopped working in 32.0.0 (Issue https://issues.opennms.org/browse/NMS-15808[NMS-15808])
* Database deadlock triggered by NodeRestService (Issue https://issues.opennms.org/browse/NMS-15816[NMS-15816])
* Some services do not persist the status (Issue https://issues.opennms.org/browse/NMS-15820[NMS-15820])

Expand Down
9 changes: 9 additions & 0 deletions features/api-layer/dao-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,5 +78,14 @@
<artifactId>org.opennms.features.situation-feedback.api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.opennms.features.enlinkd</groupId>
<artifactId>org.opennms.features.enlinkd.service.api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
/*******************************************************************************
* This file is part of OpenNMS(R).
*
* Copyright (C) 2023 The OpenNMS Group, Inc.
* OpenNMS(R) is Copyright (C) 1999-2023 The OpenNMS Group, Inc.
*
* OpenNMS(R) is a registered trademark of The OpenNMS Group, Inc.
*
* OpenNMS(R) is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License,
* or (at your option) any later version.
*
* OpenNMS(R) is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with OpenNMS(R). If not, see:
* http://www.gnu.org/licenses/
*
* For more information contact:
* OpenNMS(R) Licensing <license@opennms.org>
* http://www.opennms.org/
* http://www.opennms.com/
*******************************************************************************/

package org.opennms.features.apilayer.utils;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;

import java.util.Arrays;

import org.junit.Test;
import org.opennms.integration.api.v1.model.Severity;
import org.opennms.integration.api.v1.model.TopologyProtocol;
import org.opennms.integration.api.v1.ticketing.Ticket.State;
import org.opennms.netmgt.enlinkd.service.api.ProtocolSupported;
import org.opennms.netmgt.model.OnmsSeverity;
import org.opennms.netmgt.model.TroubleTicketState;
import org.opennms.netmgt.topologies.service.api.OnmsTopologyProtocol;

public class ModelMappersTest {
@Test
public void testToSeverity() {
for (final var from : OnmsSeverity.values()) {
final var to = ModelMappers.toSeverity(from);
assertEquals("the severity enum names should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}

@Test
public void testFromSeverity() {
for (final var from : Severity.values()) {
final var to = ModelMappers.fromSeverity(from);
assertEquals("the severity enum names should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}

@Test
public void testToTicketState() {
// OPA's State object is a simplified one, containing only OPEN, CANCELLED, and CLOSED
final var noMapping = Arrays.asList(
"CREATE_PENDING",
"CREATE_FAILED",
"UPDATE_PENDING",
"UPDATE_FAILED",
"CLOSE_PENDING",
"CLOSE_FAILED",
"RESOLVED",
"RESOLVE_PENDING",
"RESOLVE_FAILED",
"CANCEL_PENDING",
"CANCEL_FAILED"
);

for (final var from : TroubleTicketState.values()) {
final var to = ModelMappers.toTicketState(from);
if (noMapping.contains(from.toString())) {
assertNull("this ticket state does not have an corresponding type in OPA", to);
} else {
assertEquals("the ticket state enum names should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}
}

@Test
public void testFromTicketState() {
for (final var from : State.values()) {
final var to = ModelMappers.fromTicketState(from);
assertEquals("the ticket state enum names should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}

@Test
public void testToTopologyProtocol() {
for (final var proto : ProtocolSupported.values()) {
final var from = OnmsTopologyProtocol.create(proto.toString());
final var to = ModelMappers.toTopologyProtocol(from);
assertEquals("the protocols should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}

@Test
public void testToOnmsTopologyProtocol() {
for (final var proto : ProtocolSupported.values()) {
final var from = TopologyProtocol.valueOf(proto.toString());
final var to = ModelMappers.toOnmsTopologyProtocol(from);
assertEquals("the protocols should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}

@Test
public void testAllToplogyProtocolsInProtocolSupported() {
for (final var from : TopologyProtocol.values()) {
if ("ALL".equals(from.toString())) {
// ALL is a special case that is not expected to be everywhere else
continue;
}
final var to = ProtocolSupported.valueOf(from.toString());
assertEquals("the protocols should match (" + from.toString() + "=" + to.toString() + ")", from.toString(), to.toString());
}
}
}

0 comments on commit ad238f1

Please sign in to comment.