Skip to content

(Safe) Implementation of the token-safe retry logic for gfal #12218

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 26, 2025

Conversation

anpicci
Copy link
Contributor

@anpicci anpicci commented Jan 5, 2025

Fixes #12144

Status

Tested

Description

This PR introduces the retry logic proposed by @stlammel for handling the possible failures with token authentication when used with gfal-cp and xrootd protocols.

Both the copy and remove commands are preceded by setting the proper env variables to enforcing the desired authentication method, specified via the authMethod method argument. In addition, given that these protocols will try to use every authentication method before failing, an additional forceMethod argument is added to unset the env variables needed to enable the undesired protocol.

For instance:
authMethod=TOKEN, forceMethod=True set the BEARER_TOKEN* env variables and clearly unset the X509_ ones.

These variables are introduced also for all other subclasses for the other protocols, but their usage in not implemented for now. The retry logic is delegated to StageOutImpl

Is it backward compatible (if not, which system it affects?)

YES

Related PRs

#12199 for implementing the token authentication in the stage-in step
This PR overrides #12191

External dependencies / deployment changes

None

@dmwm-bot
Copy link

dmwm-bot commented Jan 5, 2025

Jenkins results:

  • Python3 Unit tests: succeeded
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 8 warnings and errors that must be fixed
    • 1 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/248/artifact/artifacts/PullRequestReport.html

@anpicci anpicci changed the title Applying changes from dev_12144 (Safe) Implementation of the token-safe retry logic for gfal Jan 5, 2025
@dmwm-bot
Copy link

dmwm-bot commented Jan 7, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 137 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/256/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 7, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 8 new failures
    • 1 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 17 warnings and errors that must be fixed
    • 4 warnings
    • 175 comments to review
  • Pycodestyle check: succeeded
    • 20 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/260/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 7, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 1 tests no longer failing
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 137 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/261/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 8, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 137 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/262/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 8, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 137 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/263/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 8, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 1 new failures
    • 4 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 138 comments to review
  • Pycodestyle check: succeeded
    • 11 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/266/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 9, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 1 new failures
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 138 comments to review
  • Pycodestyle check: succeeded
    • 11 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/267/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Jan 9, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 135 comments to review
  • Pycodestyle check: succeeded
    • 9 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/268/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 3 new failures
    • 1 tests no longer failing
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 1 warnings
    • 135 comments to review
  • Pycodestyle check: succeeded
    • 9 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/272/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 3 new failures
    • 2 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/285/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 1 tests no longer failing
    • 3 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/293/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 3 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/318/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 4 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/320/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Feb 6, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 2 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/335/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Feb 6, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 1 tests added
    • 3 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/336/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Feb 6, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 4 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 136 comments to review
  • Pycodestyle check: succeeded
    • 10 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/338/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

