Provided by: swift-object_2.30.0+git2022100608.49d35e0c3-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
       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.

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

       auto_create_account_prefix [deprecated]
              The default is '.'. Should be configured in swift.conf instead.

       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),