bionic (5) container-server.conf.5.gz

Provided by: swift-container_2.17.1-0ubuntu1_all bug

NAME

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

SYNOPSIS

       container-server.conf

DESCRIPTION

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

       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 container 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 container server should bind to. The default is 6201.

       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.

       allowed_sync_hosts
              This  is  a comma separated list of hosts allowed in the X-Container-Sync-To field for containers.
              This is the old-style of using container sync. It is strongly recommended to use the new style  of
              a  separate container-sync-realms.conf -- see container-sync-realms.conf-sample allowed_sync_hosts
              = 127.0.0.1

       user   The system user that the container 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.

       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.

       db_preallocation
              If you don't mind the extra disk space usage in overhead, you can turn this on to preallocate disk
              space with SQLite databases to decrease fragmentation.  The default is false.

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

       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 container-server".

APP SECTION

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

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

       set log_name
              Label used when logging. The default is container-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.

       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.

       allow_versions
              The default is false.

       auto_create_account_prefix
              The default is '.'.

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

       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.

       [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-container services, such as replicator,  updater,  auditor
       and sync.

       [container-replicator]

          log_name
                 Label used when logging. The default is container-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.

          per_diff
                 Maximum  number  of database rows that will be sync'd in a single HTTP replication request. The
                 default is 1000.

          max_diffs
                 This caps how long the replicator will spend trying to sync a given database per  pass  so  the
                 other databases don't get starved. The default is 100.

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

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

          interval
                 Replaces  run_pause  with  the more standard "interval", which means the replicator won't pause
                 unless it takes less than the interval set. The default is 30.

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

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

          reclaim_age
                 Time elapsed in seconds before an container can be reclaimed. The default is 604800 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. 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.

          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.

       [container-updater]

          log_name
                 Label used when logging. The default is container-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 4.

          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.

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

          slowdown
                 Slowdown  will sleep that amount between containers. The default is 0.01 seconds. Deprecated in
                 favor of containers_per_second

          account_suppression_time
                 Seconds to suppress updating an account that has generated an error. The default is 60 seconds.

          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.

       [container-auditor]

          log_name
                 Label used when logging. The default is container-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.

          interval
                 Will audit, at most, 1 container per device per interval. The default is 1800 seconds.

          containers_per_second
                 Maximum  containers audited per second. Should be tuned according to individual system specs. 0
                 is unlimited. The default is 200.

          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.

       [container-sync]

          log_name
                 Label used when logging. The default is container-sync.

          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.

          sync_proxy
                 If you need to use an HTTP Proxy, set it here; defaults to no proxy.

          interval
                 Will audit, at most, each container once per interval. The default is 300 seconds.

          container_time
                 Maximum amount of time to spend syncing each container per pass. The default is 60 seconds.

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

          request_tries
                 Server errors from requests will be retried by default. The default is 3.

          internal_client_conf_path
                 Internal client config file path.

          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-container-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-container-server(1)