swift/etc
Paul Luse 46c68aebd1 Add Storage Policy Support
The basic idea here is to replace the use of a single object ring in
the Application class with a collection of object rings. The
collection includes not only the Ring object itself but the policy
name associated with it, the filename for the .gz and any other
metadata associated with the policy that may be needed. When
containers are created, a policy (thus a specific obj ring) is
selected allowing apps to specify policy at container creation time
and leverage policies simply by using different containers for object
operations.

The policy collection is based off of info in the swift.conf file.
The format of the sections in the .conf file is as follows:

swift.conf format:

    [storage-policy:0]
    name = chicken

    [storage-policy:1]
    name = turkey
    default = yes

With the above format:

- Policy 0 will always be used for access to existing containers
  without the policy specified. The ring name for policy 0 is always
  'object', assuring backwards compatiblity. The parser will always
  create a policy 0 even if not specified

- The policy with 'default=yes' is the one used for new container
  creation. This allows the admin to specify which policy is used without
  forcing the application to add the metadata.

This commit simply introduces storage policies and the loading
thereof; nobody's using it yet. That will follow in subsequent
commits.

Expose storage policies in /info

DocImpact
Implements: blueprint storage-policies
Change-Id: Ica05f41ecf3adb3648cc9182f11f1c8c5c678985
2014-06-18 17:31:37 -07:00
..
account-server.conf-sample New log_max_line_length option. 2014-05-22 20:30:34 +00:00
container-server.conf-sample New log_max_line_length option. 2014-05-22 20:30:34 +00:00
container-sync-realms.conf-sample New container sync configuration option 2014-01-10 23:48:00 +00:00
dispersion.conf-sample improve docs in etc/dispersion.conf-sample 2013-10-28 17:41:09 +08:00
drive-audit.conf-sample New log_max_line_length option. 2014-05-22 20:30:34 +00:00
memcache.conf-sample Fix for memcache middleware configuration 2013-11-26 18:03:33 +00:00
mime.types-sample PEP 8 compliance and small modification to mime.types file 2010-11-23 19:26:02 -06:00
object-expirer.conf-sample New log_max_line_length option. 2014-05-22 20:30:34 +00:00
object-server.conf-sample New log_max_line_length option. 2014-05-22 20:30:34 +00:00
proxy-server.conf-sample Merge "xLO bug with auth tokens expiring during download." 2014-06-12 20:19:04 +00:00
rsyncd.conf-sample Added missing lockfile configuration to sample rsync.conf 2011-02-12 18:27:59 -08:00
swift-rsyslog.conf-sample Add sample rsyslog.conf. 2013-06-25 10:24:26 +08:00
swift.conf-sample Add Storage Policy Support 2014-06-18 17:31:37 -07:00