Add sync function to FSBase, and implementations to fslocal and fsmongo 04/8504/1 v7.0.1 v7.0.1rc2 v7.0.1rc3
authorDavid Garcia <david.garcia@canonical.com>
Mon, 20 Jan 2020 12:21:06 +0000 (13:21 +0100)
committerDavid Garcia <david.garcia@canonical.com>
Tue, 21 Jan 2020 09:17:47 +0000 (10:17 +0100)
The reason behind this change is that FSMongo needs to sync the charm to the local storage in order for libjuju to reach it.

Change-Id: Ic5838fd4ab64dd2c3e2cf78c439f33363885dd14
Signed-off-by: David Garcia <david.garcia@canonical.com>
osm_common/fsbase.py
osm_common/fslocal.py
osm_common/fsmongo.py

index 208ab87..7e69613 100644 (file)
@@ -82,3 +82,6 @@ class FsBase(object):
 
     def file_delete(self, storage, ignore_non_exist=False):
         raise FsException("Method 'file_delete' not implemented")
+
+    def sync(self):
+        raise FsException("Method 'sync' not implemented")
index 7306559..7794754 100644 (file)
@@ -177,3 +177,6 @@ class FsLocal(FsBase):
                 raise FsException("File {} does not exist".format(storage), http_code=HTTPStatus.NOT_FOUND)
         except (IOError, PermissionError) as e:
             raise FsException("File {} cannot be deleted: {}".format(f, e), http_code=HTTPStatus.INTERNAL_SERVER_ERROR)
+
+    def sync(self):
+        pass  # Not needed in fslocal
index c558d8e..771790f 100644 (file)
@@ -208,8 +208,6 @@ class FsMongo(FsBase):
                 os.chmod(file_path, writing_file.metadata["permissions"])
 
     def get_params(self):
-        self.__update_local_fs()
-
         return {"fs": "mongo", "path": self.path}
 
     def fs_connect(self, config):
@@ -430,3 +428,9 @@ class FsMongo(FsBase):
                 raise FsException("File {} does not exist".format(storage), http_code=HTTPStatus.NOT_FOUND)    
         except IOError as e:
             raise FsException("File {} cannot be deleted: {}".format(f, e), http_code=HTTPStatus.INTERNAL_SERVER_ERROR)
+
+    def sync(self):
+        """
+        Sync from FSMongo to local storage
+        """
+        self.__update_local_fs()