Bug 1240561

Summary: [RFE] Add a parameter to the rabbitmq agent to control the file_descriptors limit
Product: Red Hat Enterprise Linux 7 Reporter: Lee Yarwood <lyarwood>
Component: resource-agentsAssignee: Peter Lemenkov <plemenko>
Status: CLOSED CURRENTRELEASE QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: agk, cfeist, cluster-maint, fdinitto, gfidente, oalbrigt, oblaut
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-29 09:38:16 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:
Bug Depends On:    
Bug Blocks: 1240587, 1241628, 1296673    

Description Lee Yarwood 2015-07-07 08:59:23 UTC
1. Proposed title of this feature request  
[RFE] Add a parameter to the rabbitmq agent to control the file_descriptors limit 
  
2. Who is the customer behind the request?  
GSS
  
TAM customer: N/A
SRM customer: N/A
Strategic: N/A  
  
3. What is the nature and description of the request?  
As the resource agent starts rabbitmq-server directly we can't use the normal limits.conf method via systemd to control the file_descriptors limit. A method for controlling thus via a parameter for the resource agent, as we do for galera via additional_parameters, would be very useful. 
  
4. Why does the customer need this? (List the business requirements here)  
As environments grow they will quickly saturate the default limit of 1024 file descriptors.

5. How would the customer like to achieve this? (List the functional requirements here)
An additional resource agent parameter that allows this limit to be controlled.
  
6. For each functional requirement listed, specify how Red Hat and the customer can test to confirm the requirement is successfully implemented.  
Can the file_descriptor limit be controlled via a resource agent parameter?

7. Is there already an existing RFE upstream or in Red Hat Bugzilla?
None that I could find.  
  
8. Does the customer have any specific timeline dependencies and which release would they like to target (i.e. RHEL5, RHEL6)?  
RHEL 7.2 & RHEL 7.1.z for RHEL OSP 7 GA or shortly there after.
  
9. Is the sales team involved in this request and do they have any additional input?  
No.

10. List any affected packages or components.  
resource-agents.

11. Would the customer be able to assist in testing this functionality if implemented?  
Yes GSS can help test this.

Comment 2 Lee Yarwood 2015-07-07 09:24:26 UTC
FYI, by default in a 3 node cluster using the rabbitmq resource agent we see the following fd limits used :

# pcs resource show rabbitmq
 Resource: rabbitmq (class=ocf provider=heartbeat type=rabbitmq-cluster)
  Attributes: set_policy="ha-all ^(?!amq\.).* {"ha-mode":"all"}" 
  Operations: start interval=0s timeout=100 (rabbitmq-start-timeout-100)
              stop interval=0s timeout=90 (rabbitmq-stop-timeout-90)
              monitor interval=10 timeout=40 (rabbitmq-monitor-interval-10)

# rabbitmqctl report | grep -A3 file_descriptors
 {file_descriptors,[{total_limit,924},
                    {total_used,3},
                    {sockets_limit,829},
                    {sockets_used,1}]},
--
 {file_descriptors,[{total_limit,924},
                    {total_used,3},
                    {sockets_limit,829},
                    {sockets_used,1}]},
--
 {file_descriptors,[{total_limit,924},
                    {total_used,152},
                    {sockets_limit,829},
                    {sockets_used,150}]},

Comment 3 David Vossel 2015-07-07 15:36:48 UTC
There is a trivial workaround for this feature.
https://bugzilla.redhat.com/show_bug.cgi?id=1240587#c4

If the installer can take advantage of the rabbitmq-enf.conf file, we should not consider this issue a blocker and lower the priority of the OCF agent feature request.

Comment 4 Lee Yarwood 2015-07-07 15:39:55 UTC
(In reply to David Vossel from comment #3)
> There is a trivial workaround for this feature.
> https://bugzilla.redhat.com/show_bug.cgi?id=1240587#c4
> 
> If the installer can take advantage of the rabbitmq-enf.conf file, we should
> not consider this issue a blocker and lower the priority of the OCF agent
> feature request.

ACK, thanks for the workaround David, I'm lowering this to medium and asking the director team to follow up in BZ#1240587.

Comment 7 Peter Lemenkov 2016-11-11 15:00:01 UTC
I've got a patch (not yet ustreamed) which add this functionality. I just need to know if anyone is still interested in this feature?

If the answer is yes, then I'll continue as usual (propose to upstream, edit PR if necessary, do a RPM build, etc). If not, then I'll keep this open until someone wants this.