From 77a60b717af0db3deed845745c39a3fd1e52e6e2 Mon Sep 17 00:00:00 2001 From: Alejandro Sirgo Rica Date: Thu, 26 Sep 2024 10:21:19 +0200 Subject: views: check if image fits in cache before /cache/fetch Check if the image fits in cache before a /cache/fetch request. Report the clients unable to store the image. --- ogcp/views.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ogcp/views.py b/ogcp/views.py index edcc2ab..b41a2bc 100644 --- a/ogcp/views.py +++ b/ogcp/views.py @@ -1411,6 +1411,17 @@ def action_image_fetch(): flash(_(f'Image to fetch was not found'), category='error') return redirect(url_for('commands')) + r = server.get('/cache/list', payload={'clients': ips}) + if not r: + return ogserver_down('commands') + if r.status_code != requests.codes.ok: + return ogserver_error('commands') + + clients_info = r.json()['clients'] + + if not image_fits_in_cache(server, clients_info, image): + return redirect(url_for('commands')) + payload = {'clients': ips, 'repository_id': image['repo_id'], 'type': form.method.data, -- cgit v1.2.3-18-g5258