Opened 10 years ago

Last modified 9 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
Cc:

Description

[Imported from gridengine issuezilla http://gridengine.sunsource.net/issues/show_bug.cgi?id=698]

        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
          URL:
       * Summary:     Enhance resource filters
   Status whiteboard:
      Attachments:


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


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


   Description

   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
   command:

   % 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 -
   assign_time.

   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
   FixedUsageSLO:

   <common:slo name="fix_usage_for_limited_time
               xsi:type="FixedUsageSLOConfig"
               urgency="99">
        <resourceFilter>  assign_duration <  3600 </resourceFilter>
   </common:slo>

   Evaluation:

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

   Analysis:

   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
   demand.

   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.