container-reconciler.conf(5)

πŸ“¦
version 2.38.2 Β· 2 versions
  • 2.38.2 Β· nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 2.29.2 Β· ubuntu jammy
, in nixos 26.05, nixpkgs unstable, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– container-reconciler.conf β€” the OpenStack Swift container reconciler config file, bestie edition πŸ’–

okay so. container-reconciler.conf(5)? That's the manual page for the configuration file of the OpenStack Swift container reconciler. Yes she's a config file, yes she's iconic, and yes we're going to go through every single option together because I refuse to let you skim. 🫢


✨ NAME ✨

container-reconciler.conf β€” no cap, that's literally it. It's the configuration file for the OpenStack Swift container reconciler. Main character energy from the very first line. πŸ‘‘


✨ SYNOPSIS ✨

container-reconciler.conf

✨ DESCRIPTION ✨

So this is the config file that the container reconciler uses. That's the whole vibe. πŸ’…

The file follows the python-pastedeploy syntax. Translation for the girlies who haven't met paste yet: the file is split into sections, and each section is wrapped in square brackets. Inside each section you'll find a bunch of key/value parameters, and we're going to describe those a bit further down. Don't worry, we'll get there. 🌸

Any line that starts with a # symbol is ignored β€” that's your comment line, your little diary entry, your "not me writing notes in prod" moment. πŸ™ˆ

If you want more lore on the python-pastedeploy configuration format, it lives here:

https://docs.pylonsproject.org/projects/pastedeploy/en/latest/#config-format

🌈 GLOBAL SECTION 🌈

This one is the section named [DEFAULT]. It's the group chat everyone's in. Below are all the parameters that are acceptable inside it. πŸ’–

  • log_address β€” where syslog sends the logs to. The default is /dev/log. That's her home address, respect it. 🏠
  • log_custom_handlers β€” a comma-separated list of functions to call so you can set up custom log handlers. Build-your-own-logging moment, we love a DIY queen. ✨
  • log_facility β€” the syslog log facility. The default is LOG_LOCAL0.
  • log_level β€” the log level used for logging. The default is INFO.
  • log_name β€” the label used when logging. The default is swift.
  • log_statsd_default_sample_rate β€” defines the probability of sending a sample for any given event or timing measurement. The default is 1.0.
  • log_statsd_host β€” if you don't set this, the StatsD feature is disabled. The default is localhost.
  • log_statsd_metric_prefix β€” whatever value you put here gets prepended to every metric sent to the StatsD server. It's giving ✨branding✨.
  • log_statsd_port β€” the port value for the StatsD server. The default is 8125.
  • log_statsd_sample_rate_factor β€” ok so, it is not recommended to set this to a value less than 1.0. If your logging frequency is too high, tune log_statsd_default_sample_rate instead, okay bestie? The default value is 1.0.
  • log_udp_host β€” if not set, the UDP receiver for syslog is disabled. Gone. Not invited to the party. 🚫
  • log_udp_port β€” the port value for the UDP receiver, if it's enabled. The default is 514.
  • swift_dir β€” the Swift configuration directory. The default is /etc/swift.
  • user β€” the user to run as. The default is swift.

πŸŽ€ CONTAINER RECONCILER SECTION πŸŽ€

This is the [container-reconciler] section. Her own little corner of the file. πŸ¦‹

  • interval β€” the minimum time for a pass to take. The default is 30 seconds. She takes her time, and honestly? Good for her.
  • reclaim_age β€” the time elapsed in seconds before an object can be reclaimed. The default is 604800 seconds. (That's a whole week, she's committed. πŸ’€)
  • request_tries β€” server errors from requests will be retried by default. The default is 3. Never give up, never surrender, but like, do give up after 3. πŸ™ˆ

πŸ”₯ PIPELINE SECTION πŸ”₯

The [pipeline:main] section. This is where the lineup gets announced. 🎀

  • pipeline β€” the pipeline to use for processing operations. The default is "catch_errors proxy-logging cache proxy-server". That's the whole squad, in order, no substitutions.

πŸ’œ APP SECTION πŸ’œ

For the details of the available options here, go read proxy-server.conf.5. She has the receipts. πŸ“–

This is the [app:proxy-server] section:

  • use β€” the entry point for paste.deploy in the server. This is normally egg:swift#proxy.

🧚 FILTER SECTIONS 🧚

Okay so any section whose name is prefixed by "filter:" is a filter section. Filters are how you specify configuration parameters for specific swift middlewares. Below are the filters available and their respective acceptable parameters. 🌸

And for the details of the available options for each filter section, see proxy-server.conf.5. Same receipts, different chapter.

[filter:cache]

Caching middleware that manages caching in swift. She remembers everything so you don't have to. πŸ’…

  • use β€” the entry point for paste.deploy in the server. This is normally egg:swift#memcache.

[filter:catch_errors]

  • use β€” the entry point for paste.deploy in the server. This is normally egg:swift#catch_errors.

[filter:proxy-logging]

  • use β€” the entry point for paste.deploy in the server. This is normally egg:swift#proxy_logging.

πŸ“š DOCUMENTATION πŸ“š

If you want the more in depth documentation about swift-container-reconciler, and also about OpenStack Swift as a whole, it's all waiting for you at:

https://docs.openstack.org/swift/latest/overview_policies.html

Go read it. I'll wait. Go on. πŸ’–


πŸ‘€ SEE ALSO πŸ‘€


and that's the whole page bestie, no gatekeeping, every single option accounted for 🫢

okay that's a wrap!! this one's from Linux, dated 10/25/2017, and she's the container-reconciler.conf(5) man page β€” still iconic, still relevant, still telling you to tune log_statsd_default_sample_rate instead of messing with log_statsd_sample_rate_factor. slay, periodt, go configure something. πŸ’…βœ¨πŸŒˆπŸ’–