Print

Print


On 18 May 2011, at 13:48, Stephen Jones wrote:

> Often, when (e.g.) setting up a CE, tests fail with a message from the WMS showing 'BrokerHelper: no compatible resources', i.e. the job needs resources that are not given by my CE. In cases like this, I end up guessing what resources the job on the WMS Broker needs, so the message goes away.
> 
> But it is impossible to predict for sure. I can't foresee what resources the JDL requires. I feel like a shopkeeper who has been told by a departing customer “You don't have compatible resources”, i.e. I'm puzzled because I have no idea what compatible resources were required. Did he want a tin of prunes or a ticket for the Ffestiniog railway? There is no way to know, from the message I get.
> 
> Does anyone know some convenient way to discover _what_ compatible resources were missing?


I'm not sure what you're getting at here; because you're describing the 'BrokerHelper: no compatible resources' message in pretty much the opposite way I understand it.  So I'm going to take a stab as explaining why I don't find this problem often - and how I deal with it when it occurs, and hopefully out of that we can synthesis something that make this clearer.


The WMS gives the 'BrokerHelper: no compatible resources' messages when the set of Requirements [0] stanza of the JDL specifies a set of requirements that is not met by any of the CE's. [1]

So the set of requirements is specified in the JDL, and therefore it shouldn't be complicated to see what's being requested.  Note that the WMS only applies this to the CE's it's aware of - so an information system problem (either at site or top level) can cause CE's to drop out temporarily.

In terms of diagnosing the problem: it's not something I tend to need to do very often, as when testing a CE, I tend to either do direct CE submission (glite-ce-job-submit), or specify exactly one requirement - the specific CE I want to test.

But when I do need to, I use glite-wms-job-list-match, and delete one clause from the Requirements at a time, until I find the one that's the problem.  Generally, it's not likely to be CPU/wall time limits, unless they are excessively long, so I start with the other Requirements.


However, I agree that it would be good if there was a way to get the WMS to describe the details of the matching process better, for diagnosing these things.  It wouldn't be too tricky to write a wrapper around job-list-match, taking each component of the Requirements at a time, and counting the matching resources for each stanza in it, and that might give an idea of where the problem lies.  
If there's interest, I can see if I can whip something up?


[0] Or DataRequirements - but that seems to have fallen out of fashion
[1] glite-wms-job-list-match is a good way to test this - if it can't find anything, then you're going to get that message on submission.