Horizon packages provide versioned OPA dependency package

Description

In support of the cloud plugin today, and the whole ecosystem of plugins down the road, Horizon packages (RPM and DEB for Core, Minion, and Sentinel) need to provide a dependency package for the OpenNMS plugin API, with its version set to whichever OPA version ships in the Horizon version in question (i.e. the value of the POM property opennmsApiVersion)

Acceptance / Success Criteria

Acceptance

  • Horizon RPM and DEB packages are marked as providing a virtual package (e.g. opennms-plugin-api) at a version equal to the value of opennmsApiVersion in the top-level POM (this is a must for the 31.0.0 release)

  • Sentinel RPM and DEB packages provide the same virtual package at the same version (this can be broken out to a separate issue and slip to 31.0.1 if necessary)

  • Minion RPM and DEB packages provide the same virtual package at the same version (this can be broken out to a separate issue and slip to 31.0.1 if necessary)

Lucidchart Diagrams

Activity

Show:

Morteza November 7, 2022 at 3:21 PM

PR was merged

Morteza November 2, 2022 at 7:04 PM

Morteza November 1, 2022 at 7:53 PM

Rest on Ubuntu: 

# rpm -i opennms-32.0.0-0.20221101.mem.dev.196200.noarch.rpm  rpm: RPM should not be used directly install RPM packages, use Alien instead! rpm: However assuming you know what you are doing... warning: opennms-32.0.0-0.20221101.mem.dev.196200.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 5b9efd43: NOKEY error: Failed dependencies: java-11-openjdk-devel is needed by opennms-32.0.0-0.20221101.mem.dev.196200.noarch opennms-core = 32.0.0-0.20221101.mem.dev.196200 is needed by opennms-32.0.0-0.20221101.mem.dev.196200.noarch opennms-plugin-cloud >= 1.0.0 is needed by opennms-32.0.0-0.20221101.mem.dev.196200.noarch opennms-webui = 32.0.0-0.20221101.mem.dev.196200 is needed by opennms-32.0.0-0.20221101.mem.dev.196200.noarch postgresql-server >= 10 is needed by opennms-32.0.0-0.20221101.mem.dev.196200.noarch

Morteza October 26, 2022 at 5:42 PM

I ran a quick test and was able to show some information regarding the Opennms integration api.  For Debian package, I had to hardcode the value.

 

❯ dpkg-deb -I opennms_32.0.0-0.20221026.mem.dev.194534_all.deb  new Debian package, version 2.0.  size 1420 bytes: control archive=884 bytes.     1337 bytes,    22 lines      control                      0 bytes,     0 lines      md5sums                Package: opennms  Version: 32.0.0-0.20221026.mem.dev.194534  Architecture: all  Maintainer: Benjamin Reed <ranger@opennms.org>  Installed-Size: 2  Depends: opennms-common (= 32.0.0-0.20221026.mem.dev.194534), opennms-db (= 32.0.0-0.20221026.mem.dev.194534), opennms-server (= 32.0.0-0.20221026.mem.dev.194534), opennms-webapp-jetty (= 32.0.0-0.20221026.mem.dev.194534)  Recommends: opennms-source (= 32.0.0-0.20221026.mem.dev.194534), openjdk-11-jdk-headless | openjdk-11-jdk | adoptopenjdk-11-openj9xl | adoptopenjdk-11-openj9 | adoptopenjdk-11-hotspot | java11-jdk | temurin-11-jdk  Suggests: opennms-doc  Provides: opennms-integration-api (>= 1.1.0)  Section: contrib/net  Priority: optional  Description: Enterprise-grade Open-source Network Management Platform (Full Install)   OpenNMS is an enterprise-grade network management system written in Java.   .   OpenNMS can monitor various network services to determine status and service   level availability.  Data collection is performed using protocols such as SNMP   to generate reports and alert on thresholds.  An extensible event management   and notification system handles both internally and externally generated   events (such as SNMP traps), and generates notices via email, pager, SMS, etc.   .   This package provides the components needed for a reasonable default   installation of OpenNMS.
❯ rpm -qipp --provides opennms-core-32.0.0-0.20221026.mem.dev.194532.noarch.rpm warning: opennms-core-32.0.0-0.20221026.mem.dev.194532.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID 5b9efd43: NOKEY Name        : opennms-core Version     : 32.0.0 Release     : 0.20221026.mem.dev.194532 Architecture: noarch Install Date: (not installed) Group       : Applications/System Size        : 755771756 License     : LGPL/AGPL Signature   : DSA/SHA1, Wed 26 Oct 13:04:30 2022, Key ID 57801f6f5b9efd43 Source RPM  : opennms-32.0.0-0.20221026.mem.dev.194532.src.rpm Build Date  : Wed 26 Oct 13:00:57 2022 Build Host  : 2d11f5a8c5e1 Relocations : /opt/opennms /var/opennms /var/log/opennms  URL         : http://www.opennms.org/ Summary     : The core OpenNMS backend. Description : The core backend.  This package contains the main daemon responsible for discovery, polling, data collection, and notifications (ie, anything that is not part of the web UI). If you want to be able to view your data, you will need to install the webapp package. The logs and data directories are relocatable.  By default, they are:   logs: /var/log/opennms   data: /var/opennms If you wish to install them to an alternate location, use the --relocate rpm option, like so:   rpm -i --relocate /var/log/opennms=/mnt/netapp/opennms-logs opennms-core.rpm This is an OpenNMS build from the mem/dev branch.  For a complete log, see: https://github.com/OpenNMS/opennms/commit/cce084d943c7753df7f24c0455baf61161f6aaa6 config(opennms-core) = 32.0.0-0.20221026.mem.dev.194532 opennms-core = 32.0.0-0.20221026.mem.dev.194532 opennms-integration-api = 1.1.0 opennms-plugin-protocol-dhcp = 32.0.0-0.20221026.mem.dev.194532 opennms-plugin-protocol-xml = 32.0.0-0.20221026.mem.dev.194532 perl(PagerEmailAddresses)
Fixed

Details

Assignee

Reporter

HB Grooming Date

HB Backlog Status

Sprint

Fix versions

Priority

PagerDuty

Created October 25, 2022 at 4:50 PM
Updated November 7, 2022 at 3:21 PM
Resolved November 7, 2022 at 3:21 PM

Flag notifications