-
Notifications
You must be signed in to change notification settings - Fork 1
fix: use the correct OVH Cloud storage class STANDARD_IA instead of GLacier and improve performance #62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the storage tier change script to use OVH Cloud storage class naming conventions (STANDARD_IA) instead of AWS-specific names (GLACIER), implements performance optimizations by retrieving storage class information during initial object listing to avoid extra API calls, and updates all documentation and tests accordingly.
Key changes:
- Replaces AWS storage class
GLACIERwith OVH-compatibleSTANDARD_IAthroughout the codebase - Optimizes S3 API usage by including storage class in
list_objectsresponse, eliminating unnecessaryhead_objectcalls - Enhances reporting with storage class distribution before/after changes and progress tracking
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
tests/unit/test_change_storage_tier.py |
Updates all test cases to use STANDARD_IA instead of GLACIER, modifies tests to work with tuple-based object representation (key, storage_class), and adjusts mock responses to include storage class information |
scripts/change_storage_tier.py |
Changes valid storage classes constant to use STANDARD_IA, refactors list_objects to return tuples with storage class, updates filter_paths to work with tuples, modifies change_object_storage_class to accept current storage class parameter, and adds detailed progress reporting |
scripts/README_change_storage_tier.md |
Updates all examples to use STANDARD_IA instead of GLACIER, corrects STAC URLs to use staging collection, adds comprehensive storage class mapping table, documents performance optimizations, and provides detailed example outputs |
Comments suppressed due to low confidence (2)
scripts/README_change_storage_tier.md:279
- The example output shows inconsistent information. At line 279, it states "Target storage class: STANDARD" but the command on line 272 specifies "--storage-class STANDARD_IA". The output should show "Target storage class: STANDARD_IA" to match the command being executed.
scripts/README_change_storage_tier.md:292 - The example output shows "0 already have target storage class STANDARD" at line 292, but this should say "STANDARD_IA" to be consistent with the target storage class specified in the command (line 272). This inconsistency between the command and its example output could confuse users.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Copilot <[email protected]>
… script (#66) Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: lhoupert <[email protected]>
Updates the storage tier change script and its documentation to use OVH Cloud storage class naming conventions instead of AWS, clarifies storage class mapping, and improves performance and reporting.
Key changes:
Storage class naming and validation:
STANDARD,STANDARD_IA,EXPRESS_ONEZONE) for validation, replacing AWS-specific names likeGLACIER.Performance improvements:
Code changes for object listing and filtering:
list_objectsfunction now returns both object keys and their storage classes, enabling smarter filtering and reporting.filter_pathsfunction is updated to operate on(key, storage_class)tuples, allowing filtering logic to consider storage class and improving accuracy in reporting which objects are included or excluded. [1] [2]Documentation updates and clarifications:
README_storage_tier.md→README_change_storage_tier.md) is updated throughout to use OVH storage class names (e.g.,STANDARD_IAinstead ofGLACIER), corrects example STAC URLs, and clearly explains the mapping between AWS and OVH storage classes. It now includes a dedicated section detailing the mapping and supported classes, and all usage examples have been updated accordingly. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Contributes to implementation of the 2nd phase 2. Storage Tier Transitions of https://github.com/EOPF-Explorer/coordination/issues/182, as discussed in ADR https://github.com/EOPF-Explorer/coordination/pull/179