Go to main content

man pages section 5: File Formats

Exit Print View

Updated: Thursday, June 13, 2019
 
 

object-server.conf (5)

Name

object-server.conf - configuration file for the OpenStack Swift object server

Synopsis

object-server.conf

Description

object-server.conf(5)           OpenStack Swift          object-server.conf(5)



NAME
       object-server.conf  - configuration file for the OpenStack Swift object
       server




SYNOPSIS
       object-server.conf




DESCRIPTION
       This is the configuration file used by  the  object  server  and  other
       object background services, such as; replicator, reconstructor, updater
       and auditor.

       The configuration file follows the python-pastedeploy syntax. The  file
       is  divided  into sections, which are enclosed by square brackets. Each
       section will contain a certain number of key/value parameters which are
       described later.

       Any line that begins with a '#' symbol is ignored.

       You  can  find  more information about python-pastedeploy configuration
       format at http://pythonpaste.org/deploy/#config-format




GLOBAL SECTION
       This is indicated by section named [DEFAULT]. Below are the  parameters
       that are acceptable within this section.


       bind_ip
              IP  address  the  object  server  should bind to. The default is
              0.0.0.0 which will make it bind to all available addresses.

       bind_port
              TCP port the object server should bind to. The default is 6200.

       bind_timeout
              Timeout to bind socket. The default is 30.

       backlog
              TCP backlog. Maximum number of allowed pending connections.  The
              default value is 4096.

       workers
              The number of pre-forked processes that will accept connections.
              Zero means no fork.  The default is auto  which  will  make  the
              server  try to match the number of effective cpu cores if python
              multiprocessing is available (included with most python  distri-
              butions  >=  2.6)  or  fallback  to one.  It's worth noting that
              individual workers will use many eventlet co-routines to service
              multiple concurrent requests.

       max_clients
              Maximum  number of clients one worker can process simultaneously
              (it will actually accept(2) N + 1). Setting this to one (1) will
              only  handle  one  request  at a time, without accepting another
              request concurrently. The default is 1024.

       user   The system user that the object server will run as. The  default
              is swift.

       swift_dir
              Swift configuration directory. The default is /etc/swift.

       devices
              Parent  directory  or  where  devices  are  mounted.  Default is
              /srv/node.

       mount_check
              Whether or not check if the devices are mounted to prevent acci-
              dentally writing to the root device. The default is set to true.

       disable_fallocate
              Disable  pre-allocate  disk  space  for  a  file. The default is
              false.

       expiring_objects_container_divisor
              The default is 86400.

       expiring_objects_account_name
              The default is 'expiring_objects'.

       servers_per_port
              Make object-server run this many  worker  processes  per  unique
              port  of "local" ring devices across all storage policies.  This
              can help provide the isolation of threads_per_disk  without  the
              severe overhead.  The default value of 0 disables this feature.

       log_name
              Label used when logging. The default is swift.

       log_facility
              Syslog log facility. The default is LOG_LOCAL0.

       log_level
              Logging level. The default is INFO.

       log_address
              Logging address. The default is /dev/log.

       log_max_line_length
              The  following  caps the length of log lines to the value given;
              no limit if set to 0, the default.

       log_custom_handlers
              Comma separated list of functions to call to  setup  custom  log
              handlers.   functions  get  passed:  conf, name, log_to_console,
              log_route, fmt, logger, adapted_logger. The default is empty.

       log_udp_host
              If set, log_udp_host will override log_address.

       log_udp_port
              UDP log port, the default is 514.

       log_statsd_host
              StatsD server. IPv4/IPv6 addresses and hostnames are  supported.
              If  a  hostname  resolves  to an IPv4 and IPv6 address, the IPv4
              address will be used.

       log_statsd_port
              The default is 8125.

       log_statsd_default_sample_rate
              The default is 1.

       log_statsd_sample_rate_factor
              The default is 1.

       log_statsd_metric_prefix
              The default is empty.

       eventlet_debug
              Debug mode for eventlet library. The default is false.

       fallocate_reserve
              You can set fallocate_reserve to the number of bytes you'd  like
              fallocate  to reserve, whether there is space for the given file
              size or not. The default is 0.

       node_timeout
              Request timeout to external services. The default is 3 seconds.

       conn_timeout
              Connection timeout to external services. The default is 0.5 sec-
              onds.

       container_update_timeout
              Time  to wait while sending a container update on object update.
              The default is 1 second.

       client_timeout
              Time to wait while receiving each chunk of data from a client or
              another backend node. The default is 60.

       network_chunk_size
              The default is 65536.

       disk_chunk_size
              The default is 65536.




