Bug 1578470 - [RFE] allow configuration of helloMaxAge and helloInterval
Summary: [RFE] allow configuration of helloMaxAge and helloInterval
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Installer
Version: 6.3.1
Hardware: Unspecified
OS: Unspecified
high
medium vote
Target Milestone: Released
Assignee: Chris Roberts
QA Contact: Perry Gagne
URL: https://projects.theforeman.org/issue...
Whiteboard:
: 1578706 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-05-15 16:27 UTC by Chris Duryee
Modified: 2019-10-07 17:19 UTC (History)
11 users (show)

Fixed In Version: katello-installer-base-3.9.0-0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-05-14 12:37:19 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2019:1222 None None None 2019-05-14 12:37:27 UTC
Foreman Issue Tracker 24415 None None None 2018-07-26 20:30:59 UTC
Red Hat Knowledge Base (Solution) 3440201 None None None 2018-05-15 16:29:08 UTC

Description Chris Duryee 2018-05-15 16:27:54 UTC
Description of problem:

Right now, the qdrouterd "helloInterval" and "helloMaxAge" settings are set to 1 sec and 3 sec by default. This can cause issues on networks with sporadic issues, or if a system pauses temporarily (for example, migrating a VM running a capsule to a new hypervisor). Qdrouterd will eventually reconnect but it may make multiple attempts while waiting for network issues to resolve. In short, qdrouterd on Satellite installations is overly sensitive to network blips by default, given that katello-agent commands sent via amqp are not extremely time sensitive.

These settings can be changed in qdrouterd.conf, but it requires manual editing of the config file, and must be reapplied after the installer runs.

This bug has two parts:

* allow helloInterval and helloMaxAge to be configured via custom-hiera.yaml

* investigate if we should bump helloInterval and helloMaxAge to a higher default in Satellite. The default "accept timeout" for katello-agent in the satellite settings page is 20 seconds, so perhaps helloMaxAge of 15 is a good number to allow qdrouterd to drop and reconnect at least once.

https://access.redhat.com/solutions/3440201 has more info on this.
 
Version-Release number of selected component (if applicable): 6.3.1

Steps to Reproduce:
1. run satellite with one capsule on a VM
2. pause and unpause VM quickly, or suspend/unsuspend qdrouterd process
3. check if qdrouterd connection was dropped

Actual results:

qdrouterd connection dropped

Expected results:

qdrouterd connection not dropped

Comment 2 Nagoor Shaik 2018-05-17 01:59:39 UTC
*** Bug 1578706 has been marked as a duplicate of this bug. ***

Comment 3 Pavel Moravec 2018-05-30 12:38:56 UTC
+1 for the new default settings:

    helloInterval: 5
    helloMaxAge: 15

to have it aligned within the 20s  katello-agent initial response timeout.

(and +1 for having the options configurable via custom-hiera.yaml)

Comment 8 Perry Gagne 2019-01-07 18:32:17 UTC
Verified fix in sat 6.5 snap 10. 

Adding the following options to custom-hiera.yaml:

qpid::router::hello_interval: 10
qpid::router::hello_max_age: 30

Resulted in the relevant options being added to /etc/qpid-dispatch/qdrouterd.conf

Also verified that removing the option from custom-hiera.yaml, removed them from qdrouterd.conf

Comment 13 errata-xmlrpc 2019-05-14 12:37:19 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:1222


Note You need to log in before you can comment on or make changes to this bug.