Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
d6b4598
s3: migrate to s3fs
isidentical Mar 15, 2021
396d90c
s3: strip etag
isidentical Mar 15, 2021
a0c81ab
s3: disable instance cache
isidentical Mar 15, 2021
214319e
tests: use the proper remote:// form in test_checkout
isidentical Mar 16, 2021
2ffc53f
tests: move/drop some tests
isidentical Mar 17, 2021
f5d753b
setup: depend on s3fs
isidentical Mar 18, 2021
c193dcf
tests: normalize s3 tests with some cleanups
isidentical Mar 18, 2021
130bdd7
Use _download/_upload with old implementation
isidentical Mar 23, 2021
8073f20
fsspec: cache .exists() results
isidentical Mar 23, 2021
b1963a0
setup: pin the boto version
isidentical Mar 23, 2021
28e60c7
setup: install s3fs[boto3]
isidentical Mar 23, 2021
d13cb6a
s3: proper exception management
isidentical Mar 24, 2021
f461148
s3: config improvements
isidentical Mar 24, 2021
2e55ad6
setup: reference without quotes
isidentical Mar 24, 2021
a3381db
setup: install boto separately
isidentical Mar 24, 2021
4ebe85b
setup: install moto server
isidentical Mar 24, 2021
1664d75
s3: mocking adjustments for moto_server
isidentical Mar 24, 2021
7531825
s3: mark some fixtures with scope=session
isidentical Mar 24, 2021
c29b06f
s3: s3_fake_creds_file scopes to func
isidentical Mar 24, 2021
6288f54
fsspec: add some docs regarding exists() optimization
isidentical Mar 24, 2021
f0451ec
fsspec: exists() fallback
isidentical Mar 24, 2021
5d2c3c0
fsspec: revert exists() optimization
isidentical Mar 25, 2021
833c1fb
w: catching up with master
isidentical Apr 2, 2021
e1f4032
tests: ssl_verify => verify
isidentical Apr 2, 2021
8ac98ac
setup: temporarily fetch from master
isidentical Apr 7, 2021
96367ff
w: catch up with master
isidentical Apr 7, 2021
f6c0af2
w: catch up with master
isidentical Apr 12, 2021
82821cf
s3: add boto as a requirement
isidentical Apr 12, 2021
dbfd44f
tests: do an extra check regarding race conditions
isidentical Apr 12, 2021
8790eb3
tests: use motoserver docker image
isidentical Apr 13, 2021
d24651e
w: catch up with master
isidentical Apr 13, 2021
c541ddf
tests: wrap config deletion with try/finally
isidentical Apr 13, 2021
5b0dc6f
tests: disable s3 by default
isidentical Apr 15, 2021
799ffca
w: catch up with master
isidentical Apr 28, 2021
e795c8c
Merge branch 'master' of github.com:iterative/dvc into s3fs-temp-migr…
isidentical Apr 30, 2021
36c0c59
setup: upgrade fsspec
isidentical May 4, 2021
71e7032
w: catch up with master
isidentical May 5, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
519 changes: 143 additions & 376 deletions dvc/fs/s3.py

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dvc/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ def disable_other_loggers():

def setup(level=logging.INFO):
colorama.init()
logging.getLogger("asyncio").setLevel(logging.CRITICAL)

addLoggingLevel("TRACE", logging.DEBUG - 5)
logging.config.dictConfig(
Expand Down
6 changes: 3 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -88,16 +88,16 @@ def run(self):
"python-benedict>=0.21.1",
"pyparsing==2.4.7",
"typing_extensions>=3.7.4",
"fsspec==0.9.0",
"fsspec==2021.4.0",
"diskcache>=5.2.1",
]


# Extra dependencies for remote integrations

gs = ["gcsfs==0.8.0"]
gs = ["gcsfs==2021.4.0"]
gdrive = ["pydrive2>=1.8.1", "six >= 1.13.0"]
s3 = ["boto3>=1.9.201"]
s3 = ["s3fs==2021.4.0", "boto3==1.16.52"]
azure = ["adlfs==0.7.1", "azure-identity>=1.4.0", "knack"]
# https://github.com/Legrandin/pycryptodome/issues/465
oss = ["oss2==2.6.1", "pycryptodome>=3.10"]
Expand Down
3 changes: 0 additions & 3 deletions test_requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ flaky==3.7.0
mock==4.0.3
rangehttpserver==1.2.0
mock-ssh-server==0.9.0
# moto's indirect dependency that is causing problems with flufl.lock's
# dependency (atpublic). See https://github.com/iterative/dvc/pull/4853
moto==2.0.6
beautifulsoup4==4.9.3
wget==3.2
filelock==3.0.12
Expand Down
2 changes: 1 addition & 1 deletion tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
"hdfs": False,
"http": True,
"oss": False,
"s3": True,
"s3": False,
"ssh": True,
"webdav": True,
}
Expand Down
4 changes: 4 additions & 0 deletions tests/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ services:
command: azurite -L -l /data --blobHost 0.0.0.0 --queueHost 0.0.0.0
ports:
- "10000"
motoserver:
image: motoserver/moto
ports:
- "5000"
Comment on lines +9 to +12
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@isidentical, now that we are using docker 😩, please turn the following config off so that s3 tests are not run by default:

https://github.com/iterative/dvc/blob/31439754377d829da6babffcc720dd696554d8ab/tests/conftest.py#L22

oss:
image: rkuprieiev/oss-emulator
ports:
Expand Down
2 changes: 1 addition & 1 deletion tests/func/test_checkout.py
Original file line number Diff line number Diff line change
Expand Up @@ -856,7 +856,7 @@ def test_checkout_external_modified_file(tmp_dir, dvc, scm, mocker, workspace):
# was attempted without force, dvc checks if it's present in its cache
# before asking user to remove it.
workspace.gen("foo", "foo")
dvc.add(str(workspace / "foo"), external=True)
dvc.add("remote://workspace/foo", external=True)
scm.add(["foo.dvc"])
scm.commit("add foo")

Expand Down
2 changes: 1 addition & 1 deletion tests/func/test_import_url.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,8 +369,8 @@ def test_import_url_to_remote_invalid_combinations(dvc):
@pytest.mark.parametrize(
"workspace",
[
pytest.lazy_fixture("s3"),
pytest.lazy_fixture("hdfs"),
pytest.param(pytest.lazy_fixture("s3"), marks=empty_xfail),
pytest.param(pytest.lazy_fixture("gs"), marks=empty_xfail),
pytest.param(pytest.lazy_fixture("azure"), marks=empty_xfail),
pytest.param(
Expand Down
219 changes: 0 additions & 219 deletions tests/func/test_s3.py

This file was deleted.

9 changes: 8 additions & 1 deletion tests/remotes/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,14 @@
oss_server,
real_oss,
)
from .s3 import S3, TEST_AWS_REPO_BUCKET, real_s3, s3 # noqa: F401
from .s3 import ( # noqa: F401
S3,
TEST_AWS_REPO_BUCKET,
real_s3,
s3,
s3_fake_creds_file,
s3_server,
)
from .ssh import ( # noqa: F401; noqa: F401
SSHMocked,
ssh,
Expand Down
Loading