Bug 511120

Summary: Feature: Resource Restriction
Product: Red Hat Enterprise MRG Reporter: Robert Rati <rrati>
Component: gridAssignee: Robert Rati <rrati>
Status: CLOSED CURRENTRELEASE QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: DevelopmentCC: iboverma, jsarenik, lbrindle, matt
Target Milestone: 1.2Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Grid enhancement Added feature to constrain resources. This prevents a job consuming more resources than is allowed for the slot the job is running on.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-02-12 15:57:26 UTC Type: ---
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: 532832    
Bug Blocks: 527551    
Attachments:
Description Flags
Verification script
none
Current verification script none

Description Robert Rati 2009-07-13 19:09:45 UTC
Description of problem:
condor allows resource division in slot definition, but nothing will prevent the application from incorrectly advertising it's resource requirements and then using more resources than is allowed for the slot it is matched with.  This feature would prevent a job from consuming more resources than have been allocated to a slot by strictly enforcing the slot's resource allocation.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Robert Rati 2009-07-13 20:18:49 UTC
This feature makes use of condor's USER_JOB_WRAPPER to run all jobs with a
wrapper that will enforce memory, swap, and disk usage for the slot the job is
running on.

It is configured by adding:

USER_JOB_WRAPPER=$(LIBEXEC)/condor_limits_wrapper.sh

Condor will write the job's classad and slot classad into files specified by
the environment variables _CONDOR_JOB_AD and _CONDOR_MACHINE_AD.

Comment 3 Irina Boverman 2009-10-28 18:03:35 UTC
Release note added. If any revisions are required, please set the 
"requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

New Contents:
Added resource constraining feature preventing a job from consuming more resources than is allowed for the slot the job is running on (511120)

Comment 6 Jan Sarenik 2009-11-02 16:56:55 UTC
Created attachment 367163 [details]
Verification script

Simple verification script.

Requires only condor to be installed.

Comment 7 Jan Sarenik 2009-11-02 17:04:06 UTC
Everything works fine with condor-7.4.1-0.2.el5
on both i386 and x86_64.

But condor-7.4.1-0.2.el4 works only no x86_64 as
expected. On i386 it does not limit virtual memory.

Please check my attached script if I am doing anything
wrong and then check what can cause different behaviour
on i386.

Comment 8 Jan Sarenik 2009-11-04 08:10:43 UTC
This one depends on Bug 532832.

Comment 9 Lana Brindley 2009-11-05 04:05:30 UTC
Release note updated. If any revisions are required, please set the 
"requires_release_notes"  flag to "?" and edit the "Release Notes" field accordingly.
All revisions will be proofread by the Engineering Content Services team.

Diffed Contents:
@@ -1 +1,3 @@
-Added resource constraining feature preventing a job from consuming more resources than is allowed for the slot the job is running on (511120)+Grid enhancement
+
+Added feature to constrain resources. This prevents a job consuming more resources than is allowed for the slot the job is running on.

Comment 10 Jan Sarenik 2009-11-05 17:30:03 UTC
Created attachment 367671 [details]
Current verification script

Memory and disk limits are correctly set
on all supported systems, i.e. RHEL4 and 5,
i386 and x86_64.

Comment 11 Jan Sarenik 2010-02-12 15:57:26 UTC
This was already released as part of 1.2, just not tracked by ERRATA.