
This is for the same reason that SLO got pulled into middleware, which includes stuff like automatic retry of GETs on broken connection and the multi-ring storage policy stuff. The proxy will automatically insert the dlo middleware at an appropriate place in the pipeline the same way it does with the gatekeeper middleware. Clusters will still support DLOs after upgrade even with an old config file that doesn't mention dlo at all. Includes support for reading config values from the proxy server's config section so that upgraded clusters continue to work as before. Bonus fix: resolve 'after' vs. 'after_fn' in proxy's required filters list. Having two was confusing, so I kept the more-general one. DocImpact blueprint multi-ring-large-objects Change-Id: Ib3b3830c246816dd549fc74be98b4bc651e7bace
3.7 KiB
Middleware
TempAuth
swift.common.middleware.tempauth
KeystoneAuth
swift.common.middleware.keystoneauth
Healthcheck
swift.common.middleware.healthcheck
Recon
swift.common.middleware.recon
Ratelimit
swift.common.middleware.ratelimit
StaticWeb
swift.common.middleware.staticweb
TempURL
swift.common.middleware.tempurl
FormPost
swift.common.middleware.formpost
Domain Remap
swift.common.middleware.domain_remap
CNAME Lookup
swift.common.middleware.cname_lookup
Cross Domain Policies
swift.common.middleware.crossdomain
Name Check (Forbidden Character Filter)
swift.common.middleware.name_check
Memcache
swift.common.middleware.memcache
Proxy Logging
swift.common.middleware.proxy_logging
CatchErrors
swift.common.middleware.catch_errors
GateKeeper
swift.common.middleware.gatekeeper
Bulk Operations (Delete and Archive Auto Extraction)
swift.common.middleware.bulk
Container Quotas
swift.common.middleware.container_quotas
Account Quotas
swift.common.middleware.account_quotas
Static Large Objects
swift.common.middleware.slo
Dynamic Large Objects ====================
swift.common.middleware.dlo
List Endpoints
swift.common.middleware.list_endpoints
Container Sync Middleware
swift.common.middleware.container_sync
Discoverability
Swift will by default provide clients with an interface providing
details about the installation. Unless disabled (i.e
expose_info=false
in proxy-server-config
), a GET request to
/info
will return configuration data in JSON format. An
example response:
{"swift": {"version": "1.11.0"}, "staticweb": {}, "tempurl": {}}
This would signify to the client that swift version 1.11.0 is running and that staticweb and tempurl are available in this installation.
There may be administrator-only information available via
/info
. To retrieve it, one must use an HMAC-signed request,
similar to TempURL. The signature may be produced like so:
swift-temp-url GET 3600 /info secret 2>/dev/null | sed s/temp_url/swiftinfo/g