PIPELINE SECTION
       This is indicated by section name [pipeline:main]. Below are the param-
       eters that are acceptable within this section.


       pipeline
              It is used when you need to apply a number of filters. It  is  a
              list  of filters ended by an application. The normal pipeline is
              "healthcheck recon object-server".




APP SECTION
       This is indicated by section name [app:object-server].  Below  are  the
       parameters that are acceptable within this section.

       use    Entry  point for paste.deploy for the object server. This is the
              reference  to  the  installed  python  egg.   This  is  normally
              egg:swift#object.

       set log_name
              Label used when logging. The default is object-server.

       set log_facility
              Syslog log facility. The default is LOG_LOCAL0.

       set log_level
              Logging level. The default is INFO.

       set log_requests
              Enables request logging. The default is True.

       set log_address
              Logging address. The default is /dev/log.

       max_upload_time
              The default is 86400.

       slow   The default is 0.

       keep_cache_size
              Objects  smaller  than this are not evicted from the buffercache
              once read. The default is 5242880.

       keep_cache_private
              If true, objects for authenticated GET requests may be  kept  in
              buffer cache if small enough. The default is false.

       mb_per_sync
              On PUTs, sync data every n MB. The default is 512.

       allowed_headers
              Comma  separated  list of headers that can be set in metadata on
              an object.  This list is in addition to X-Object-Meta-*  headers
              and   cannot  include  Content-Type,  etag,  Content-Length,  or
              deleted.  The default is 'Content-Disposition, Content-Encoding,
              X-Delete-At, X-Object-Manifest, X-Static-Large-Object'.

       auto_create_account_prefix
              The default is '.'.

       threads_per_disk
              A value of 0 means "don't use thread pools". A reasonable start-
              ing point is 4. The default is 0.

       replication_server
              Configure parameter for creating specific server To  handle  all
              verbs,  including  replication  verbs,  do not specify "replica-
              tion_server" (this is the default). To only handle  replication,
              set  to  a  True value (e.g. "True" or "1"). To handle only non-
              replication verbs, set to "False". Unless you  have  a  separate
              replication  network,  you  should  not  specify  any  value for
              "replication_server".

       replication_concurrency
              Set to restrict the number of concurrent incoming SSYNC requests
              Set  to  0  for  unlimited  (the  default is 4). Note that SSYNC
              requests are only used by the object reconstructor or the object
              replicator when configured to use ssync.

       replication_one_per_device
              Restricts  incoming  SSYNC  requests to one per device, replica-
              tion_currency above allowing. This can help control I/O to  each
              device,  but you may wish to set this to False to allow multiple
              SSYNC requests (up to the above replication_concurrency setting)
              per device. The default is true.

       replication_lock_timeout
              Number  of  seconds  to  wait for an existing replication device
              lock before giving up. The default is 15.

       replication_failure_threshold

       replication_failure_ratio
              These two settings control when  the  SSYNC  subrequest  handler
              will  abort  an  incoming  SSYNC attempt. An abort will occur if
              there are at least threshold number of failures and the value of
              failures  / successes exceeds the ratio. The defaults of 100 and
              1.0 means that at least 100 failures have  to  occur  and  there
              have to be more failures than successes for an abort to occur.

       splice Use splice() for zero-copy object GETs. This requires Linux ker-
              nel version 3.0 or greater. If you set "splice =  yes"  but  the
              kernel  does  not  support it, error messages will appear in the
              object server logs at startup, but your  object  servers  should
              continue to function.  The default is false.




