[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-07-03 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17739716#comment-17739716
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 161dd0a21b3853446f9d1b35755bdc25af6e5d72 in airavata's branch 
refs/heads/AIRAVATA-3697 from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=161dd0a21b ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-07-03 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17739714#comment-17739714
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 09e6aaf4350cf35ed92555a81e27aeb33d952843 in airavata's branch 
refs/heads/AIRAVATA-3697 from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=09e6aaf435 ]

AIRAVATA-3694 Ansible: configure data archive max ages for scigap hosted 
gateways


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-07-03 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17739715#comment-17739715
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit ca9d5155baa101fa57fe9c3ed9a13a9d5673ab2f in airavata's branch 
refs/heads/AIRAVATA-3697 from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=ca9d5155ba ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-06 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17729819#comment-17729819
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 161dd0a21b3853446f9d1b35755bdc25af6e5d72 in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=161dd0a21b ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-06 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17729818#comment-17729818
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit ca9d5155baa101fa57fe9c3ed9a13a9d5673ab2f in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=ca9d5155ba ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-06 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17729817#comment-17729817
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 161dd0a21b3853446f9d1b35755bdc25af6e5d72 in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=161dd0a21b ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-06 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17729816#comment-17729816
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit ca9d5155baa101fa57fe9c3ed9a13a9d5673ab2f in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=ca9d5155ba ]

AIRAVATA-3694 Fix comparison when var is a string


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-06 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17729808#comment-17729808
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 09e6aaf4350cf35ed92555a81e27aeb33d952843 in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=09e6aaf435 ]

AIRAVATA-3694 Ansible: configure data archive max ages for scigap hosted 
gateways


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-06-02 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17728863#comment-17728863
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 09e6aaf4350cf35ed92555a81e27aeb33d952843 in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=09e6aaf435 ]

AIRAVATA-3694 Ansible: configure data archive max ages for scigap hosted 
gateways


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-05-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17724005#comment-17724005
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 8db03aa7458118819801a3371866cd08a0a172ef in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=8db03aa7 ]

AIRAVATA-3694 handle case where file was already deleted

This is to handle the case where a user directory is symlinked as an alias
and the files to delete end up listed more than once. Code just emits a warning
when this happens.


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-05-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17724006#comment-17724006
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 984b2614d671b0199f85d446b6ecf038e9e6ad48 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=984b2614 ]

AIRAVATA-3694 Remove data retention message for now


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-05-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17724004#comment-17724004
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 984b2614d671b0199f85d446b6ecf038e9e6ad48 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=984b2614 ]

AIRAVATA-3694 Remove data retention message for now


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-05-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17724000#comment-17724000
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 984b2614d671b0199f85d446b6ecf038e9e6ad48 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=984b2614 ]

AIRAVATA-3694 Remove data retention message for now


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717368#comment-17717368
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 7876cea94fcc8bccffdf9a89138a4b8fd34bf454 in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=7876cea94f ]

AIRAVATA-3694 configured testdrive for user data archives


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717218#comment-17717218
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 75a4e563dda44e84abae93d8d1838238a34b7a1d in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=75a4e563 ]

AIRAVATA-3694 --max-age option added to archive_user_data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717212#comment-17717212
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6a52ac3c2b968f46ecd9c2cd08317a97da8c5bef in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=6a52ac3c ]

AIRAVATA-3694 handle case where there is nothing to archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717192#comment-17717192
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 9e5ccfacff38ae70169103c0268368d898fbafa1 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=9e5ccfac ]

AIRAVATA-3694 REST API and admin view to see when experiment data dir has been 
archived


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717213#comment-17717213
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 9e5ccfacff38ae70169103c0268368d898fbafa1 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=9e5ccfac ]

AIRAVATA-3694 REST API and admin view to see when experiment data dir has been 
archived


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717215#comment-17717215
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit d0768e84bfd60814cf8f292afe380c1ef8bb9996 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=d0768e84 ]

