
SOF can support object names of upto 1024 if it conforms to the following constraints: Object names can have forward slashes ('/') in them. Each segment in between these slashes cannot exceed 255 characters with exception of the last segment which cannot exceed 221 characters. This constraint arises from the fact that each segment except the last one in object name is a directory, the last segment being an actual file on the filesystem. Also, restored default constraint values in swift.conf since the SOF constraints middleware (always in proxy pipeline) will take care of it. Change-Id: Ia7dc44671a87911c092fecd0344eace92f5c225b Signed-off-by: Prashanth Pai <ppai@redhat.com>
140 lines
5.4 KiB
Plaintext
140 lines
5.4 KiB
Plaintext
[swift-hash]
|
|
|
|
# swift_hash_path_suffix and swift_hash_path_prefix are used as part of the
|
|
# the hashing algorithm when determining data placement in the cluster.
|
|
# These values should remain secret and MUST NOT change
|
|
# once a cluster has been deployed.
|
|
|
|
swift_hash_path_suffix = changeme
|
|
swift_hash_path_prefix = changeme
|
|
|
|
# storage policies are defined here and determine various characteristics
|
|
# about how objects are stored and treated. Policies are specified by name on
|
|
# a per container basis. Names are case-insensitive. The policy index is
|
|
# specified in the section header and is used internally. The policy with
|
|
# index 0 is always used for legacy containers and can be given a name for use
|
|
# in metadata however the ring file name will always be 'object.ring.gz' for
|
|
# backwards compatibility. If no policies are defined a policy with index 0
|
|
# will be automatically created for backwards compatibility and given the name
|
|
# Policy-0. A default policy is used when creating new containers when no
|
|
# policy is specified in the request. If no other policies are defined the
|
|
# policy with index 0 will be declared the default. If multiple policies are
|
|
# defined you must define a policy with index 0 and you must specify a
|
|
# default. It is recommended you always define a section for
|
|
# storage-policy:0.
|
|
[storage-policy:0]
|
|
name = Policy-0
|
|
default = yes
|
|
|
|
# the following section would declare a policy called 'silver', the number of
|
|
# replicas will be determined by how the ring is built. In this example the
|
|
# 'silver' policy could have a lower or higher # of replicas than the
|
|
# 'Policy-0' policy above. The ring filename will be 'object-1.ring.gz'. You
|
|
# may only specify one storage policy section as the default. If you changed
|
|
# this section to specify 'silver' as the default, when a client created a new
|
|
# container w/o a policy specified, it will get the 'silver' policy because
|
|
# this config has specified it as the default. However if a legacy container
|
|
# (one created with a pre-policy version of swift) is accessed, it is known
|
|
# implicitly to be assigned to the policy with index 0 as opposed to the
|
|
# current default.
|
|
#[storage-policy:1]
|
|
#name = silver
|
|
|
|
# The following section defines a policy called 'swiftonfile' to be used by
|
|
# swiftonfile object-server implementation.
|
|
[storage-policy:2]
|
|
name = swiftonfile
|
|
|
|
# The swift-constraints section sets the basic constraints on data
|
|
# saved in the swift cluster. These constraints are automatically
|
|
# published by the proxy server in responses to /info requests.
|
|
|
|
[swift-constraints]
|
|
|
|
# max_file_size is the largest "normal" object that can be saved in
|
|
# the cluster. This is also the limit on the size of each segment of
|
|
# a "large" object when using the large object manifest support.
|
|
# This value is set in bytes. Setting it to lower than 1MiB will cause
|
|
# some tests to fail. It is STRONGLY recommended to leave this value at
|
|
# the default (5 * 2**30 + 2).
|
|
|
|
#max_file_size = 5368709122
|
|
|
|
|
|
# max_meta_name_length is the max number of bytes in the utf8 encoding
|
|
# of the name portion of a metadata header.
|
|
|
|
#max_meta_name_length = 128
|
|
|
|
|
|
# max_meta_value_length is the max number of bytes in the utf8 encoding
|
|
# of a metadata value
|
|
|
|
#max_meta_value_length = 256
|
|
|
|
|
|
# max_meta_count is the max number of metadata keys that can be stored
|
|
# on a single account, container, or object
|
|
|
|
#max_meta_count = 90
|
|
|
|
|
|
# max_meta_overall_size is the max number of bytes in the utf8 encoding
|
|
# of the metadata (keys + values)
|
|
|
|
#max_meta_overall_size = 4096
|
|
|
|
# max_header_size is the max number of bytes in the utf8 encoding of each
|
|
# header. Using 8192 as default because eventlet use 8192 as max size of
|
|
# header line. This value may need to be increased when using identity
|
|
# v3 API tokens including more than 7 catalog entries.
|
|
# See also include_service_catalog in proxy-server.conf-sample
|
|
# (documented in overview_auth.rst)
|
|
|
|
#max_header_size = 8192
|
|
|
|
# container_listing_limit is the default (and max) number of items
|
|
# returned for a container listing request
|
|
|
|
#container_listing_limit = 10000
|
|
|
|
# account_listing_limit is the default (and max) number of items returned
|
|
# for an account listing request
|
|
#account_listing_limit = 10000
|
|
|
|
# SwiftOnFile constraints - do not exceed the maximum values which are
|
|
# set here as default
|
|
|
|
# max_object_name_length is the max number of bytes in the utf8 encoding
|
|
# of an object name
|
|
# max_object_name_length = 221
|
|
# 221 is in fact the max possible length of the last segment of object name.
|
|
# Each segment is separated by a '/'.
|
|
# For example: If object name is "abc/def/ghi/jkl", then abc,def,ghi are all
|
|
# directories and "jkl" would be the file.
|
|
#
|
|
# Why 221 ?
|
|
# The longest filename supported by XFS in 255.
|
|
# http://lxr.free-electrons.com/source/fs/xfs/xfs_types.h#L125
|
|
# SoF creates a temp file with following naming convention:
|
|
# .OBJECT_NAME.<random-string>
|
|
# The random string is 32 character long and and file name has two dots.
|
|
# Hence 255 - 32 - 2 = 221
|
|
#
|
|
# NOTE: Each segment between slashes ('/') should not exceed 255 and the last
|
|
# segment should not exceed 221.
|
|
|
|
|
|
# max_account_name_length is the max number of bytes in the utf8 encoding
|
|
# of an account name
|
|
# max_account_name_length = 255
|
|
|
|
# max_container_name_length is the max number of bytes in the utf8 encoding
|
|
# of a container name
|
|
# max_container_name_length = 255
|
|
|
|
# Why 255 ?
|
|
# The longest filename supported by XFS in 255.
|
|
# http://lxr.free-electrons.com/source/fs/xfs/xfs_types.h#L125
|
|
# SoF creates following directory hierarchy on mount point: account/container
|