Provided by: swift-object_2.33.0-0ubuntu1_all bug

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, auditor, and expirer.

       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
       https://docs.pylonsproject.org/projects/pastedeploy/en/latest/#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.

       keep_idle
              Value to set for socket TCP_KEEPIDLE. The default value is 600.

       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 distributions >= 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 of where devices are mounted. Default is /srv/node.

       mount_check
              Whether or not check if the devices are mounted  to  prevent  accidentally  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
              Account name used for legacy style expirer task queue.  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. 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  or  percentage  of  disk  space  you'd  like
              fallocate  to  reserve,  whether there is space for the given file size or not. Percentage will be
              used if the value ends with a '%'.  The default is 1%.

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

       conn_timeout
              Connection timeout to external services. The default is 0.5 seconds.

       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.

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

       commit_window
              Time in seconds during which a newly written non-durable data file  will  not  be  reclaimed.  The
              value should be greater than zero and much less than reclaim_age. The default is 60.0 seconds.

       nice_priority
              Modify  scheduling priority of server processes. Niceness values range from -20 (most favorable to
              the process) to 19 (least favorable to the process).  The default does not modify priority.

       ionice_class
              Modify I/O scheduling class of server processes. I/O niceness  class  values  are  IOPRIO_CLASS_RT
              (realtime),  IOPRIO_CLASS_BE  (best-effort)  and  IOPRIO_CLASS_IDLE  (idle).  The default does not
              modify class and priority.  Work only with ionice_priority.

       ionice_priority
              Modify I/O scheduling priority of server processes. I/O niceness priority is a number  which  goes
              from  0  to  7.  The  higher  the value, the lower the I/O priority of the process. Work only with
              ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

PIPELINE SECTION

       This is indicated by section name [pipeline:main]. Below are the parameters 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, Cache-Control, Content-Language, Expires, X-Robots-Tag'.

       replication_server
              Configure parameter for creating specific server To handle all verbs, including replication verbs,
              do not specify "replication_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_concurrency_per_device
              Set to restrict the number of concurrent  incoming  SSYNC  requests  per  device;  set  to  0  for
              unlimited  requests  per devices. This can help control I/O to each device. This does not override
              replication_concurrency described above, so you may need to adjust both  parameters  depending  on
              your hardware or network capacity. Defaults to 1.

       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 kernel 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.

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

       conn_timeout
              Connection timeout to external services. The default is 0.5 seconds.

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

       nice_priority
              Modify  scheduling priority of server processes. Niceness values range from -20 (most favorable to
              the process) to 19 (least favorable to the process).  The default does not modify priority.

       ionice_class
              Modify I/O scheduling class of server processes. I/O niceness  class  values  are  IOPRIO_CLASS_RT
              (realtime),  IOPRIO_CLASS_BE  (best-effort)  and  IOPRIO_CLASS_IDLE  (idle).  The default does not
              modify class and priority.  Work only with ionice_priority.

       ionice_priority
              Modify I/O scheduling priority of server processes. I/O niceness priority is a number  which  goes
              from  0  to  7.  The  higher  the value, the lower the I/O priority of the process. Work only with
              ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