AIRAVATA-3694 Attempt to rollback the archive if something fails when deleting 
archived data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717219#comment-17717219
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 28b9ee7885d7aebeb60b2abfbbe1b1cba7712804 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=28b9ee78 ]

AIRAVATA-3694 make the archive directory, including any missing parents


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717214#comment-17717214
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 2a63b583725ca2d28d5936c55080a155e6c0f713 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=2a63b583 ]

AIRAVATA-3694 Documented new user data archive settings


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717189#comment-17717189
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e0abdebb508d867fd104f3e09c712c9c46cf1eb5 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e0abdebb ]

AIRAVATA-3694 minimum archive size setting


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717217#comment-17717217
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 086fb53fc8d816c76f5df69d5a33c4cb0e47bb6a in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=086fb53f ]

AIRAVATA-3694 Notice to user when experiment data is archived and also the 
general archive policy


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717209#comment-17717209
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit b9dc12e4e27e4f7ef199b36590736ffb399b8f81 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=b9dc12e4 ]

AIRAVATA-3694 Basic unarchive_user_data command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717216#comment-17717216
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e4aa3d4d99138634556d46628d747b1a40e077be in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e4aa3d4d ]

AIRAVATA-3694 Reset modification time when unarchiving

i.e., 'touch' all of the unarchived files


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717223#comment-17717223
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 15f91433b519f096f0c29869d9b3e9ba2c33c505 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=15f91433 ]

AIRAVATA-3694 log exception when archive fails so it generates an error email 
in production


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717220#comment-17717220
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e27ac668017f076b22e06156199714cad5aa8783 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e27ac668 ]

AIRAVATA-3694 adding missing mock for test


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717224#comment-17717224
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 8db03aa7458118819801a3371866cd08a0a172ef in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=8db03aa7 ]

AIRAVATA-3694 handle case where file was already deleted

This is to handle the case where a user directory is symlinked as an alias
and the files to delete end up listed more than once. Code just emits a warning
when this happens.


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717199#comment-17717199
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e27ac668017f076b22e06156199714cad5aa8783 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e27ac668 ]

AIRAVATA-3694 adding missing mock for test


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717210#comment-17717210
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e0abdebb508d867fd104f3e09c712c9c46cf1eb5 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e0abdebb ]

AIRAVATA-3694 minimum archive size setting


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717195#comment-17717195
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e4aa3d4d99138634556d46628d747b1a40e077be in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e4aa3d4d ]

AIRAVATA-3694 Reset modification time when unarchiving

i.e., 'touch' all of the unarchived files


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717198#comment-17717198
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 28b9ee7885d7aebeb60b2abfbbe1b1cba7712804 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=28b9ee78 ]

AIRAVATA-3694 make the archive directory, including any missing parents


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717191#comment-17717191
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6a52ac3c2b968f46ecd9c2cd08317a97da8c5bef in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=6a52ac3c ]

AIRAVATA-3694 handle case where there is nothing to archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717211#comment-17717211
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 1e130acbe407cce15ddde58244b3f410b949b81b in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=1e130acb ]

AIRAVATA-3694 log error if some error happens trying to create a user archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717203#comment-17717203
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 8db03aa7458118819801a3371866cd08a0a172ef in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=8db03aa7 ]

AIRAVATA-3694 handle case where file was already deleted

This is to handle the case where a user directory is symlinked as an alias
and the files to delete end up listed more than once. Code just emits a warning
when this happens.


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717193#comment-17717193
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 2a63b583725ca2d28d5936c55080a155e6c0f713 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=2a63b583 ]

AIRAVATA-3694 Documented new user data archive settings


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717197#comment-17717197
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 75a4e563dda44e84abae93d8d1838238a34b7a1d in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=75a4e563 ]

AIRAVATA-3694 --max-age option added to archive_user_data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717194#comment-17717194
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit d0768e84bfd60814cf8f292afe380c1ef8bb9996 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=d0768e84 ]

