EC: Add support for policy types, 'erasure_coding' policy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Vishal | ||
openstack-api-site |
Invalid
|
Medium
|
Vishal | ||
openstack-manuals |
Fix Released
|
High
|
Alexandra Settle |
Bug Description
https:/
commit ef81d2ff1f1fc50
Author: Tushar Gohad <email address hidden>
Date: Mon Jun 30 11:14:28 2014 -0700
EC: Add support for policy types, 'erasure_coding' policy
This patch extends the StoragePolicy class for non-replication storage
policies, the first one being "erasure coding".
Changes:
- Add 'policy_type' support to base StoragePolicy class
- Disallow direct instatiation of StoragePolicy class
- Subclass StoragePolicy
- "ReplicationSto
. Replication policy, default
. policy_type = 'replication'
- "ECStoragePolicy":
. Erasure Coding policy
. policy_type = 'erasure_coding'
. Private member variables
ec_type (EC backend),
data split into after erasure coding operation),
. Private methods
EC specific metadata and ring validator methods.
- Swift will use PyECLib, a Python Erasure Coding library,
for erasure coding operations. This patch adds PyECLib to
Swift requirements.txt. PyECLib is already an approved
OpenStack core requirement.
(https:/
- Add test cases for
- 'policy_type' StoragePolicy member
- policy_type == 'erasure_coding'
- Make default policy type for StoragePolicy tests cases
DocImpact
Implements: blueprint ec-proxy-work
Change-Id: I605719bd9ab26b
Changed in openstack-manuals: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in openstack-manuals: | |
assignee: | nobody → Alexandra Settle (alexandra-settle) |
Changed in openstack-api-site: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
Changed in openstack-api-site: | |
assignee: | nobody → Mark (rocky-asdf) |
Changed in swift: | |
assignee: | nobody → Mark (rocky-asdf) |
Changed in openstack-manuals: | |
status: | In Progress → Won't Fix |
status: | Won't Fix → Fix Released |
To write about erasure coding as a storage policy option in swift, these topics should be written:
Concept: What is erasure coding? What are the benefits over replication?
Preparation: What hardware might I need for erasure coding that's different from what I have now? Do my proxy server specs need to change?
Upgrade Considerations: Can I convert my entire cluster to erasure coding rather than replication?
How-to: What configuration settings do I need to enable erasure coding? What are some good default settings for a starting point? What considerations are there for amount of reads and writes and those ratios?
Since swift typically writes their documentation in their repo, it may make sense for these topics to be written there. However I think this type of information could go into the Cloud Admin Guide.