Skip to content

Commit

Permalink
rest: retreive workspace disk usage from db models
Browse files Browse the repository at this point in the history
  • Loading branch information
audrium committed Sep 24, 2020
1 parent cf18f6f commit fec3113
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 20 deletions.
1 change: 1 addition & 0 deletions AUTHORS.rst
Expand Up @@ -4,6 +4,7 @@ Authors
The list of contributors in alphabetical order:

- `Adelina Lintuluoto <https://orcid.org/0000-0002-0726-1452>`_
- `Audrius Mecionis <https://orcid.org/0000-0002-3759-1663>`_
- `Anton Khodak <https://orcid.org/0000-0003-3263-4553>`_
- `Diego Rodriguez <https://orcid.org/0000-0003-0649-2002>`_
- `Dinos Kousidis <https://orcid.org/0000-0002-4914-4289>`_
Expand Down
22 changes: 7 additions & 15 deletions reana_workflow_controller/rest/workflows.py
Expand Up @@ -11,16 +11,13 @@
import json
from uuid import uuid4

import fs
from flask import Blueprint, jsonify, request
from reana_commons.utils import get_workspace_disk_usage
from reana_db.database import Session
from reana_db.models import User, Workflow
from reana_db.utils import _get_workflow_with_uuid_or_name

from reana_workflow_controller.config import (
DEFAULT_NAME_FOR_WORKFLOWS,
SHARED_VOLUME_PATH,
WORKFLOW_TIME_FORMAT,
)
from reana_workflow_controller.errors import (
Expand Down Expand Up @@ -207,18 +204,13 @@ def get_workflows(paginate=None): # noqa
workflow_response["session_type"] = workflow.interactive_session_type
workflow_response["session_uri"] = workflow.interactive_session
if verbose:
reana_fs = fs.open_fs(SHARED_VOLUME_PATH)
if reana_fs.exists(workflow.workspace_path):
absolute_workspace_path = reana_fs.getospath(
workflow.workspace_path
)
disk_usage_info = get_workspace_disk_usage(
absolute_workspace_path, block_size=block_size
)
if disk_usage_info:
workflow_response["size"] = disk_usage_info[-1]["size"]
else:
workflow_response["size"] = "0K"
disk_usage_info = workflow.get_workspace_disk_usage(
summarize=True, block_size=block_size
)
if disk_usage_info:
workflow_response["size"] = disk_usage_info[0]["size"]
else:
workflow_response["size"] = "0K"
workflows.append(workflow_response)
pagination_dict["items"] = workflows
return jsonify(pagination_dict), 200
Expand Down
4 changes: 2 additions & 2 deletions requirements.txt
Expand Up @@ -51,8 +51,8 @@ python-dateutil==2.8.1 # via alembic, bravado, bravado-core, kubernetes
python-editor==1.0.4 # via alembic
pytz==2020.1 # via bravado-core, fs
pyyaml==5.3.1 # via bravado, bravado-core, kubernetes, reana-commons, swagger-spec-validator
reana-commons[kubernetes]==0.7.0a4 # via reana-db, reana-workflow-controller (setup.py)
reana-db==0.7.0a6 # via reana-workflow-controller (setup.py)
reana-commons[kubernetes]==0.8.0a1 # via reana-db, reana-workflow-controller (setup.py)
reana-db==0.8.0a1 # via reana-workflow-controller (setup.py)
requests-oauthlib==1.3.0 # via kubernetes
requests==2.20.0 # via bravado, kubernetes, reana-workflow-controller (setup.py), requests-oauthlib
rfc3987==1.3.8 # via jsonschema
Expand Down
5 changes: 2 additions & 3 deletions setup.py
Expand Up @@ -47,13 +47,12 @@
install_requires = [
"Flask>=0.12",
"werkzeug>=0.16.1,<0.17",
"fs>=2.0",
"gitpython>=2.1",
"jsonpickle>=0.9.6",
"marshmallow>2.13.0,<=2.20.1",
"packaging>=18.0",
"reana-commons[kubernetes]>=0.7.0a4,<0.8.0",
"reana-db>=0.7.0a6,<0.8.0",
"reana-commons[kubernetes]>=0.8.0a1,<0.9.0",
"reana-db>=0.8.0a1,<0.9.0",
"requests==2.20.0",
"sqlalchemy-utils>=0.31.0",
"uwsgi-tools>=1.1.1",
Expand Down

0 comments on commit fec3113

Please sign in to comment.