AIRAVATA-3694 Attempt to rollback the archive if something fails when deleting 
archived data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717208#comment-17717208
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit a248cbd7d37730547f5827c43bf371861ca2a8e3 in airavata-django-portal's 
branch refs/heads/delta-topology-workshop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=a248cbd7 ]

AIRAVATA-3694 Basic archive_user_data management command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717202#comment-17717202
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 15f91433b519f096f0c29869d9b3e9ba2c33c505 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=15f91433 ]

AIRAVATA-3694 log exception when archive fails so it generates an error email 
in production


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717196#comment-17717196
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 086fb53fc8d816c76f5df69d5a33c4cb0e47bb6a in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=086fb53f ]

AIRAVATA-3694 Notice to user when experiment data is archived and also the 
general archive policy


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717188#comment-17717188
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit b9dc12e4e27e4f7ef199b36590736ffb399b8f81 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=b9dc12e4 ]

AIRAVATA-3694 Basic unarchive_user_data command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717190#comment-17717190
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 1e130acbe407cce15ddde58244b3f410b949b81b in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=1e130acb ]

AIRAVATA-3694 log error if some error happens trying to create a user archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-27 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17717187#comment-17717187
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit a248cbd7d37730547f5827c43bf371861ca2a8e3 in airavata-django-portal's 
branch refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=a248cbd7 ]

AIRAVATA-3694 Basic archive_user_data management command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-26 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17716716#comment-17716716
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 8db03aa7458118819801a3371866cd08a0a172ef in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=8db03aa7 ]

AIRAVATA-3694 handle case where file was already deleted

This is to handle the case where a user directory is symlinked as an alias
and the files to delete end up listed more than once. Code just emits a warning
when this happens.


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-25 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17716435#comment-17716435
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 15f91433b519f096f0c29869d9b3e9ba2c33c505 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=15f91433 ]

AIRAVATA-3694 log exception when archive fails so it generates an error email 
in production


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-25 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17716431#comment-17716431
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 15f91433b519f096f0c29869d9b3e9ba2c33c505 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=15f91433 ]

AIRAVATA-3694 log exception when archive fails so it generates an error email 
in production


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715854#comment-17715854
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 7876cea94fcc8bccffdf9a89138a4b8fd34bf454 in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=7876cea94f ]

AIRAVATA-3694 configured testdrive for user data archives


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715841#comment-17715841
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e27ac668017f076b22e06156199714cad5aa8783 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e27ac668 ]

AIRAVATA-3694 adding missing mock for test


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715829#comment-17715829
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit a248cbd7d37730547f5827c43bf371861ca2a8e3 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=a248cbd7 ]

AIRAVATA-3694 Basic archive_user_data management command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715839#comment-17715839
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 75a4e563dda44e84abae93d8d1838238a34b7a1d in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=75a4e563 ]

AIRAVATA-3694 --max-age option added to archive_user_data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715830#comment-17715830
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit b9dc12e4e27e4f7ef199b36590736ffb399b8f81 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=b9dc12e4 ]

AIRAVATA-3694 Basic unarchive_user_data command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715832#comment-17715832
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 1e130acbe407cce15ddde58244b3f410b949b81b in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=1e130acb ]

AIRAVATA-3694 log error if some error happens trying to create a user archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715837#comment-17715837
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e4aa3d4d99138634556d46628d747b1a40e077be in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e4aa3d4d ]

AIRAVATA-3694 Reset modification time when unarchiving

i.e., 'touch' all of the unarchived files


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715836#comment-17715836
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit d0768e84bfd60814cf8f292afe380c1ef8bb9996 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=d0768e84 ]

AIRAVATA-3694 Attempt to rollback the archive if something fails when deleting 
archived data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715840#comment-17715840
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 28b9ee7885d7aebeb60b2abfbbe1b1cba7712804 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=28b9ee78 ]

AIRAVATA-3694 make the archive directory, including any missing parents


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715838#comment-17715838
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 086fb53fc8d816c76f5df69d5a33c4cb0e47bb6a in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=086fb53f ]

AIRAVATA-3694 Notice to user when experiment data is archived and also the 
general archive policy


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715835#comment-17715835
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 2a63b583725ca2d28d5936c55080a155e6c0f713 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=2a63b583 ]

AIRAVATA-3694 Documented new user data archive settings


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715831#comment-17715831
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e0abdebb508d867fd104f3e09c712c9c46cf1eb5 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e0abdebb ]

AIRAVATA-3694 minimum archive size setting


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715834#comment-17715834
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 9e5ccfacff38ae70169103c0268368d898fbafa1 in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=9e5ccfac ]

AIRAVATA-3694 REST API and admin view to see when experiment data dir has been 
archived


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715833#comment-17715833
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6a52ac3c2b968f46ecd9c2cd08317a97da8c5bef in airavata-django-portal's 
branch refs/heads/staging from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=6a52ac3c ]

AIRAVATA-3694 handle case where there is nothing to archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715822#comment-17715822
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 537d7c474d13a5faddaad523f5bf0d4f3beed6c4 in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=537d7c474d ]

AIRAVATA-3694 Ansible scripts to configure user data archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-24 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17715823#comment-17715823
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6261fc7ea98ae93934a91f846da041775ad5350d in airavata's branch 
refs/heads/master from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=6261fc7ea9 ]

AIRAVATA-3694 Fixes for running archive in cron


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713760#comment-17713760
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 537d7c474d13a5faddaad523f5bf0d4f3beed6c4 in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=537d7c474d ]

AIRAVATA-3694 Ansible scripts to configure user data archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713761#comment-17713761
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6261fc7ea98ae93934a91f846da041775ad5350d in airavata's branch 
refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata.git;h=6261fc7ea9 ]

AIRAVATA-3694 Fixes for running archive in cron


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.
> h3. Description
> archive_user_data creates a tarball archive of user data for all files and 
> directories that are older than some configured amount of days. In addition 
> to the tarball is a text file that lists all of the files and directories 
> that are archived. The tarball and text file can be periodically pushed to 
> tape backup or any other backup location.
> The configuration settings are 
> - GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS
> - GATEWAY_USER_DATA_ARCHIVE_DIRECTORY
> -- this is the directory in which to place the archive files and is also the 
> place where temporary files are generated. Since the archive files can be 
> large, it's important that there be enough free disk space on the partition 
> where this directory lives
> - GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB
> -- defaults to 1 GB. This can be used to prevent creating a lot of small 
> archives since tape archives often want a few large files instead of many 
> small files.
> h4. Running archive_user_data
> All commands should be run as the gateway server user (pga).
> {code}
> python manage.py archive_user_data --dry-run
> {code}
> This just prints the files and directories that would be archived and exits. 
> Good for checking that configuration is correct, etc.
> {code}
> python manage.py archive_user_data
> {code}
> This will actually create an archive and then delete from user data the files 
> that were archived.
> {code}
> python manage.py archive_user_data --max-age MAX_AGE
> {code}
> The --max-age flag allows overriding the 
> GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS setting. This can be a good option to 
> create the first few archives when introducing the user data archive to an 
> existing gateway.
> h4. Running unarchive_user_data 
> unarchive_user_data requires an archive tarball as input. The main use case 
> for this command is that the gateway administrator wants to restore some 
> particular user data. First, the right archive must be found. The experiment 
> details view in Experiment Statistics will display the name of the archive 
> file for an experiment data directory that has been archived. Use this to 
> then retrieve the tarball from backup. Then run unarchive_user_data on the 
> file.
> {code}
> python manage.py unarchive_user_data 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}
> The timestamps will be restored from the archive, including the last modified 
> timestamps. This means that the next time archive_user_data runs, all files 
> unarchived will be re-archived. Sometimes that is desired, but if you want to 
> reset the last modified times, use the {{--reset-modification}} option:
> {code}
> python manage.py unarchive_user_data --reset-modification 
> /path/to/archive_seagrid_older_than_2023-04-17-22-15-34.tgz
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713683#comment-17713683
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e27ac668017f076b22e06156199714cad5aa8783 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e27ac668 ]

AIRAVATA-3694 adding missing mock for test


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713672#comment-17713672
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit d0768e84bfd60814cf8f292afe380c1ef8bb9996 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=d0768e84 ]

AIRAVATA-3694 Attempt to rollback the archive if something fails when deleting 
archived data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713667#comment-17713667
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e0abdebb508d867fd104f3e09c712c9c46cf1eb5 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e0abdebb ]

AIRAVATA-3694 minimum archive size setting


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713671#comment-17713671
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 2a63b583725ca2d28d5936c55080a155e6c0f713 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=2a63b583 ]

AIRAVATA-3694 Documented new user data archive settings


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713674#comment-17713674
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 086fb53fc8d816c76f5df69d5a33c4cb0e47bb6a in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=086fb53f ]

AIRAVATA-3694 Notice to user when experiment data is archived and also the 
general archive policy


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713676#comment-17713676
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 28b9ee7885d7aebeb60b2abfbbe1b1cba7712804 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=28b9ee78 ]

AIRAVATA-3694 make the archive directory, including any missing parents


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713670#comment-17713670
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 9e5ccfacff38ae70169103c0268368d898fbafa1 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=9e5ccfac ]

AIRAVATA-3694 REST API and admin view to see when experiment data dir has been 
archived


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713666#comment-17713666
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit b9dc12e4e27e4f7ef199b36590736ffb399b8f81 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=b9dc12e4 ]

AIRAVATA-3694 Basic unarchive_user_data command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713673#comment-17713673
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit e4aa3d4d99138634556d46628d747b1a40e077be in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=e4aa3d4d ]

AIRAVATA-3694 Reset modification time when unarchiving

i.e., 'touch' all of the unarchived files


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713669#comment-17713669
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 6a52ac3c2b968f46ecd9c2cd08317a97da8c5bef in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=6a52ac3c ]

AIRAVATA-3694 handle case where there is nothing to archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713675#comment-17713675
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 75a4e563dda44e84abae93d8d1838238a34b7a1d in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=75a4e563 ]

AIRAVATA-3694 --max-age option added to archive_user_data


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713668#comment-17713668
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit 1e130acbe407cce15ddde58244b3f410b949b81b in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=1e130acb ]

AIRAVATA-3694 log error if some error happens trying to create a user archive


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (AIRAVATA-3694) User data archive management commands

2023-04-18 Thread ASF subversion and git services (Jira)


[ 
https://issues.apache.org/jira/browse/AIRAVATA-3694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17713664#comment-17713664
 ] 

ASF subversion and git services commented on AIRAVATA-3694:
---

Commit a248cbd7d37730547f5827c43bf371861ca2a8e3 in airavata-django-portal's 
branch refs/heads/develop from Marcus Christie
[ https://gitbox.apache.org/repos/asf?p=airavata-django-portal.git;h=a248cbd7 ]

AIRAVATA-3694 Basic archive_user_data management command


> User data archive management commands
> -
>
> Key: AIRAVATA-3694
> URL: https://issues.apache.org/jira/browse/AIRAVATA-3694
> Project: Airavata
>  Issue Type: New Feature
>  Components: Django Portal
>Reporter: Marcus Christie
>Assignee: Marcus Christie
>Priority: Major
>
> Create management commands to manage archiving user data. The use case is the 
> gateway admin wants to archive older data and then delete that user data to 
> free up disk space.
> The management commands will handle creating archives (as tarballs) and 
> deleting the data from the user data archive directory. There will also be an 
> unarchive command. There are settings for the max age of files to be archived 
> and for the directory in which archives should be copied.
> How the archive file are archived. It's expected that the gateway admin would 
> periodically (perhaps by cron) copy the archive files from the web server to 
> some other file server.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)