Swift/ideas
Ideas for OpenStack Swift
This is a list of stuff you might be interested in working on. Most of these are smaller, self-contained projects that probably won't overlap too much with other ongoing work. This is a great place to get some ideas of things to work on.
- change default ports - follow-on to https://review.openstack.org/#/c/118200/
- reverse listings - https://review.openstack.org/#/c/120709/
- stdin streaming to swiftclient
- deep health check to test all the way to drives (? or at least storage servers)
- better ring deployment inside of swift itself
- need internal net sec enforcement - https://blueprints.launchpad.net/swift/+spec/secure-internal-network-requests
- change the ssync (object-replicator) design to be run as another process for concurrency
- durability simulator based on swift specification (e.g. # of replicas, # of devices and network speed to replicate) (inprogress by Christian)
- in the situation where a proxy needs to talk to a storage node on the same server, call the storage node method(s) directly instead of putting bytes on the network (somewhat in progress)
- skeleton middleware, well-commented
- DiskFile entry point
- policy descriptions, exactly how https://review.openstack.org/#/c/120424/ is not implemented (see the review comments)
- allow multiple storage policy names for one policy
- rewrite server-side-copy (COPY and PUT with x-copy-from) as middleware (in progress https://review.openstack.org/#/c/156923/)
- utility to "undelete" accounts, as described in http://docs.openstack.org/developer/swift/overview_reaper.html
- add account-to-account server-side copy docs. actually just add server-side copy docs
- Exposed allowed and denied headers on tempurl requests in /info. See http://docs.openstack.org/developer/swift/middleware.html#tempurl
- expose container sync enablement in /info
- expose versioned writes enablement in /info (being implemented as part of https://review.openstack.org/#/c/134347/)
- API endpoint for invalidating cached auth tokens
- specify the storage policy for functests to use. or test every exposed policy
- container reaper that also sets a header on the container to show it's being deleted
- COPY with ranges: send 1 or more ranges with a copy request that allows for those ranges to be copied to a new file
- deprecate threads_per_port setting
- use flat xor erasure codes for testing to eliminate a testing dependency on jerasure or isa-l (maybe. there is still an outstanding question of if this is a good idea)
- allow some sort of "None" or empty referrer ACL as valid. eg allow these referrers and empty ones but not others
- Use O_TMPFILE under Linux during object creation: https://review.openstack.org/162243
- Allow listings to be sorted/fetched by last-modified time