diff options
author | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-05-27 10:28:21 +0200 |
---|---|---|
committer | Alejandro Sirgo Rica <asirgo@soleta.eu> | 2024-05-30 17:22:23 +0200 |
commit | 60803fe0ed3da3efc444b5f4b203f8fe1b16ca33 (patch) | |
tree | 390a24ddadfb51c4bdd8b4795f2bb611b704d54f /src | |
parent | 72d8943576610395582f95b170730bae4adf2287 (diff) |
src: add cache info to the image/restore response
Add a 'cache' field into the json payload the client sends to
the server after a restore operation so the server can update
the new cache contents.
Resquest response structure:
{
...
'cache': [
{'name': 'windows.img', 'size': 2432370213, checksum: '5d4dcc677bc19f40a647d0002f4ade90'},
{'name': 'linux.img', 'size': 243234534213, checksum: '3eb22f888f88a55ad954f55644e1192e'}
]
...
}
Diffstat (limited to 'src')
-rw-r--r-- | src/live/ogOperations.py | 8 | ||||
-rw-r--r-- | src/ogRest.py | 7 | ||||
-rw-r--r-- | src/virtual/ogOperations.py | 9 |
3 files changed, 18 insertions, 6 deletions
diff --git a/src/live/ogOperations.py b/src/live/ogOperations.py index d557fac..e8a3b40 100644 --- a/src/live/ogOperations.py +++ b/src/live/ogOperations.py @@ -452,6 +452,14 @@ class OgLiveOperations: logging.info('Image restore command OK') + json_dict = { + 'disk': request.getDisk(), + 'partition': request.getPartition(), + 'image_id': request.getId(), + 'cache': self._get_cache_contents(), + } + return json_dict + def image_create(self, request, ogRest): disk = int(request.getDisk()) partition = int(request.getPartition()) diff --git a/src/ogRest.py b/src/ogRest.py index ad57c8c..bd480a7 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -170,15 +170,12 @@ class ogThread(): def image_restore(client, request, ogRest): try: - ogRest.operations.image_restore(request, ogRest) + payload = ogRest.operations.image_restore(request, ogRest) except Exception as e: ogRest.send_internal_server_error(client, exc=e) return - json_body = jsonBody() - json_body.add_element('disk', request.getDisk()) - json_body.add_element('partition', request.getPartition()) - json_body.add_element('image_id', request.getId()) + json_body = jsonBody(payload) response = restResponse(ogResponses.OK, json_body, seq=client.seq) client.send(response.get()) diff --git a/src/virtual/ogOperations.py b/src/virtual/ogOperations.py index d40170e..1e2a682 100644 --- a/src/virtual/ogOperations.py +++ b/src/virtual/ogOperations.py @@ -457,7 +457,14 @@ class OgVirtualOperations: subprocess.run([f'umount {self.OG_IMAGES_PATH}'], shell=True) self.refresh(ogRest) - return True + json_dict = { + 'disk': request.getDisk(), + 'partition': request.getPartition(), + 'image_id': request.getId(), + 'cache': [], + } + + return json_dict def cache_delete(self, request, ogRest): raise NotImplementedError |