Bug 1041586

Summary: [RFE][swift]: Metadata Grouping
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: RFEsAssignee: RHOS Maint <rhos-maint>
Status: CLOSED UPSTREAM QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: markmc, yeylon
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/swift/+spec/metadata-grouping
Whiteboard: upstream_milestone_none upstream_status_unknown upstream_definition_new
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-19 17:19:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description RHOS Integration 2013-12-12 18:06:33 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/swift/+spec/metadata-grouping.

Description:

Swift today includes a single path for supporting all  types of Metadata.
The industry (e.g. CDMI) has already acknowledged  that different types of MD require different handling:
- Storage System MD: Created by the storage system and consumed by the user (e.g. counters)
- System MD: Created by the user and consumed by the storage system (e.g. ACLs, Quata)
- User MD: Created by the user and consumed by the user (e.g. any regular user MD)
Swift can benefit from clear distinction between the MD types to both simplify current code  and allow easy extensions for new  types of MD in the future.
This work can also be used to improve performance (e.g. user MD is not needed in cache).
Metadata suggested way forward:
1. Map all places where the code includes:      If <this_metadata> do X else Y     and see if they fit the 3 way MD described above
2. Group types of MD and generalize!
3. Consider what can be done for 1.0 and what need to be done for 1.1

**A bug will be opened to accompany this work and allow for easier discussion since the blueprint facility does not allow comments. 
See https://bugs.launchpad.net/swift/+bug/1170043

Specification URL (additional information):

None