Bug 2351161 - [RFE]Cephadm. RGW concentrators
Summary: [RFE]Cephadm. RGW concentrators
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat Storage
Component: Cephadm
Version: 8.0
Hardware: Unspecified
OS: Unspecified
high
medium
Target Milestone: ---
: 8.1
Assignee: Adam King
QA Contact: Yuva Teja Sree Gayam
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-03-10 19:48 UTC by Adam King
Modified: 2025-06-26 12:28 UTC (History)
4 users (show)

Fixed In Version: ceph-19.2.1-150.el9cp
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2025-06-26 12:27:58 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHCEPH-10805 0 None None None 2025-03-10 19:49:06 UTC
Red Hat Product Errata RHSA-2025:9775 0 None None None 2025-06-26 12:28:01 UTC

Internal Links: 2364104

Description Adam King 2025-03-10 19:48:34 UTC
This BZ is to track the work for https://jsw.ibm.com/browse/ISCE-932. Copying the current contents of that here

---

service_type: rgw
service_id: foo
placement:
  label: rgw
  count_per_host: 2
spec:
  rgw_frontend_port: 8080
If you do this today then you will get 2x RGW on each host with the rgw label, one listening on 8080, and another listening on 8081.

If you create an ingress service it will deploy haproxy, but the backend for the haproxy will be a list of all RGWs for a particular instance.

Apple would like the ability to have a single endpoint per host, with multiple host local RGWs running behind it. I'm using the term "concentrator" to signify a component that runs on a host with multiple RGWs, that provides a single endpoint (IP:port pairing) that balances load across `count_per_hosts` RGWs running locally. My proposed syntax for this sort of configuration would be:

service_type: rgw
service_id: foo
placement:
  label: rgw
  count_per_host: 2
spec:
  concentrator: haproxy
  cencentrator_port: 80
  rgw_frontend_port: 8080
The expected behavior would be the configuration of 2x RGW on each host with the rgw label, one listening on 8080, another listening on 8081, and a haproxy listening on 80 that has a backend configured for those two host local RGWs.

By having `haproxy` be the value for `concentrator`, we leave the door open to supporting other concentrator types later (ovs, ipvs, envoy, etc).

We do not need to setup keepalived for concentrators.

If an ingress service refers to a RGW service with concentrators, we could keep the existing behavior (direct from ingress haproxy to rgw 8080/8081 per host).

We could reuse the haproxy templating we use already for ingress, with mode tcp for simplicity (so we don't need https configuration stuffs), and to avoid buffering the HTTP requests.

Customer: Apple

Comment 1 Storage PM bot 2025-03-10 19:48:43 UTC
Please specify the severity of this bug. Severity is defined here:
https://bugzilla.redhat.com/page.cgi?id=fields.html#bug_severity.

Comment 10 Yuva Teja Sree Gayam 2025-04-23 13:49:15 UTC
Basic feature verification is done. So far,we haven't seen any issues. we will move the BZ to Verified once the feature is validated in detail.

The steps have been added to the document:

https://docs.google.com/document/d/1VGF-ex6BBBfSX_sLb7d0Wd5TtYOsv93RlBKGe1-OKrU/edit?tab=t.fo7sn1jh8kaf

Comment 11 errata-xmlrpc 2025-06-26 12:27:58 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 (Important: Red Hat Ceph Storage 8.1 security, bug fix, and enhancement updates), 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-2025:9775


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