FILTER SECTION

       Any section that has its name prefixed by "filter:" indicates a filter  section.   Filters  are  used  to
       specify  configuration  parameters  for  specific swift middlewares.  Below are the filters available and
       respective 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 normally 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 supported 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/profile/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-callouts  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 seconds.

          rsync_io_timeout
                 Passed to rsync for I/O OP timeout. The default is 30 seconds.

          rsync_compress
                 Allow  rsync  to  compress  data which is transmitted to destination 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 rsync 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 seconds.

          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.

          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-replicator  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 special 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).

          nice_priority
                 Modify  scheduling priority of server processes. Niceness values range from -20 (most favorable
                 to the process) to 19 (least favorable to the process).  The default does not modify priority.

          ionice_class
                 Modify I/O scheduling class of server processes. I/O niceness class values are  IOPRIO_CLASS_RT
                 (realtime),  IOPRIO_CLASS_BE  (best-effort) and IOPRIO_CLASS_IDLE (idle).  The default does not
                 modify class and priority.  Work only with ionice_priority.

          ionice_priority
                 Modify I/O scheduling priority of server processes. I/O niceness priority  is  a  number  which
                 goes  from  0  to 7. The higher the value, the lower the I/O priority of the process. Work only
                 with ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

       [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 seconds.

          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.

          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 updater workers to spawn. The default is 1.

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

          objects_per_second
                 Maximum  objects updated per second. Should be tuned according to individual system specs. 0 is
                 unlimited. The default is 50.

          slowdown [deprecated]
                 Slowdown will sleep that amount between objects. The default is  0.01  seconds.  Deprecated  in
                 favor of objects_per_second.

          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.

          nice_priority
                 Modify scheduling priority of server processes. Niceness values range from -20 (most  favorable
                 to the process) to 19 (least favorable to the process).  The default does not modify priority.

          ionice_class
                 Modify  I/O scheduling class of server processes. I/O niceness class values are IOPRIO_CLASS_RT
                 (realtime), IOPRIO_CLASS_BE (best-effort) and IOPRIO_CLASS_IDLE (idle).  The default  does  not
                 modify class and priority.  Work only with ionice_priority.

          ionice_priority
                 Modify  I/O  scheduling  priority  of server processes. I/O niceness priority is a number which
                 goes from 0 to 7. The higher the value, the lower the I/O priority of the  process.  Work  only
                 with ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

       [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 auditor 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).

          nice_priority
                 Modify  scheduling priority of server processes. Niceness values range from -20 (most favorable
                 to the process) to 19 (least favorable to the process).  The default does not modify priority.

          ionice_class
                 Modify I/O scheduling class of server processes. I/O niceness class values are  IOPRIO_CLASS_RT
                 (realtime),  IOPRIO_CLASS_BE  (best-effort) and IOPRIO_CLASS_IDLE (idle).  The default does not
                 modify class and priority.  Work only with ionice_priority.

          ionice_priority
                 Modify I/O scheduling priority of server processes. I/O niceness priority  is  a  number  which
                 goes  from  0  to 7. The higher the value, the lower the I/O priority of the process. Work only
                 with ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

       [object-expirer]

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

          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.

          report_interval
                 Minimum time for a pass to report. The default is 300 seconds.

          request_tries
                 The number of times the expirer's internal client will attempt any given request in  the  event
                 of failure. The default is 3.

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

          dequeue_from_legacy
                 The flag to execute legacy style expirer tasks. The default is false.

          processes
                 Processes  can  only  be used in conjunction with `dequeue_from_legacy`.  Processes is how many
                 parts to divide the legacy work into, one part  per  process  that  will  be  doing  the  work.
                 Processes  set  0 means that a single process will be doing all the legacy work.  Processes can
                 also be specified on the command line and will override the config value.  The default is 0.

          process
                 Process can only be used in conjunction with `dequeue_from_legacy`.  Process is  which  of  the
                 parts  a  particular  legacy  process will work on process can also be specified on the command
                 line and will override the config value  process  is  "zero  based",  if  you  want  to  use  3
                 processes, you should run processes with process set to 0, 1, and 2. The default is 0.

          reclaim_age
                 The  expirer  will  re-attempt expiring if the source object is not available up to reclaim_age
                 seconds before it gives up and deletes the task in the queue.  The default is 604800 seconds (=
                 1 week).

          recon_cache_path
                 Path to recon cache directory. The default is /var/cache/swift

          nice_priority
                 Modify scheduling priority of server processes. Niceness values range from -20 (most  favorable
                 to the process) to 19 (least favorable to the process).  The default does not modify priority.

          ionice_class
                 Modify  I/O scheduling class of server processes. I/O niceness class values are IOPRIO_CLASS_RT
                 (realtime), IOPRIO_CLASS_BE (best-effort) and IOPRIO_CLASS_IDLE (idle).  The default  does  not
                 modify class and priority.  Work only with ionice_priority.

          ionice_priority
                 Modify  I/O  scheduling  priority  of server processes. I/O niceness priority is a number which
                 goes from 0 to 7. The higher the value, the lower the I/O priority of the  process.  Work  only
                 with ionice_class.  Ignored if IOPRIO_CLASS_IDLE is set.

DOCUMENTATION

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

SEE ALSO

       swift-object-server(1),

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