Bug 1417303

Summary: Sat6 has a hard limit of 64k Content Hosts running katello agent
Product: Red Hat Satellite Reporter: Pavel Moravec <pmoravec>
Component: QpidAssignee: Mike Cressman <mcressma>
Status: CLOSED ERRATA QA Contact: Katello QA List <katello-qa-list>
Severity: high Docs Contact:
Priority: high    
Version: 6.2.8CC: bbuckingham, bkearney, chrobert, dcaplan, egolov, ehelms, gmurthy, jcallaha, jortel, jsherril, mcressma, mmccune, mtenheuv, stbenjam, swadeley, tross
Target Milestone: UnspecifiedKeywords: Performance, Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qpid-dispatch-0.8.0-10 Doc Type: Enhancement
Doc Text:
Previously, Satellite had a hard limit of 64k Content Hosts that can run katello agent. The Qpid Dispatch Router has been improved to remove this limit.
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-02-21 12:57:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Pavel Moravec 2017-01-27 21:33:18 UTC
Description of problem:
Currently, any katello agent requires 1 (sometimes 2) connection(s) / AMQP link(s) via qdrouterd topology to qpidd. The only (TCP and AMQP) connection between qpidd and qdrouterd aggregates all sessions from all Content Hosts. 

Per AMQP1.0 specification, one AMQP connection can handle up to 65535 channels/sessions per one AMQP connection.

Therefore, in the current design, Satellite has a hard limit of 64k Content Hosts that can run katello agent.


Version-Release number of selected component (if applicable):
(any)


How reproducible:
100% (I guess)


Steps to Reproduce:
1. Try to run katello agent on >65535 Content Hosts managed by one Satellite via arbitrary number of Capsules


Actual results:
1. shall not be feasible


Expected results:
1. shall be feasible


Additional info:
Potential solutions:
- change proton implementing AMQP such that it allows more sessions. proton library would violate AMQP specification, then
- change/extend qdrouterd (or proton?) behaviour such that when it needs to open a session "over the limit", let open a new AMQP connection on the same TCP connection first
- optionally to the above, open a new TCP connection instead (such that 1 TCP connection does not deliver all the traffic for all the >64k clients)

Comment 3 David Caplan 2017-01-31 18:15:02 UTC
Satellite's upper bounds are limited by AMQP's ceiling. Is this an artifact of a particular version of AMQP (QPID).

Comment 5 Ted Ross 2017-03-06 13:35:07 UTC
(In reply to David Caplan from comment #3)
> Satellite's upper bounds are limited by AMQP's ceiling. Is this an artifact
> of a particular version of AMQP (QPID).

This is a Qpid Dispatch Router issue, not an AMQP issue.  AMQP can handle all of the links you need.  We will address this limitation in the router in an upcoming release.

-Ted

Comment 18 errata-xmlrpc 2018-02-21 12:57:01 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/RHBA-2018:0338