Skip to content

RF ORA#7235

Merged
bpoldrack merged 5 commits into
datalad:masterfrom
bpoldrack:rf-ora
Dec 31, 2022
Merged

RF ORA#7235
bpoldrack merged 5 commits into
datalad:masterfrom
bpoldrack:rf-ora

Conversation

@bpoldrack
Copy link
Copy Markdown
Member

@bpoldrack bpoldrack commented Dec 22, 2022

This is a revival of #5859 (which I thought was long merged).

Apart from some refactoring in ORA, it introduces the possibility to override the special remote configs (in git-annex:remote.log) by local configs. This is then used to change the reconfiguration of ORA remotes by clone to only apply locally instead of committing a changed RIA URL (which could lead to a constant ping pong between different access methods to a RIA store).

In addition, there is a shim special remote introduced here, that allows datasets using the old ria remote (https://github.com/datalad/git-annex-ria-remote) to still work. This doesn't come with a proper test, since there's little point in making the tests depend on a package that is deprecated and archived. Please note, that there are two more points about introducing this "second flavor" of the special remote:

  1. One idea is to have this replaced by an implementation that would auto-migrate during initremote/enableremote.
  2. Following up on Remove RIA functionality #7022, after 0.18 I want to move all the RIA/ORA stuff into https://github.com/datalad/datalad-ria. Those two special remotes here in core would then be replaced by a dummy implementation that simply issues an error message to annex, reading something like "please install datalad-ria extension".
    So, the point here is to introduce that second "spot".

@bpoldrack bpoldrack changed the base branch from maint to master December 22, 2022 13:01
`clone` does an auto reconfiguration of ORA special remotes, if the
dataset was cloned from a RIA store, an ORA remote failed to autoenable
and clone finds that the special remote's uuid in the store it just
cloned from. The clone URL would then be configured to be used by the
ORA special remote. However, until now that new URL was passed
to `annex enableremote` and thereby committed in the git-annex branch.

This could lead to a back and forth of changing committed URLs by
different users who may have access to that store via different methods
(SSH/HTTP). This patch changes the reconfiguration to only happen
locally in .git/config, since ORA does now respect and gives precedence
to local configs.
@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 22, 2022

Codecov Report

Base: 88.70% // Head: 88.79% // Increases project coverage by +0.08% 🎉

Coverage data is based on head (40d3430) compared to base (92e86f7).
Patch coverage: 75.53% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7235      +/-   ##
==========================================
+ Coverage   88.70%   88.79%   +0.08%     
==========================================
  Files         325      326       +1     
  Lines       44124    44750     +626     
  Branches     5867     5887      +20     
==========================================
+ Hits        39142    39734     +592     
- Misses       4967     5001      +34     
  Partials       15       15              
Impacted Files Coverage Δ
datalad/customremotes/ria_utils.py 95.31% <ø> (ø)
datalad/distributed/tests/test_ria_git_remote.py 100.00% <ø> (ø)
datalad/customremotes/ria_remote.py 55.55% <55.55%> (ø)
datalad/core/distributed/clone_utils.py 87.88% <66.66%> (-0.27%) ⬇️
datalad/distributed/ora_remote.py 79.69% <75.72%> (-0.16%) ⬇️
datalad/distributed/tests/test_ria_basics.py 98.24% <100.00%> (+0.29%) ⬆️
datalad/distribution/utils.py 94.00% <0.00%> (-6.00%) ⬇️
datalad/interface/utils.py 95.28% <0.00%> (-1.05%) ⬇️
datalad/cli/parser.py 86.03% <0.00%> (-0.46%) ⬇️
datalad/support/annexrepo.py 90.33% <0.00%> (-0.09%) ⬇️
... and 9 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

This has long been overdue, since the special remote is called ORA for
quite a while now.
This allows for datasets that were configured with the old ria special
remote to still work and gives a message when such a special remote is
enabled.

Note, that there are further plans to use the spot for implementing a
special remote that automatically migrates datasets.
@bpoldrack bpoldrack marked this pull request as ready for review December 23, 2022 10:58
@bpoldrack bpoldrack marked this pull request as draft December 23, 2022 10:59
@bpoldrack bpoldrack added the semver-minor Increment the minor version when merged label Dec 23, 2022
@bpoldrack bpoldrack marked this pull request as ready for review December 23, 2022 11:59
@qlty-cloud-legacy
Copy link
Copy Markdown

Code Climate has analyzed commit 40d3430 and detected 6 issues on this pull request.

Here's the issue category breakdown:

Category Count
Security 6

View more on Code Climate.

@bpoldrack bpoldrack added this to the 0.18.0 milestone Dec 23, 2022
@bpoldrack
Copy link
Copy Markdown
Member Author

Ok, no objections raised and the setup failure for the "Test old nose code" build clearly is unrelated.
Merging.

@bpoldrack bpoldrack merged commit 24331ed into datalad:master Dec 31, 2022
@yarikoptic-gitmate
Copy link
Copy Markdown
Collaborator

PR released in 0.18.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

semver-minor Increment the minor version when merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants