Commit Graph
60 Commits
Author SHA1 Message Date
John Chilton f95da89b3d Implement file source templates 2024-05-20 12:18:47 -04:00
John Chilton d313d6718e Refine object store templates backend. 2024-05-20 12:16:02 -04:00
John Chilton d3991a696b Object Store creation templates. 2024-05-20 12:16:02 -04:00
John Chilton 55bd5c74cf Cleanup galaxy-objectstore for recent changes. 2024-05-14 08:46:00 -04:00
John Chilton 50bcb183eb Unit tests for parsing azure transfer options. 2024-05-14 08:46:00 -04:00
John Chilton 133570ffbc Boto3 unit tests and associated fixes. 2024-05-14 08:46:00 -04:00
John Chilton aea9a83153 Rework unit tests for object stores.
- Separate configs out into example files that we can link to and point at from documentaiton more easily.
- Reduce a bunch of duplication around inject environment variables to streamline the integration-style tests.

I think the result is a lot more clean.
2024-05-14 08:45:59 -04:00
John Chilton 31e8b12fd3 Advanced Azure transfer options. 2024-05-14 08:45:59 -04:00
John Chilton d8ca8e5153 Fix extra files handling for cached object stores when reset_cache called. 2024-05-14 08:45:59 -04:00
John Chilton 8da134288c Various object store extra files handling fixes.
- Fix s3 which broke during the migration because we stopped adding a / I thought was silly.
- Use the test case I wrote that mimics the integration test failure to also fix the boto3 and azure_blob object stores for these failures.

Also make note of a lingering issue that is pretty important
2024-05-14 08:45:59 -04:00
John Chilton 18b310b4fc Allow older style connection parameters on newer boto3 object store.
Should make migration for admins a bit easier.
2024-05-14 08:45:59 -04:00
John Chilton 823e86bd57 Implement advanced transfer options for boto3. 2024-05-14 08:45:59 -04:00
John Chilton 36b5ed15fa Implement a boto3 object store. 2024-05-14 08:45:59 -04:00
John Chilton e0c25b0bea Add test case for GCP S3 Interop Object Stores.
Works with service account and user accounts keys. Settings -> Interoperability to create HMAC keys.
2024-05-14 08:45:57 -04:00
John Chilton 18c1376c3f AWS S3 fixes for us-east-2. 2024-05-06 13:20:01 -04:00
John Chilton 594537d1ae Test cases for cloud object store. 2024-05-06 12:53:19 -04:00
John Chilton 51f8ea8fa6 Simplify "cloud" object store. 2024-05-06 12:38:56 -04:00
John Chilton e03d162429 Update Azure infrastructure. 2024-05-03 13:57:58 -04:00
Nicola Soranzo 0629908541 Fix new UP031 errors from ruff 0.4.2 2024-04-29 00:09:38 +01:00
John Chilton c106a87a90 Implement device source ID for object stores.
Allow attaching a device ID on object stores that indicates they produce equivalent paths. Implement an API endpoint that allows swapping datsets between equivalent object stores if they have not been copied by new users.
2024-02-07 11:39:51 -05:00
John Chilton 06ff5adfc0 Less conditional state around cache size.
We were updated the configured cache size only if the cache was configured - that is less than ideal. Fixed that and added some abstractions to make things a little cleaner in my eyes.
2023-06-08 09:55:52 -04:00
John Chilton 33b07a18ec Support external and celery managed object store caches. 2023-06-06 11:18:14 -04:00
John Chilton f7c0c83278 Spelling fixes in test_object_store. 2023-05-24 15:41:05 -04:00
John Chilton 6a6de712b8 Enable object stores to work without a configured cache. 2023-05-24 15:41:05 -04:00
John Chilton 018da17edf De-duplication and improvements to in process cache montioring for object stores.
Also bring azure blob store in-line with S3 fixes over the years.
2023-05-18 13:01:56 -04:00
John Chilton 4b465659fe Formatting. 2023-05-17 12:57:20 -04:00
John Chilton 9efa473f28 Add quick sanity unit test for the object store caching step code. 2023-05-17 11:12:43 -04:00
John Chilton 832f332ba9 De-duplicate caching code across object stores.
Bring in some constants and code comments from Kaivan's cache PR.
2023-05-17 11:02:27 -04:00
John Chilton 92055a5407 Rename object stores in config.
Per @bgruening's request - s3 -> aws_s3 and swift -> generic_s3.

I think we only construct object stores with the one method - so this should be backward compatible.
2023-05-04 16:06:45 -04:00
John Chilton 8792a777ea Refactor badge parsing/serialization/typing for reuse.
There are subtle differences between object stores, user object store instance models, and object store templates in the downstream "bring-your-own-object-store" branch so breaking this stuff out like this should allow for cleaner diffs and reuse.
2023-04-24 10:52:04 -04:00
John Chilton 46b6d85c67 implement preferred object store id 2023-02-21 14:18:58 -05:00
John Chilton f7a4992b4b Implement quota tracking options per ObjectStore. 2023-02-19 10:33:21 -05:00
John Chilton e2530b46a9 private objectstores & dataset.sharable
Setup abstractions to prevent sharing transient or private per-user objects in an objectstore.
2023-02-19 10:33:20 -05:00
Nicola Soranzo 30f60493c3 Format Python code with black 23.1.0
with manual fixes to 3 files to make them compatible with black 22.12.0 .

We need to keep black pinned at `<23` until we vendorise `packaging`, since
the new version of black depends on `packaging >=22.0` which is the version
where `LegacyVersion` (which we use for tool lineages) was removed.
2023-02-01 23:51:03 +00:00
Kaivan Kamali 6105688bef Added connection pool monitor, to remove stale idle connections. 2022-09-20 15:27:31 -04:00
Nicola Soranzo 14b1730eb2 Combine "as" imports with other "from" imports 2022-06-20 20:06:30 +01:00
Dannon Baker 623a5e165a Apply black formatting.
Apply isort.
2022-02-03 07:42:20 -05:00
Uehara.Keizo 992f18e127 Disable cleanup thread of cloud objectstore in set_metadata.py
Apply the following fixes for s3.py to cloud.py
Be more explcit about starting cache monitor thread 494c15cb9d
Disable cleanup thread in set_metadata.py 6a56f3a5de
Fix S3 object store shutdown 7a63fd1db2
2021-12-23 01:32:16 +00:00
Uehara.Keizo 42b5971daf test: access_key and secket_key is optional in cloud objectstore(aws) 2021-12-19 09:35:39 +00:00
mvdbeek 58b2837c7c Merge branch 'release_21.09' into dev 2021-11-01 18:17:54 +01:00
mvdbeek 49025893db Never fail to delete remote object store files if cache path doesn't exist
We correctly realized this is a problem in the irods object store,
but never applied this to the other object stores.
Fixes https://github.com/galaxyproject/galaxy/issues/11940
2021-10-30 16:42:07 +02:00
Nicola Soranzo 90a729e431 New pyupgrade fixes
Found by running `ack --type=python -f | grep -v '^tools/' | xargs pyupgrade --py36-plus`
2021-10-24 12:10:34 +01:00
John Chilton 336cf7b918 Package objectstore's unittest helpers and drop hacks for running test_model_copy.py in galaxy-data. 2021-09-24 12:16:54 -04:00
Sergey Golitsynskiy 8df642edbc Fix linting errors 2021-06-01 15:32:56 -04:00
Sergey Golitsynskiy 9f0996ad32 Rename unit test helper class (TestConfig) 2021-06-01 15:08:17 -04:00
John Chilton b47a80004f Fix concrete objectstore methods for new/discarded datasets. 2021-02-05 13:08:55 -05:00
John Chilton 0f2df182bf Rearrange test_objectstore for consistency. 2020-12-07 19:23:00 -05:00
John Chilton 5a00d29a0c User-facing objectstore metadata. 2020-10-09 09:09:32 -04:00
Nicola Soranzo 9d74bba7fb Drop support for retired Python 3.5
Upgrade syntax using `pyupgrade --py36-plus` .

Manually drop several `six` imports.

Also:
- Remove broken pr_cache in scripts/bootstrap_history.py
- Fix broken prefix removal in lib/galaxy/tool_util/deps/mulled/mulled_build.py
2020-10-07 11:52:13 +01:00
mvdbeek adc803290a Fix DistributedObjectStore unit test 2020-07-16 21:28:31 +02:00