FILTER SECTION
       Any  section that has its name prefixed by "filter:" indicates a filter
       section.  Filters are used to specify configuration parameters for spe-
       cific  swift  middlewares.  Below are the filters available and respec-
       tive acceptable parameters.

       [filter:healthcheck]

          use    Entry point for paste.deploy for the healthcheck  middleware.
                 This  is  the reference to the installed python egg.  This is
                 normally egg:swift#healthcheck.

          disable_path
                 An optional filesystem path which, if present, will cause the
                 healthcheck  URL  to  return "503 Service Unavailable" with a
                 body of "DISABLED BY FILE".


       [filter:recon]

          use    Entry point for paste.deploy for the recon  middleware.  This
                 is  the  reference to the installed python egg.  This is nor-
                 mally egg:swift#recon.

          recon_cache_path
                 The recon_cache_path simply sets the  directory  where  stats
                 for  a  few items will be stored.  Depending on the method of
                 deployment you may need to create this directory manually and
                 ensure   that   swift   has   read/write.   The   default  is
                 /var/cache/swift.

          recon_lock_path
                 The default is /var/lock.


       [filter:xprofile]

          use    Entry point for paste.deploy  for  the  xprofile  middleware.
                 This  is  the reference to the installed python egg.  This is
                 normally egg:swift#xprofile.

          profile_module
                 This option enable  you  to  switch  profilers  which  should
                 inherit  from  python  standard  profiler. Currently the sup-
                 ported value can be 'cProfile', 'eventlet.green.profile' etc.

          log_filename_prefix
                 This prefix will be used to combine process ID and  timestamp
                 to  name the profile data file.  Make sure the executing user
                 has permission to write into this path (missing path segments
                 will  be  created, if necessary).  If you enable profiling in
                 more than one type of daemon, you must override  it  with  an
                 unique   value   like,  the  default  is  /var/log/swift/pro-
                 file/account.profile.

          dump_interval
                 The profile data will be dumped to local disk based on  above
                 naming rule in this interval. The default is 5.0.

          dump_timestamp
                 Be  careful,  this  option  will enable profiler to dump data
                 into the file with time stamp which means there will be  lots
                 of files piled up in the directory.  The default is false

          path   This  is  the  path of the URL to access the mini web UI. The
                 default is __profile__.

          flush_at_shutdown
                 Clear the data when the wsgi server shutdown. The default  is
                 false.

          unwind Unwind the iterator of applications. Default is false.



