This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit e0abdebb508d867fd104f3e09c712c9c46cf1eb5 Author: Marcus Christie <[email protected]> AuthorDate: Mon Apr 17 16:43:28 2023 -0400 AIRAVATA-3694 minimum archive size setting --- .../apps/admin/management/commands/archive_user_data.py | 7 +++++++ django_airavata/settings.py | 1 + django_airavata/settings_local.py.sample | 1 + 3 files changed, 9 insertions(+) diff --git a/django_airavata/apps/admin/management/commands/archive_user_data.py b/django_airavata/apps/admin/management/commands/archive_user_data.py index 4eae0904..a2698ee4 100644 --- a/django_airavata/apps/admin/management/commands/archive_user_data.py +++ b/django_airavata/apps/admin/management/commands/archive_user_data.py @@ -59,6 +59,13 @@ class Command(BaseCommand): with open(os.path.join(tmpdir, archive_list_filename)) as archive_list_file: for line in archive_list_file: tarball.add(line.strip()) + + minimum_bytes_size = settings.GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB * 1024 ** 3 + if os.stat(archive_tarball_filepath).st_size < minimum_bytes_size: + self.stdout.write(self.style.WARNING("Aborting, archive size is not large enough to proceed (size less than GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB)")) + # Exit early + return + self.stdout.write(self.style.SUCCESS(f"Created tarball: {archive_tarball_filename}")) # Move the archive files into the final destination diff --git a/django_airavata/settings.py b/django_airavata/settings.py index d041d43f..a415a5be 100644 --- a/django_airavata/settings.py +++ b/django_airavata/settings.py @@ -206,6 +206,7 @@ TUS_DATA_DIR = None # TODO: document, timedelta arguments GATEWAY_USER_DATA_ARCHIVE_MAX_AGE = None GATEWAY_USER_DATA_ARCHIVE_DIRECTORY = "/tmp" +GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB = 1 # Legacy (PGA) Portal link - provide a link to the legacy portal PGA_URL = None diff --git a/django_airavata/settings_local.py.sample b/django_airavata/settings_local.py.sample index 1245000c..a21bf826 100644 --- a/django_airavata/settings_local.py.sample +++ b/django_airavata/settings_local.py.sample @@ -119,6 +119,7 @@ PROFILE_SERVICE_SECURE = False # archived and deleted to free up storage space. # GATEWAY_USER_DATA_ARCHIVE_MAX_AGE = {'days': 90} # GATEWAY_USER_DATA_ARCHIVE_DIRECTORY = "/path/dir/where/to/copy/archives" +# GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB = 1 # Portal settings PORTAL_TITLE = 'Django Airavata Gateway'