dmwm-bot commented Feb 7, 2025

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 1 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 137 comments to review
  • Pycodestyle check: succeeded
    • 11 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/341/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 3 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 142 comments to review
  • Pycodestyle check: succeeded
    • 13 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/342/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 7 new failures
    • 2 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 143 comments to review
  • Pycodestyle check: succeeded
    • 14 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/343/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 5 new failures
    • 3 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 2 warnings
    • 146 comments to review
  • Pycodestyle check: succeeded
    • 14 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/344/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 5 new failures
    • 4 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 3 warnings
    • 146 comments to review
  • Pycodestyle check: succeeded
    • 16 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/346/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 6 new failures
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 3 warnings
    • 146 comments to review
  • Pycodestyle check: succeeded
    • 16 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/347/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 6 new failures
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 2 warnings and errors that must be fixed
    • 3 warnings
    • 176 comments to review
  • Pycodestyle check: succeeded
    • 22 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/365/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 23 new failures
    • 61 tests deleted
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 2 warnings and errors that must be fixed
    • 3 warnings
    • 146 comments to review
  • Pycodestyle check: succeeded
    • 22 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/366/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 23 new failures
    • 58 tests deleted
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 3 warnings and errors that must be fixed
    • 2 warnings
    • 175 comments to review
  • Pycodestyle check: succeeded
    • 18 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/367/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: succeeded
    • 4 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 4 warnings
    • 367 comments to review
  • Pycodestyle check: succeeded
    • 104 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/511/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: succeeded
    • 14 tests no longer failing
    • 4 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 5 warnings
    • 357 comments to review
  • Pycodestyle check: succeeded
    • 105 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/513/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 7 new failures
    • 14 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 5 warnings and errors that must be fixed
    • 5 warnings
    • 363 comments to review
  • Pycodestyle check: succeeded
    • 104 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/514/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 7 new failures
    • 14 tests no longer failing
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 1 warnings and errors that must be fixed
    • 5 warnings
    • 363 comments to review
  • Pycodestyle check: succeeded
    • 104 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/515/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 25 new failures
    • 61 tests deleted
    • 14 tests no longer failing
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 2 warnings and errors that must be fixed
    • 5 warnings
    • 328 comments to review
  • Pycodestyle check: succeeded
    • 106 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/516/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 8 new failures
    • 14 tests no longer failing
    • 1 changes in unstable tests
  • Python3 Pylint check: failed
    • 6 warnings and errors that must be fixed
    • 5 warnings
    • 365 comments to review
  • Pycodestyle check: succeeded
    • 105 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/517/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 7 new failures
    • 14 tests no longer failing
    • 3 changes in unstable tests
  • Python3 Pylint check: failed
    • 7 warnings and errors that must be fixed
    • 5 warnings
    • 413 comments to review
  • Pycodestyle check: succeeded
    • 108 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/518/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 10 new failures
    • 3 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 7 warnings and errors that must be fixed
    • 5 warnings
    • 413 comments to review
  • Pycodestyle check: succeeded
    • 108 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/520/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 4 new failures
    • 2 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 3 warnings and errors that must be fixed
    • 6 warnings
    • 413 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/521/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 2 new failures
    • 2 tests no longer failing
    • 2 changes in unstable tests
  • Python3 Pylint check: failed
    • 3 warnings and errors that must be fixed
    • 6 warnings
    • 415 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/522/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 3 new failures
    • 2 tests no longer failing
    • 4 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 6 warnings
    • 412 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/523/artifact/artifacts/PullRequestReport.html

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 1 new failures
    • 3 tests no longer failing
    • 1 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 6 warnings
    • 412 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/524/artifact/artifacts/PullRequestReport.html

@anpicci
Copy link
Contributor Author

anpicci commented Mar 25, 2025

@amaltaro this is ready for the final review

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 4 new failures
    • 4 tests no longer failing
  • Python3 Pylint check: succeeded
    • 6 warnings
    • 412 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/525/artifact/artifacts/PullRequestReport.html

@anpicci
Copy link
Contributor Author

anpicci commented Mar 26, 2025

test this please

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: failed
    • 47 new failures
    • 3 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 6 warnings
    • 412 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/528/artifact/artifacts/PullRequestReport.html

@amaltaro
Copy link
Contributor

test this please

@dmwm-bot
Copy link

Jenkins results:

  • Python3 Unit tests: succeeded
    • 2 changes in unstable tests
  • Python3 Pylint check: succeeded
    • 6 warnings
    • 412 comments to review
  • Pycodestyle check: succeeded
    • 110 comments to review

Details at https://cmssdt.cern.ch/dmwm-jenkins/view/All/job/WMCore-PR-Report/529/artifact/artifacts/PullRequestReport.html

Copy link
Contributor

@amaltaro amaltaro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you Andrea and Kenyi, these changes look good to me.
I noticed some unit test changes in the first commit as well, please try to keep them separated in future PRs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Adopt token for WMAgent stage-out
6 participants