Commit Graph
70 Commits
Author SHA1 Message Date
Ruslan Kuprieiev 31fed211f6 test: use suffixes and prefixes in tmpdir names
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-10-14 00:37:02 +03:00
Ruslan Kuprieiev edf73dc52f test: skip hdfs test if can't connect
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-10-01 16:29:55 +03:00
Ruslan Kuprieiev 59dcdb02ea state: optimize operations
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-09-17 10:47:16 +03:00
Ruslan Kuprieiev c6f642fd6b dvc: add --recursive
Fixes #1026

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-08-21 10:41:19 +03:00
Ruslan Kuprieiev 7e4f39d8eb dvc: show filenames in push/pull output
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-26 16:50:25 +03:00
Ruslan Kuprieiev 66f1777d9c test: ssh: don't try to ask for a password
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-25 17:28:58 +03:00
Ruslan Kuprieiev bc4a5d78e3 tests: data cloud: don't forget to test fetch
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-19 08:24:55 +03:00
Ruslan Kuprieiev f54428d5ed test: properly check for hadoop availability
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-18 10:12:49 +03:00
Ruslan Kuprieiev c636581699 test: gc: catch OSError 2018-07-12 10:41:34 +03:00
Ruslan Kuprieiev 4668c10e6e test: gs: catch WinError 2018-07-12 10:32:34 +03:00
Ruslan Kuprieiev 9be161de54 test: use IOError instead of FileNotFoundError 2018-07-12 10:25:40 +03:00
Ruslan Kuprieiev 79826b21a4 test: gcp: handle FileNotFoundError 2018-07-12 10:14:15 +03:00
Ruslan Kuprieiev f476143c52 test: check if we need to test RemoteAzure with _should_test_azure
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-12 09:13:07 +03:00
Clemens Wolff 97dfc88647 Flag skipped tests during test run 2018-07-10 16:44:28 -04:00
Clemens Wolff fcbc6d115c Wire-up Azure in TestDataCloud 2018-07-10 16:33:52 -04:00
Clemens Wolff 1b1ca68b64 Fix inspections 2018-07-10 16:33:52 -04:00
Clemens Wolff 9724bd94aa Replace os.system with subprocess.check_output
It is generally recommended to use the subprocess module instead of the
os module to run subshell commands given since the former makes it
easier to comunicate with the process, has an improved security model,
etc. More information is available in [1].

Note that this change uses `check_output` instead of `check_call` to
prevent the command output from being printed to stdout.

This change also introduces two additional enhancements:
- Skip the hadoop test if the hadoop binary is not available.
- Skip the ssh test if the ssh binary is not available.

[1] https://docs.python.org/3/library/subprocess.html#replacing-os-system
2018-07-10 16:33:14 -04:00
Clemens Wolff 581132bbe0 Fix environment variable name 2018-07-10 13:54:49 -04:00
Clemens Wolff 6882a781a4 Add Azure Blob Storage remote
This change adds a new cloud remote based on Azure Blob Storage [1] and
the azure-storage-blob SDK [2].

The implementation closely follows the patterns laid out by the existing
cloud remotes (AWS and GCP). Notable differences include:

- No use of a lock in the progress-bar callback and no requirement to
  look up total transfer size ahead of time: the Azure Storage SDK
  provides the total transfer bytes and current transfer offset in its
  progress callback.

- When `exists` is called, check the existence of every blob instead of
  listing the entire container. Container list operations can be
  expensive so unless the number of checked files is very large, making
  separate requests is likely going to be more efficient.

- For increased flexibility, access credentials for the Azure Storage
  backend can be provided either connection-string style via the remote
  URL or via environment variables. The Azure Storage backend can be
  emulated via Azurite [3].

[1] https://azure.microsoft.com/en-us/services/storage/blobs/
[2] https://github.com/Azure/azure-storage-python
[3] https://github.com/Azure/azurite

This change was created together with @EricSchles.
2018-07-09 14:47:40 -04:00
Ruslan Kuprieiev a392289cbf travis: run hdfs test only on Linux
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-01 10:02:43 +03:00
Ruslan Kuprieiev 591cd90583 travis: enable hdfs test
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-07-01 09:44:42 +03:00
Ruslan Kuprieiev fa9a79008b test: use gauth 2018-07-01 03:01:16 +03:00
Ruslan Kuprieiev 12edcbaa04 remote: support HDFS for push/pull/status from local repo
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-30 22:54:49 +03:00
Ruslan Kuprieiev 5d85b19e77 test: enable ssh test on osx
Fixes #798

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-30 16:56:17 +03:00
Ruslan Kuprieiev 555e802ed2 RFC/perf: data cloud logic
Properly splitting jobs between thread workers and removing unnecessary logic.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-30 07:44:11 +03:00
Ruslan Kuprieiev db7251b3ea dvc: support ssh deps/outs/cache
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-23 18:47:52 +03:00
Ruslan Kuprieiev c274bfee3e RFC: remove unused code
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-22 18:46:09 +03:00
Ruslan Kuprieiev d0b730f62f RFC: data_cloud and remotes
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-22 18:21:50 +03:00
Ruslan Kuprieiev 0a951f5ab3 dvc: move cloud/ drivers to remote/
Fixes #741

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-20 19:42:33 +03:00
Ruslan Kuprieiev 88397ef430 dvc: use Remote concept in existing code
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-06-04 22:28:14 +03:00
Ruslan Kuprieiev 0a049c232b cache: configurable cache dir and cache type
From now on we allow specifying standalone cache dirs as well as
specifying linking method(copy, symlink, hardlink, reflink) for it.
If 'cache type' is not specified in the config, dvc will try all of
them starting from reflink all the way down to copy.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-28 21:50:49 +03:00
Ruslan Kuprieiev 3748164ddb cloud: aws: migrate to boto3
This allows us to abandon our own additional config parameters for
aws cloud(like region) and use the ones from .aws/config by default.
Plus, boto3 automatically switches to multipartupload if file is bigger
than a certain limit, allowing us to remove a lot of our own code.

Fixes #650
Fixes #636
Fixes #601

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-13 06:06:52 +03:00
Ruslan Kuprieiev 0df69a1046 tests: sleep(1) before modifying data files
This will help simulate realistic behaviour on filesystems with poor mtime resolution.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-10 23:36:50 +03:00
Ruslan Kuprieiev 6dc9fbd08e dvc: cloud: use local state for cmp_checksum
Fixes #633

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-10 01:56:06 +03:00
Ruslan Kuprieiev 828f00bf86 test: add ssh key in travis script
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-08 23:46:08 +03:00
Ruslan Kuprieiev 541429c26e tests: cloud: fix naming scheme
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-08 23:17:51 +03:00
Ruslan Kuprieiev c4fa14eae8 tests: ssh: fix typo 2018-04-08 22:52:37 +03:00
Ruslan Kuprieiev 36d924c4c2 test: add test for ssh cloud
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-08 22:26:18 +03:00
Ruslan Kuprieiev 3988397a3d tests: data cloud: limit jobs to 2
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-07 05:23:58 +03:00
Ruslan Kuprieiev eef12da7b6 tests: fix typo 2018-04-07 05:14:57 +03:00
Ruslan Kuprieiev f5ef256447 test: don't forget to copy gcp credentials
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-07 05:09:45 +03:00
Ruslan Kuprieiev e8b5af6cd9 test: test remotes in CLI
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-07 02:34:00 +03:00
Ruslan Kuprieiev a948f5ca90 gs: don't require ProjectName
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-05 21:31:20 +03:00
Ruslan Kuprieiev fb4633072e dvc: introduce remotes
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-05 21:31:20 +03:00
Ruslan Kuprieiev 5a8aef28f5 config: empty config by default + format verification
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-04-05 01:51:52 +03:00
Ruslan Kuprieiev 75c0ffaa68 test: test CLI failures for push/pull/fetch/status
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-14 20:11:05 +02:00
Ruslan Kuprieiev 2fe6091ffb dvc: don't change mode of files
Since we can now detect cache corruption, we don't need
to force any permissions on our data files.

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-14 12:48:16 +02:00
Ruslan Kuprieiev 0068e90074 test: enable 'local cloud' tests for windows
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-10 18:46:14 +02:00
Ruslan Kuprieiev 2e21c39c00 cli: move push/pull from under 'dvc cache'
Fixes #528

Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-08 14:03:49 +02:00
Ruslan Kuprieiev fa43309222 config: rename 'Global' section to 'Core'
Signed-off-by: Ruslan Kuprieiev <[email protected]>
2018-03-08 09:04:28 +02:00