Upgrade Apache httpcore and httpclient

Description

For a custom development project (provide an implementation to support Amazon SQS instead of ActiveMQ/Kafka for the RPC/Sink patterns to communicate with Minions), it is required to support Httpclient 4.5.x (to be more precise, 4.5.2) and Httpcore 4.4.x (to be more precise 4.4.4), as these two libraries are required by another library (a.k.a. aws-java-sdk-core) which is the core of the new integration we would like to have in OpenNMS.

Currently, OpenNMS supports Httpclient 4.3.6 and Httpcore 4.3.3.

Here is the preliminary list of OpenNMS components that rely on Httpclient (based on current develop).

External Dependencies

  • org.apache.activemq:activemq-http:5.4.15

  • org.apache.thrift:libthrift:jar:0.9.2

  • org.springframework.security.kerberos:spring-security-kerberos-client:1.0.1

  • com.atlassian.jira:jira-rest-java-client-core:3.0.0

  • io.searchbox:jest:jar:2.0.3

  • com.github.tomakehurst:wiremock:jar:1.57

  • geoGoogle:geoGoogle:jar:1.5.1-20110518onms1

  • org.seleniumhq.selenium:selenium-remote-driver:jar:2.44.0

Internal Dependencies

  • org.opennms.core:org.opennms.core.web

  • org.opennms.features.minion:core-impl

  • org.opennms.features.poller.monitors:org.opennms.features.poller.monitors.core

  • org.opennms.features:org.opennms.features.ifttt

  • org.opennms.plugins:opennms-es-rest

  • org.opennms.features:opennms-integration-rt

  • org.opennms.features.vaadin-dashlets:dashlet-grafana

  • org.opennms:opennms-vmware

The idea would be update the POMs with the new versions, and then fix what it is required to be fixed in OpenNMS.

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Alejandro Galue October 4, 2017 at 5:53 PM

Alejandro Galue October 3, 2017 at 5:45 PM
Edited

On a branch, I've upgraded the versions of httpclient, httpcore and httpasyncclient, and the following is working as expected on my test environment:

  • The Page Sequence Monitor (after fixing a small problem found on the code thanks to Bamboo)

  • The ES-Rest Plugin (to forward events to Elasticsearch)

  • The JIRA Ticketer Plugin

  • The Selenium Monitor

  • Minion Communication (using local ActiveMQ)

  • The Web Monitor

  • The HTTP Monitor

  • The XML Collector (using JSON Handler, for Elasticsearch statistics)

  • The Grafana widget on the front page

  • The Grafana dashlet on the Vaadin Ops-Board

  • HTTP Collector (after fixing a small problem found on the code thanks to Bamboo)

Fixed

Details

Assignee

Reporter

Components

Sprint

Fix versions

Affects versions

Priority

PagerDuty

Created October 2, 2017 at 8:04 PM
Updated October 4, 2017 at 10:21 PM
Resolved October 4, 2017 at 10:21 PM

Flag notifications