On Thu, 2012-05-24 at 21:11 +0000, DeFolo, Daniel wrote:
> Hi all,
> 
>  
> 
> I’ve been investigating the metahost scheduling options and am
> wondering if I’m missing something or if it doesn’t support the style
> of scheduling I want to do.  I’m wanting to schedule jobs using
> criteria like the following:
> 
>  
> 
> Run job on 1 system with LABEL1 AND LABEL2 AND LABEL3…
> 
>  
> 
> In terms of why I want to do this imagine wanting to match a system
> with the following attribute driven labels:
> 
> -         SMALL_MEMORY
> 
> -         HAS_FC_DISKS
> 
> -         LCPU_CORES_4
> 
> -         SUPPORTS_TEST_Y
> 
>  
> 
> So far I’ve been able to confirm the CLI and web frontend allow
> metahost scheduling for only 1 label at a time:
> 
>  
> 
> ClI: -m 1*SMALL_MEMORY works as expected and picks a 1 host with that
> label
> 
>  
> 
> Frontend:  select “Number of hosts” and pick 1 label from combo-box
> (no multi-selection of labels allowed)
> 
>  
> 
> I’ve also tried -b ‘label1,label2, label3’, but that schedules the job
> on every system that matches those labels (not just 1 or a specified
> value of N).
> 
>  
> 
> Is this type of scheduling just not an option at this point?

You're right, meta scheduling for more than one label is still not
supported.

>  
> 
> If I wanted to add to the scheduling options I was thinking of the
> following approach:
> 
>  
> 
> Scheduler code:
> 
> -         Update the metahost scheduler to accept a list of labels
> that must all match to select a host
> 
> -         Decide what to do if no hosts match (raise an exception,
> email user, or just queue up the job and wait for a matching host to
> appear).  My preference would be to assure at least 1 accessible (in
> terms of ACL) host exists before creating the job.  Errors would be
> given to the user in a similar manner to if they had specified a
> non-existent label.

What to do here can be a little tricky. The way I see it, the behavior
should be as such:

 * Provided that there *are* machines that satisfy all the conditions
specified in the grid, then the job should be scheduled.
 * If there are no such machines in the grid, a clear error message
should be returned to the user, an email reiterating the message would
be a nice complement to this approach.

>  
> 
> CLI:
> 
> -         Expand -m option to support -m 1*label1,label2,label3 style
> of syntax
> 
> -         Add new option --metahost-match-count <N> which when paired
> with -b labels is the equivalent of the above -m syntax
> 
>  
> 
> Frontend:
> 
> -         Update the “Specify host labels” tab of the Create Job page
> to use a multi-select enabled combo-box  for  the “Run on any hosts
> with label” prompt
> 
>  
> 
> Comments?

The approach is fine, you may work on it if you have time available, an
issue to track the work item would be nice as well.



_______________________________________________
Autotest mailing list
Autotest@test.kernel.org
http://test.kernel.org/cgi-bin/mailman/listinfo/autotest

Reply via email to