[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Condor-users] Condor-G for multiple Grid Types


Gabriel Mateescu wrote:

Using $$(resource_name) works. But, in general, we have three cases:

1. We allow matching with any grid_type of the resource. Then we can use your solution

      grid_resource   = $$(resource_name)

2. We want to match only one grid_type, e.g., a gt4 resource. Then we can use:

     grid_resource = gt4 $$(gatekeeper_url) $$(job_manager_type)

3. We have a grid with, say, gt2, gt3, and gt4 resources and want the job to use either a gt2 or gt4 resource, but not a gt3 resource. Then I thought that I could use a job classad where I specify either the job's grid_type attribute (as in my previous message), or, using grid_resource,

  grid_resource = $$(grid_type) $$(gatekeeper_url) $$(job_manager_type)

  Requirements = ... \
     (TARGET.grid_type =!= UNDEFINED) &&  \
(TARGET.grid_type =?= "gt2" || TARGET.grid_type =?= "gt4" )

I believe that you can solve all three cases with solution:
grid_resource   = $$(resource_name)
and the Requirements like in case 3.

On the Matchmaking side you can publish both resource_name and grid_type. Condor won't complain about grid_type in resource classad since you can add custom attribute to the resource anyway (you might as well name it differently).

In the job classad don't define grid_type with:

but use grid_resource attribute & Requirements attribute to define which grid type (or types) you wish to use:

	grid_resource   = $$(resource_name)
	Requirements = ... \
		(TARGET.resource_name =!= UNDEFINED) && \
		(TARGET.grid_type =?= "gt2" || ...)

I just tested it on our system and it works fine.

However, as soon as I insert $$(grid_type) in the matchmaking I get an error. For the case
  grid_resource = $$(grid_type) $$(gatekeeper_url) $$(job_manager_type)

the error is
    HoldReason = "x509userproxy is not set in the job ad"

This is not related to grid mathcmaking. You should add attribute:
x509userproxy = </fullpath/to/userproxy>
to job classad and it should work.

  while for

grid_type = $$(grid_type) condor_submit rejects the job as described in my previous message.
  So my question is:

    Can $$(grid_type) be used for matchmaking?

I must admit that I'm not sure, but judging by the message and the fact that it is not mentioned in documentation I would say that is is not possible.

Additional problem is that the grid_type and globusscheduler attributes are obsolete in latest version so you shouldn't use them anyway. (http://www.cs.wisc.edu/condor/manual/v6.7/8_3Development_Release.html#SECTION00931000000000000000) This however does not make difference for a solution I suggested above, because you can interpret grid_type as a custom resource attribute.