212525118c
Previously, WSGI server systemd unit files might have used something like ExecReload=kill -USR1 $MAINPID This was risky; in the related change, reloads were made safer, but required more than one ExecReload line. Meanwhile, systemd docs (https://www.freedesktop.org/software/systemd/man/systemd.service.html#ExecReload=) say > It is strongly recommended to set ExecReload= to a command that > not only triggers a configuration reload of the daemon, but also > synchronously waits for it to complete. which *neither* set of ExecReloads would do. Now, add a new swift-reload command which, given a pid, * validates that the PID seems to belong to a Swift WSGI server manager process, * checks that the config used by that PID is still valid, * signals the PID to perform a seamless reload, and * waits for the reload to complete by monitoring the PID's children. As a result, WSGI server systemd unit files can now use something like ExecReload=swift-reload $MAINPID to follow systemd recommendations. Change-Id: Ifcadd2f8427f107aae1921cdd311f7973b0312e1 Related-Change: I9e5e158ce8be92535430b9cabf040063f5188bf4
151 lines
5.6 KiB
INI
151 lines
5.6 KiB
INI
[metadata]
|
|
name = swift
|
|
summary = OpenStack Object Storage
|
|
description_file =
|
|
README.rst
|
|
author = OpenStack
|
|
author_email = openstack-discuss@lists.openstack.org
|
|
url = https://docs.openstack.org/swift/latest/
|
|
project_urls =
|
|
Documentation = https://docs.openstack.org/swift/latest/
|
|
Bug Tracker = https://bugs.launchpad.net/swift
|
|
Source Code = https://opendev.org/openstack/swift/
|
|
Release Notes = https://opendev.org/openstack/swift/src/branch/master/CHANGELOG
|
|
classifier =
|
|
Development Status :: 5 - Production/Stable
|
|
Environment :: OpenStack
|
|
Intended Audience :: Information Technology
|
|
Intended Audience :: System Administrators
|
|
License :: OSI Approved :: Apache Software License
|
|
Operating System :: POSIX :: Linux
|
|
Programming Language :: Python
|
|
Programming Language :: Python :: 2
|
|
Programming Language :: Python :: 2.7
|
|
Programming Language :: Python :: 3
|
|
Programming Language :: Python :: 3.6
|
|
Programming Language :: Python :: 3.7
|
|
Programming Language :: Python :: 3.8
|
|
Programming Language :: Python :: 3.9
|
|
Programming Language :: Python :: 3.10
|
|
|
|
[pbr]
|
|
skip_authors = True
|
|
skip_changelog = True
|
|
skip_reno = True
|
|
|
|
[files]
|
|
packages =
|
|
swift
|
|
scripts =
|
|
bin/swift-account-audit
|
|
bin/swift-account-auditor
|
|
bin/swift-account-info
|
|
bin/swift-account-reaper
|
|
bin/swift-account-replicator
|
|
bin/swift-account-server
|
|
bin/swift-config
|
|
bin/swift-container-auditor
|
|
bin/swift-container-info
|
|
bin/swift-container-replicator
|
|
bin/swift-container-server
|
|
bin/swift-container-sharder
|
|
bin/swift-container-sync
|
|
bin/swift-container-updater
|
|
bin/swift-container-reconciler
|
|
bin/swift-reconciler-enqueue
|
|
bin/swift-dispersion-populate
|
|
bin/swift-dispersion-report
|
|
bin/swift-drive-audit
|
|
bin/swift-form-signature
|
|
bin/swift-get-nodes
|
|
bin/swift-init
|
|
bin/swift-object-auditor
|
|
bin/swift-object-expirer
|
|
bin/swift-object-info
|
|
bin/swift-object-replicator
|
|
bin/swift-object-reconstructor
|
|
bin/swift-object-relinker
|
|
bin/swift-object-server
|
|
bin/swift-object-updater
|
|
bin/swift-oldies
|
|
bin/swift-orphans
|
|
bin/swift-proxy-server
|
|
bin/swift-recon
|
|
bin/swift-recon-cron
|
|
bin/swift-ring-builder
|
|
bin/swift-ring-builder-analyzer
|
|
bin/swift-ring-composer
|
|
|
|
[extras]
|
|
kms_keymaster =
|
|
oslo.config>=4.0.0,!=4.3.0,!=4.4.0 # Apache-2.0
|
|
castellan>=0.13.0 # Apache-2.0
|
|
|
|
kmip_keymaster =
|
|
pykmip>=0.7.0 # Apache-2.0
|
|
|
|
keystone =
|
|
keystonemiddleware>=4.17.0
|
|
|
|
[entry_points]
|
|
console_scripts =
|
|
swift-manage-shard-ranges = swift.cli.manage_shard_ranges:main
|
|
swift-container-deleter = swift.cli.container_deleter:main
|
|
swift-reload = swift.cli.reload:main
|
|
|
|
paste.app_factory =
|
|
proxy = swift.proxy.server:app_factory
|
|
object = swift.obj.server:app_factory
|
|
mem_object = swift.obj.mem_server:app_factory
|
|
container = swift.container.server:app_factory
|
|
account = swift.account.server:app_factory
|
|
|
|
paste.filter_factory =
|
|
healthcheck = swift.common.middleware.healthcheck:filter_factory
|
|
crossdomain = swift.common.middleware.crossdomain:filter_factory
|
|
memcache = swift.common.middleware.memcache:filter_factory
|
|
read_only = swift.common.middleware.read_only:filter_factory
|
|
ratelimit = swift.common.middleware.ratelimit:filter_factory
|
|
backend_ratelimit = swift.common.middleware.backend_ratelimit:filter_factory
|
|
cname_lookup = swift.common.middleware.cname_lookup:filter_factory
|
|
catch_errors = swift.common.middleware.catch_errors:filter_factory
|
|
domain_remap = swift.common.middleware.domain_remap:filter_factory
|
|
staticweb = swift.common.middleware.staticweb:filter_factory
|
|
tempauth = swift.common.middleware.tempauth:filter_factory
|
|
keystoneauth = swift.common.middleware.keystoneauth:filter_factory
|
|
recon = swift.common.middleware.recon:filter_factory
|
|
tempurl = swift.common.middleware.tempurl:filter_factory
|
|
formpost = swift.common.middleware.formpost:filter_factory
|
|
name_check = swift.common.middleware.name_check:filter_factory
|
|
bulk = swift.common.middleware.bulk:filter_factory
|
|
container_quotas = swift.common.middleware.container_quotas:filter_factory
|
|
account_quotas = swift.common.middleware.account_quotas:filter_factory
|
|
proxy_logging = swift.common.middleware.proxy_logging:filter_factory
|
|
dlo = swift.common.middleware.dlo:filter_factory
|
|
slo = swift.common.middleware.slo:filter_factory
|
|
list_endpoints = swift.common.middleware.list_endpoints:filter_factory
|
|
gatekeeper = swift.common.middleware.gatekeeper:filter_factory
|
|
container_sync = swift.common.middleware.container_sync:filter_factory
|
|
xprofile = swift.common.middleware.xprofile:filter_factory
|
|
versioned_writes = swift.common.middleware.versioned_writes:filter_factory
|
|
copy = swift.common.middleware.copy:filter_factory
|
|
keymaster = swift.common.middleware.crypto.keymaster:filter_factory
|
|
encryption = swift.common.middleware.crypto:filter_factory
|
|
kms_keymaster = swift.common.middleware.crypto.kms_keymaster:filter_factory
|
|
kmip_keymaster = swift.common.middleware.crypto.kmip_keymaster:filter_factory
|
|
listing_formats = swift.common.middleware.listing_formats:filter_factory
|
|
symlink = swift.common.middleware.symlink:filter_factory
|
|
s3api = swift.common.middleware.s3api.s3api:filter_factory
|
|
s3token = swift.common.middleware.s3api.s3token:filter_factory
|
|
etag_quoter = swift.common.middleware.etag_quoter:filter_factory
|
|
|
|
swift.diskfile =
|
|
replication.fs = swift.obj.diskfile:DiskFileManager
|
|
erasure_coding.fs = swift.obj.diskfile:ECDiskFileManager
|
|
|
|
swift.object_audit_watcher =
|
|
dark_data = swift.obj.watchers.dark_data:DarkDataWatcher
|
|
|
|
[bdist_wheel]
|
|
universal = 1
|