ADDITIONAL SECTIONS
       The following sections are used by other swift-object services, such as
       replicator, updater, auditor.

       [object-replicator]

          log_name
                 Label used when logging. The default is object-replicator.

          log_facility
                 Syslog log facility. The default is LOG_LOCAL0.

          log_level
                 Logging level. The default is INFO.

          log_address
                 Logging address. The default is /dev/log.

          daemonize
                 Whether or not to run replication as a daemon. The default is
                 yes.

          run_pause [deprecated]
                 Time  in  seconds  to  wait  between  replication passes. The
                 default is 30.

          interval
                 Time in seconds  to  wait  between  replication  passes.  The
                 default is 30.

          concurrency
                 Number of replication workers to spawn. The default is 1.

          stats_interval
                 Interval  in  seconds between logging replication statistics.
                 The default is 300.

          sync_method
                 The sync method to use; default is  rsync  but  you  can  use
                 ssync  to  try the EXPERIMENTAL all-swift-code-no-rsync-call-
                 outs method. Once ssync is  verified  as  having  performance
                 comparable  to,  or  better than, rsync, we plan to deprecate
                 rsync so we can move on with more features for replication.

          rsync_timeout
                 Max duration of a partition rsync. The default  is  900  sec-
                 onds.

          rsync_io_timeout
                 Passed  to  rsync  for I/O OP timeout. The default is 30 sec-
                 onds.

          rsync_compress
                 Allow rsync to compress data which is transmitted to destina-
                 tion  node during sync. However, this is applicable only when
                 destination node is in a different region than the local one.
                 NOTE:  Objects  that  are  already  compressed  (for example:
                 .tar.gz, .mp3) might  slow  down  the  syncing  process.  The
                 default is false.

          rsync_module
                 Format  of  the  rysnc  module where the replicator will send
                 data. See etc/rsyncd.conf-sample for some usage examples. The
                 default is empty.

          node_timeout
                 Request  timeout to external services. The default is 10 sec-
                 onds.

          rsync_bwlimit
                 Passed to rsync for bandwidth limit in kB/s.  The default  is
                 0 (unlimited).

          http_timeout
                 Max duration of an HTTP request. The default is 60 seconds.

          lockup_timeout
                 Attempts  to  kill  all  workers  if  nothing  replicates for
                 lockup_timeout seconds. The default is 1800 seconds.

          ring_check_interval
                 The default is 15.

          rsync_error_log_line_length
                 Limits how long rsync error log lines are. 0 (default)  means
                 to log the entire line.

          reclaim_age
                 Time  elapsed  in  seconds before an object can be reclaimed.
                 The default is 604800 seconds.

          recon_cache_path
                 The recon_cache_path simply sets the  directory  where  stats
                 for  a  few items will be stored.  Depending on the method of
                 deployment you may need to create this directory manually and
                 ensure    that    swift   has   read/write.The   default   is
                 /var/cache/swift.

          handoffs_first
                 The flag to replicate handoffs prior to canonical partitions.
                 It allows one to force syncing and deleting handoffs quickly.
                 If set to a True value(e.g. "True" or "1"),  partitions  that
                 are  not supposed to be on the node will be replicated first.
                 The default is false.

          handoff_delete
                 The number of replicas which are ensured in  swift.   If  the
                 number less than the number of replicas is set, object-repli-
                 cator could delete local handoffs even if  all  replicas  are
                 not  ensured  in  the cluster. Object-replicator would remove
                 local handoff partition directories after  syncing  partition
                 when  the  number  of successful responses is greater than or
                 equal to this number. By  default(auto),  handoff  partitions
                 will  be  removed  when it has successfully replicated to all
                 the canonical nodes.

                 The handoffs_first and handoff_delete are options for a  spe-
                 cial case such as disk full in the cluster. These two options
                 SHOULD NOT BE CHANGED, except for such an extreme situations.
                 (e.g. disks filled up or are about to fill up. Anyway, DO NOT
                 let your drives fill up).



       [object-reconstructor]

          log_name
                 Label used when logging. The default is object-reconstructor.

          log_facility
                 Syslog log facility. The default is LOG_LOCAL0.

          log_level
                 Logging level. The default is INFO.

          log_address
                 Logging address. The default is /dev/log.

          daemonize
                 Whether or not to run replication as a daemon. The default is
                 yes.

          run_pause [deprecated]
                 Time  in  seconds  to  wait  between  replication passes. The
                 default is 30.

          interval
                 Time in seconds  to  wait  between  replication  passes.  The
                 default is 30.

          concurrency
                 Number of replication workers to spawn. The default is 1.

          stats_interval
                 Interval  in  seconds between logging replication statistics.
                 The default is 300.

          node_timeout
                 Request timeout to external services. The default is 10  sec-
                 onds.

          http_timeout
                 Max duration of an HTTP request. The default is 60 seconds.

          lockup_timeout
                 Attempts  to  kill  all  workers  if  nothing  replicates for
                 lockup_timeout seconds. The default is 1800 seconds.

          ring_check_interval
                 The default is 15.

          reclaim_age
                 Time elapsed in seconds before an object  can  be  reclaimed.
                 The default is 604800 seconds.

          recon_cache_path
                 The  recon_cache_path  simply  sets the directory where stats
                 for a few items will be stored.  Depending on the  method  of
                 deployment you may need to create this directory manually and
                 ensure   that   swift   has   read/write.The    default    is
                 /var/cache/swift.

          handoffs_first
                 The flag to replicate handoffs prior to canonical partitions.
                 It allows one to force syncing and deleting handoffs quickly.
                 If  set  to a True value(e.g. "True" or "1"), partitions that
                 are not supposed to be on the node will be replicated  first.
                 The default is false.



       [object-updater]

          log_name
                 Label used when logging. The default is object-updater.

          log_facility
                 Syslog log facility. The default is LOG_LOCAL0.

          log_level
                 Logging level. The default is INFO.

          log_address
                 Logging address. The default is /dev/log.

          interval
                 Minimum time for a pass to take. The default is 300 seconds.

          concurrency
                 Number of reaper workers to spawn. The default is 1.

          node_timeout
                 Request  timeout to external services. The default is 10 sec-
                 onds.

          slowdown
                 Slowdown will sleep that amount between objects. The  default
                 is 0.01 seconds.

          recon_cache_path
                 The  recon_cache_path  simply  sets the directory where stats
                 for a few items will be stored.  Depending on the  method  of
                 deployment you may need to create this directory manually and
                 ensure  that   swift   has   read/write.   The   default   is
                 /var/cache/swift.



       [object-auditor]

          log_name
                 Label used when logging. The default is object-auditor.

          log_facility
                 Syslog log facility. The default is LOG_LOCAL0.

          log_level
                 Logging level. The default is INFO.

          log_address
                 Logging address. The default is /dev/log.


          disk_chunk_size
                 The default is 65536.

          files_per_second
                 Maximum  files  audited per second. Should be tuned according
                 to individual system specs. 0 is unlimited.  The  default  is
                 20.

          bytes_per_second
                 Maximum  bytes  audited per second. Should be tuned according
                 to individual system specs. 0 is unlimited.  The  default  is
                 10000000.

          concurrency
                 Number of reaper workers to spawn. The default is 1.

          log_time
                 The default is 3600 seconds.

          zero_byte_files_per_second
                 The default is 50.

          recon_cache_path
                 The  recon_cache_path  simply  sets the directory where stats
                 for a few items will be stored.  Depending on the  method  of
                 deployment you may need to create this directory manually and
                 ensure  that   swift   has   read/write.   The   default   is
                 /var/cache/swift.

          object_size_stats
                 Takes  a  comma  separated  list  of ints. If set, the object
                 auditor will increment a counter for every object whose  size
                 is <= to the given break points and report the result after a
                 full scan.

          rsync_tempfile_timeout
                 Time elapsed  in  seconds  before  rsync  tempfiles  will  be
                 unlinked.  Config  value  of  "auto"  will try to use object-
                 replicator's rsync_timeout + 900 or  fall-back  to  86400  (1
                 day).





DOCUMENTATION
       More  in  depth  documentation  about  the swift-object-server and also
       OpenStack  Swift  as  a  whole  can  be  found  at   http://swift.open-
       stack.org/admin_guide.html and http://swift.openstack.org




ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | cloud/openstack/swift |
       +---------------+-----------------------+
       |Stability      | Uncommitted           |
       +---------------+-----------------------+
SEE ALSO
       swift-object-server(1)



NOTES
       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source       was      downloaded      from       https://tarballs.open-
       stack.org/swift/swift-2.7.0.tar.gz

       Further information about this software can be found on the open source
       community website at http://www.openstack.org/.



OpenStack                          8/26/2011             object-server.conf(5)