Skip to content
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

adapt to FTS Client 3.13 #8460

Closed
belforte opened this issue Jun 3, 2024 · 4 comments
Closed

adapt to FTS Client 3.13 #8460

belforte opened this issue Jun 3, 2024 · 4 comments

Comments

@belforte
Copy link
Member

belforte commented Jun 3, 2024

there is (at least) one non-backward compatible change

all our FTS submissions fail with
    job = fts3.new_job(transfers,
TypeError: new_job() got an unexpected keyword argument 'spacetoken' 

I am communicating with FTS developers about this

mail sent to FTS developers

temporary workaround was to force (this commit and two following ones) older FTS version. See also https://cms-talk.web.cern.ch/t/jobs-stuck-at-transfer/41870/3?u=belforte

Waiting for clarifications from FTS developers before changing our code

bring_online=None,
source_spacetoken=None,
spacetoken=None,

@belforte
Copy link
Member Author

belforte commented Jun 3, 2024

here's FTS answer

Hello Stefano,

Apologies for creating problems for the CRAB submission system.

From the previous verison to FTS v3.13.0, the "new_job()" and "new_staging_job()" signatures have been changed.
The field "spacetoken" was renamed from "spacetoken" --> "destination_spacetoken".

We checked before releasing with Rucio and DIRAC. I apologies for not checking with CRAB as well.

To move forward:

    I will (probably) tag FTS v3.13.1 which brings back the old "spacetoken" field, but prints a deprecation warning. I assume you aren't the only system impacted.
    Are you reding these deprecation warnings? If we add them to the codebase, will you be able to see and act on them? (I'm afraid these large systems often hide these warnings)
    No matter what, whether in this release or the next big one (FTS v3.14.0), things will get uncomfortable. In FTS v3.14.0 we will add source & destination tokens to the submit functions signatures. If we add the deprecating warning, it is also in FTS v3.14.0 when we will remove the deprecated field

@belforte
Copy link
Member Author

belforte commented Jun 3, 2024

and this is the final word

en" --> "destination_spacetoken" argument backwards compatible.

All the "fts3.new_job(..)" parameters are optional, with default "None" value. The same applies for the (destination_)spacetoken. So if you don't add "spacetoken" or "destination_spacetoken" when you invoke "fts3.new_job(..)", there is no harm. It's only when you pass "spacetoken" specifically that it breaks in the new version, as seems to be in your case.

In your FTS submission code, I recommend dropping the "source_spacetoken=None" and "spacetoken=None" lines [1] (or replace "spacetoken=None" with "destination_spacetoken=None"). The backwards-compatibility fix will be released, bringing back "spacetoken". If you wait for it, no change will be needed in your code.

However, please prepare for the removal of the "spacetoken" field in FTS v3.14, as well as the addition of source + destination (access) tokens to the "fts3.new_transfer(..)" signature. I will announce those better and ahead of time.

@belforte
Copy link
Member Author

belforte commented Jun 4, 2024

I have removed the lines

bring_online=None,
source_spacetoken=None,
spacetoken=None,

new code should work with past and present FTS client. And IIUC also with coming FTS client v3.14

belforte added a commit to belforte/CRABServer that referenced this issue Jun 5, 2024
belforte added a commit that referenced this issue Jun 5, 2024
* Revert "Revert "Run test jobs on crab sched 903 (#8472)" (#8474)"

This reverts commit 0665454.

* Revert "Run test jobs on crab sched 903 (#8472)"

This reverts commit c5ec3ef.

* Revert "ensure proxyfile in RestInfoForFileTransfers.json is a filename w/o path. Fix #8464 (#8467)"

This reverts commit 9ced4fd.

* Revert "workaround for #8456 (#8466)"

This reverts commit 602f8d6.

* Revert "Update makeTests.py: collector param does not allow port #. Simply put FNAL first"

This reverts commit 7ac2b90.

* Revert "Update makeTests.py: add collector port for ITB"

This reverts commit f6c01eb.

* Revert "do not set RequestCpus in task submission JDL. Fix #8456 (#8457)"

This reverts commit 198e2d3.

* Revert "pass string, not bytes, to htcondor.param Fix #8450 (#8452)"

This reverts commit 856d1ef.

* Revert "schedd.xquery is deprecated. Use schedd.query. Fix #8447 (#8449)"

This reverts commit b129645.

* Revert "new format of schedd.submit)/spool() fix #8336 fix #8333 (#8448)"

This reverts commit 806226a.

* Revert "do not indicate unused args in FTS calls. Fix #8460 (#8475)"

This reverts commit 20d4f90.
@belforte
Copy link
Member Author

belforte commented Jun 5, 2024

need to apply fix again to master after I had to revert to v3.240530

@belforte belforte reopened this Jun 5, 2024
belforte added a commit to belforte/CRABServer that referenced this issue Jun 7, 2024
belforte added a commit to belforte/CRABServer that referenced this issue Jun 28, 2024
belforte added a commit to belforte/CRABServer that referenced this issue Jun 28, 2024
* Revert "Revert "Run test jobs on crab sched 903 (dmwm#8472)" (dmwm#8474)"

This reverts commit 0665454.

* Revert "Run test jobs on crab sched 903 (dmwm#8472)"

This reverts commit c5ec3ef.

* Revert "ensure proxyfile in RestInfoForFileTransfers.json is a filename w/o path. Fix dmwm#8464 (dmwm#8467)"

This reverts commit 9ced4fd.

* Revert "workaround for dmwm#8456 (dmwm#8466)"

This reverts commit 602f8d6.

* Revert "Update makeTests.py: collector param does not allow port #. Simply put FNAL first"

This reverts commit 7ac2b90.

* Revert "Update makeTests.py: add collector port for ITB"

This reverts commit f6c01eb.

* Revert "do not set RequestCpus in task submission JDL. Fix dmwm#8456 (dmwm#8457)"

This reverts commit 198e2d3.

* Revert "pass string, not bytes, to htcondor.param Fix dmwm#8450 (dmwm#8452)"

This reverts commit 856d1ef.

* Revert "schedd.xquery is deprecated. Use schedd.query. Fix dmwm#8447 (dmwm#8449)"

This reverts commit b129645.

* Revert "new format of schedd.submit)/spool() fix dmwm#8336 fix dmwm#8333 (dmwm#8448)"

This reverts commit 806226a.

* Revert "do not indicate unused args in FTS calls. Fix dmwm#8460 (dmwm#8475)"

This reverts commit 20d4f90.
belforte added a commit to belforte/CRABServer that referenced this issue Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant