From 716c554b93445cebe25f2b25ea7838eeec6426ac Mon Sep 17 00:00:00 2001 From: Ruslan Kuprieiev Date: Wed, 11 Jul 2018 17:23:20 +0300 Subject: [PATCH] remote: allow AZURE cache Signed-off-by: Ruslan Kuprieiev --- dvc/cache.py | 1 + dvc/config.py | 2 ++ dvc/project.py | 3 +++ dvc/remote/azure.py | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/dvc/cache.py b/dvc/cache.py index 0262136fa..14596d488 100644 --- a/dvc/cache.py +++ b/dvc/cache.py @@ -30,6 +30,7 @@ class Cache(object): self.gs = self._get_remote(project, config, Config.SECTION_CACHE_GS) self.ssh = self._get_remote(project, config, Config.SECTION_CACHE_SSH) self.hdfs = self._get_remote(project, config, Config.SECTION_CACHE_HDFS) + self.azure = self._get_remote(project, config, Config.SECTION_CACHE_AZURE) def _get_remote(self, project, config, name): from dvc.remote import Remote diff --git a/dvc/config.py b/dvc/config.py index 88d0751f0..1bc915605 100644 --- a/dvc/config.py +++ b/dvc/config.py @@ -46,12 +46,14 @@ class Config(object): SECTION_CACHE_GS = 'gs' SECTION_CACHE_SSH = 'ssh' SECTION_CACHE_HDFS = 'hdfs' + SECTION_CACHE_AZURE = 'azure' SECTION_CACHE_SCHEMA = { schema.Optional(SECTION_CACHE_LOCAL): str, schema.Optional(SECTION_CACHE_S3): str, schema.Optional(SECTION_CACHE_GS): str, schema.Optional(SECTION_CACHE_HDFS): str, schema.Optional(SECTION_CACHE_SSH): str, + schema.Optional(SECTION_CACHE_AZURE): str, # backward compatibility schema.Optional(SECTION_CACHE_DIR, default='cache'): str, diff --git a/dvc/project.py b/dvc/project.py index 056ddf2a9..5b8080300 100644 --- a/dvc/project.py +++ b/dvc/project.py @@ -307,6 +307,9 @@ class Project(object): if self.cache.hdfs: self.cache.hdfs.gc(clist) + if self.cache.azure: + self.cache.azure.gc(clist) + def push(self, target=None, jobs=1, remote=None, all_branches=False): self.cloud.push(self._used_cache(target, all_branches)['local'], jobs, remote=remote) diff --git a/dvc/remote/azure.py b/dvc/remote/azure.py index a38056f57..3254b3e6d 100644 --- a/dvc/remote/azure.py +++ b/dvc/remote/azure.py @@ -211,7 +211,7 @@ class RemoteAzure(RemoteBase): progress.finish_target(name) def gc(self, checksum_infos): - used_etags = [info[self.PARAM_ETAG] for info in checksum_infos] + used_etags = [info[self.PARAM_ETAG] for info in checksum_infos['azure']] all_blobs = self.blob_service.list_blobs(self.bucket)