Opened 11 years ago

Last modified 10 years ago

#931 new enhancement

IZ698: Enhance resource filters

Reported by: rhierlmeier Owned by:
Priority: normal Milestone:
Component: hedeby Version: 1.0u5
Severity: Keywords: util


[Imported from gridengine issuezilla]

        Issue #:      698          Platform:     All           Reporter: rhierlmeier (rhierlmeier)
       Component:     hedeby          OS:        All
     Subcomponent:    util         Version:      1.0u5            CC:    None defined
        Status:       NEW          Priority:     P3
      Resolution:                 Issue type:    ENHANCEMENT
                               Target milestone: 1.0u5next
      Assigned to:    rhierlmeier (rhierlmeier)
      QA Contact:     rhierlmeier
       * Summary:     Enhance resource filters
   Status whiteboard:

     Issue 698 blocks:
   Votes for issue 698:     Vote for this issue

   Opened: Fri Nov 20 08:31:00 -0700 2009 


   The resource filter as it is implemented has some restriction. For simplifying
   some use cases we need the following enhancements:

   1. It should be possible to include the service name to which the resource is
   assigned into the filter.

   % sdmadm sr -rf ' service != "cloud" && owner = "cloud"'

   Moving all cloud resources back to the owner could be done with the following

   % sdmadm mvr -r `sdmadm sr -rf ' service != "cloud" && owner = "cloud" -o
   res_ids` -s "cloud"

   (It would be also nice of the mvr command would have a -rf argument).

   In the current system you need a strange sdmadm | awk | sdmadm pipeline.

   2. Allow in resource filter to query the assign_time and the assign_duration of
   a resource

   The resource property assign_time will contain the timestamp (or date) when the
   resource was assigned to the service . The assign_duration is  now -

   With this second enhancement dynamic caching SLOs are possible. Cloud resources
   can be tied to a spare_pool for a limited time with the following simple

   <common:slo name="fix_usage_for_limited_time
        <resourceFilter>  assign_duration <  3600 </resourceFilter>


   Both enhancements can be implemented easily and will simplify the usage of SDM.


   For allowing the service in the resource filter we have to enhance the class
   ResourceVariableResolver.  This class gets a new member service. In the
   constructor of ResourceVariableResolver the service member will be set.

   For the assign_time we have to define a new resource property in
   AbstractResourceType. Each service will set this resource property when a
   resource is assigned. This can be implemented in
   AbstractResourceAdapter#prepareInstall. All ResourceAdapter are derived from
   this class except GEResourceAdapter (needs a special handling).

   The calculation of the assign_time is done in the ResourceVariableResource on

   How to test

    * Write junit tests that tests the resource filters
    * Enhance the preheating use case TS test. Enable the time based dynamic caching

   ETC: 5PD
               ------- Additional comments from rhierlmeier Wed Nov 25 07:21:11 -0700 2009 -------
   Milestone changed

Change History (0)

Note: See TracTickets for help on using tickets.