Bug 1510578

Summary: [RFE][hc][dalton] - Set up cgroup for gluster processes in HC mode from the engine
Product: [oVirt] ovirt-engine Reporter: Sahina Bose <sabose>
Component: BLL.GlusterAssignee: Sahina Bose <sabose>
Status: CLOSED CURRENTRELEASE QA Contact: SATHEESARAN <sasundar>
Severity: high Docs Contact:
Priority: high    
Version: 4.1.7.3CC: bugs, lveyde, sasundar, ylavi
Target Milestone: ovirt-4.2.1Keywords: FutureFeature
Target Release: 4.2.1.3Flags: rule-engine: ovirt-4.2+
ylavi: planning_ack+
rule-engine: devel_ack+
sasundar: testing_ack+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.2.1.3 Doc Type: Enhancement
Doc Text:
Feature: Restrict the CPU resources consumed by gluster processes Reason: When running in hyperconverged mode, gluster processes should co-exist with virt processes and not consume all available resources Result: Hyperconverged mode works as expected
Story Points: ---
Clone Of:
: 1523615 (view as bug list) Environment:
Last Closed: 2018-05-23 08:23:54 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Gluster RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1134318, 1523615    

Description Sahina Bose 2017-11-07 17:22:33 UTC
Description of problem:

When virt and gluster services are running on the same node, there should be an option to configure cgroup/ slice configuration to limit resource consumption by gluster processes

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

How reproducible:
NA

Comment 1 Yaniv Lavi 2017-11-07 19:55:09 UTC
The default should be the same as in GDeploy.

Comment 2 SATHEESARAN 2017-12-04 07:54:33 UTC
This requirement also needs to make sure that the number of cores allocated for gluster processes is customizable at deployment and also at run-time

Currently this value is chosen is hard-coded as 400 in gdeploy.
To implement it, gdeploy should first provide this flexibility.

I have raised a bug[1] for the same in gdeploy

[1] - https://bugzilla.redhat.com/show_bug.cgi?id=1411902

Comment 3 Yaniv Lavi 2017-12-04 14:29:55 UTC
(In reply to SATHEESARAN from comment #2)
> This requirement also needs to make sure that the number of cores allocated
> for gluster processes is customizable at deployment and also at run-time
> 
> Currently this value is chosen is hard-coded as 400 in gdeploy.
> To implement it, gdeploy should first provide this flexibility.
> 
> I have raised a bug[1] for the same in gdeploy
> 
> [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1411902

Are you planning to invoke GDeploy from the manager?
A design page would be great to have.

Comment 4 Sahina Bose 2018-01-10 09:05:04 UTC
(In reply to Yaniv Lavi from comment #3)
> (In reply to SATHEESARAN from comment #2)
> > This requirement also needs to make sure that the number of cores allocated
> > for gluster processes is customizable at deployment and also at run-time
> > 
> > Currently this value is chosen is hard-coded as 400 in gdeploy.
> > To implement it, gdeploy should first provide this flexibility.
> > 
> > I have raised a bug[1] for the same in gdeploy
> > 
> > [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1411902
> 
> Are you planning to invoke GDeploy from the manager?
> A design page would be great to have.

Not gdeploy - but invoking ansible playbook during host-deploy, the same way that it's done for creating firewall rules on hosts

Comment 5 Sahina Bose 2018-01-11 05:58:04 UTC
(In reply to SATHEESARAN from comment #2)
> This requirement also needs to make sure that the number of cores allocated
> for gluster processes is customizable at deployment and also at run-time
> 
> Currently this value is chosen is hard-coded as 400 in gdeploy.
> To implement it, gdeploy should first provide this flexibility.
> 
> I have raised a bug[1] for the same in gdeploy
> 
> [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1411902

From the engine, CPUQuota is set based on the available cores in the host. Gluster is alloted 1/3rd. Does that meet requirements?

Comment 6 SATHEESARAN 2018-04-04 11:48:10 UTC
(In reply to Sahina Bose from comment #5)
> (In reply to SATHEESARAN from comment #2)
> > This requirement also needs to make sure that the number of cores allocated
> > for gluster processes is customizable at deployment and also at run-time
> > 
> > Currently this value is chosen is hard-coded as 400 in gdeploy.
> > To implement it, gdeploy should first provide this flexibility.
> > 
> > I have raised a bug[1] for the same in gdeploy
> > 
> > [1] - https://bugzilla.redhat.com/show_bug.cgi?id=1411902
> 
> From the engine, CPUQuota is set based on the available cores in the host.
> Gluster is alloted 1/3rd. Does that meet requirements?

1/3 is again a statically configured value. It should be made more flexible for user to opt for custom value based on requirement. I will log another RFE to make it flexible for custom value. But this value of 1/3 of cores should be work for now

Comment 7 SATHEESARAN 2018-05-16 07:59:35 UTC
Tested with RHV 4.2.3 and glusterfs-3.12.
While adding the host to the virt+gluster service enabled cluster, the cgroups for gluster processes are set properly

Comment 8 Sandro Bonazzola 2018-05-23 08:23:54 UTC
This bugzilla is included in oVirt 4.2.1 release, published on Feb 12th 2018.

Since the problem described in this bug report should be
resolved in oVirt 4.2.1 release, it has been closed with a resolution of CURRENT RELEASE.

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