Project

General

Profile

Feature #2378

Proper support for glexec - required by site vs provided by site

Added by Igor Sfiligoi about 8 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Parag Mhashilkar
Category:
-
Target version:
Start date:
03/23/2012
Due date:
% Done:

0%

Estimated time:
(Total: 0.00 h)
Stakeholders:
Duration:

Description

Hi all.

We currently have no native way to specify if a site requires glexec (e.g. FNAL), or only provides it (e.g. UCSD).

This is important for VOs that do not want to use glexec; they must have a way to distinguish between the two.
We could define an arbitrary attribute, and let the frontends to match on it.

But would be nicer if the glideinWMS handled this natively.
(especially since we already treat GLIDEIN_Glexec_Use in a special way on the Frontend)

One potential option is to have in the Frontend
GLIDEIN_Glexec_Use = AVOID

and in the Factory something to indicate that glexec is required; maybe just
GLIDEIN_Glexec_Use = REQUIRED

Is this something that could be done?

Thanks,
Igor


Subtasks

Feature #2594: Native support for glexec in v3+AssignedParag Mhashilkar

History

#1 Updated by Burt Holzman almost 8 years ago

  • Assignee set to Parag Mhashilkar

#2 Updated by Parag Mhashilkar almost 8 years ago

  • Target version changed from v2_5_6 to v2_5_7

#3 Updated by Parag Mhashilkar almost 8 years ago

Here is the proposal ...

I don't think you need changes to the frontend, you can just use the GLIDEIN_Glexec_Use = NEVER. AVOID will be redundant.

For the factory, I can extend the config's restriction to support require_glidein_glexec_use. Entry needs GLEXEC_BIN any ways if the use of glexec by glidein is required. If you think require_glidein_glexec_use=OPTIONAL wont be useful, Proposal 1 is preferred. Let me know what you think.

Proposal 1
<restrictions require_voms_proxy="False" require_glidein_glexec_use="True|False"/>

Match making logic and glexec's use by glidein will change as follows:

  • CASE: GLIDEIN_Glexec_Use == NEVER
    • Only consider entries with require_glidein_glexec_use="False" * glidein will ignore GLEXEC_BIN and not use glexec
  • CASE: GLIDEIN_Glexec_Use == OPTIONAL
    • Only consider entries with require_glidein_glexec_use="False" * glidein will check for GLEXEC_BIN and use it if configured
  • CASE: GLIDEIN_Glexec_Use == ALWAYS
    • Only consider entries with require_glidein_glexec_use="True" * glidein will check for GLEXEC_BIN and will always use it

Proposal 2
<restrictions require_voms_proxy="False" require_glidein_glexec_use="NEVER|OPTIONAL|ALWAYS"/>

Match making logic and glexec's use by glidein will change as follows:

  • CASE: GLIDEIN_Glexec_Use == NEVER
    • Only consider entries with require_glidein_glexec_use="NEVER|OPTIONAL" * glidein will ignore GLEXEC_BIN and not use glexec
  • CASE: GLIDEIN_Glexec_Use == OPTIONAL
    • Only consider entries with require_glidein_glexec_use="NEVER|OPTIONAL" * glidein will check for GLEXEC_BIN and use it if configured
  • CASE: GLIDEIN_Glexec_Use == ALWAYS
    • Only consider entries with require_glidein_glexec_use="ALWAYS" * glidein will check for GLEXEC_BIN and will always use it

#4 Updated by Igor Sfiligoi almost 8 years ago

Hi Parag.

I like your idea to push the definition in the factory with

require_glidein_glexec_use

It will not require the FE admins to change anything, although the FE code will have to change in order to use the new GF attribute.

And I agree that for v2plus, require_glidein_glexec_use="True|False" is better (see below for my v3 proposal).

However, I don't understand your logic regarding GLIDEIN_Glexec_Use;
GLIDEIN_Glexec_Use="OPTIONAL"
means "use it whenever possible"... which is not what is in your proposal.

I think it should be:
  • CASE: GLIDEIN_Glexec_Use = "NEVER"
    FE only considers entries with require_glidein_glexec_use="False"; does not look for GLEXEC_BIN at all
    Glidein will ignore GLEXEC_BIN and not use glexec, but will fail validation if the GF set require_glidein_glexec_use="True"
  • CASE: GLIDEIN_Glexec_Use = "OPTIONAL"
    FE considers all the entries (independently of require_glidein_glexec_use and GLEXEC_BIN)
    Glidein will check for GLEXEC_BIN and use it only if configured (but fail validation if defined and does not work)
  • CASE: GLIDEIN_Glexec_Use = "ALWAYS"
    FE only considers entries with GLEXEC_BIN defined
    Glidein will check for GLEXEC_BIN and will always use it; fail validation if glexec not defined/usable

Igor

PS: For v3 I would propose we make glexec 1st class citizen and have a dedicated tag, e.g.:

<id_switching required="NO|OPTIONAL|YES" [type="glexec" path="blah" require_credentials="none|x509|voms"]/>

(this would also allow us to use something different than glexec, which is currently being discussed in OSG)

PS2: We will need something similar for the v3 frontend.

#5 Updated by Parag Mhashilkar almost 8 years ago

Agreed on the CASE: GLIDEIN_Glexec_Use = "OPTIONAL" behavior.

Moving v3 discussion to another ticket

#6 Updated by Parag Mhashilkar almost 8 years ago

  • Status changed from New to Assigned

#7 Updated by Burt Holzman almost 8 years ago

  • Assignee changed from Parag Mhashilkar to Douglas Strain

Assigning to Doug as Parag is on vacation.

#8 Updated by Douglas Strain almost 8 years ago

  • Assignee changed from Douglas Strain to Parag Mhashilkar

#9 Updated by Burt Holzman almost 8 years ago

  • Target version changed from v2_5_7 to v2_7_x

#10 Updated by Parag Mhashilkar almost 8 years ago

branch_v2plus: commit:0915c29f0a2962b01932b87a5f3bcba685183b7a commit:2b28bc445ddf9b06919c063aabddcda467c0d795

#11 Updated by Parag Mhashilkar almost 8 years ago

  • Status changed from Assigned to Feedback

#12 Updated by Parag Mhashilkar almost 8 years ago

  • Status changed from Feedback to Accepted

#13 Updated by Parag Mhashilkar almost 8 years ago

Moving the conversation to redmine.

Igor, Can you please clarify what part of the problem it does not resolve and I can work on it?

As requested, the changes lets factory configure if the site wants to use glexec and also advertises that accordingly in glidefactory classad. Frontend can use this attribute along with GLEXEC_BIN to perform the required matchmaking logic. Maybe the actual problem is different and this is just part of the solution.

#14 Updated by Igor Sfiligoi almost 8 years ago

Just saying I did not have time to do a complete analysis of the code to see if it solves completely the problem.
Nothing more.

The code changes themselves look good.

#15 Updated by Parag Mhashilkar almost 8 years ago

  • Status changed from Accepted to Resolved

#16 Updated by Parag Mhashilkar over 7 years ago

  • Target version changed from v2_7_x to v2_6

#17 Updated by Parag Mhashilkar over 7 years ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF