diff --git a/account-server.conf b/account-server.conf new file mode 100644 index 0000000..ff18157 --- /dev/null +++ b/account-server.conf @@ -0,0 +1,24 @@ +[DEFAULT] + +# Make sure your swift-ring-builder arguments match the bind_ip and bind_port. +# You almost certainly do not want to listen just on loopback unless testing. +# However, you want to keep port 6202 if SElinux is enabled. +bind_ip = 127.0.0.1 +bind_port = 6202 + +workers = 2 + +[pipeline:main] +pipeline = recon account-server + +[filter:recon] +use = egg:swift#recon + +[app:account-server] +use = egg:swift#account + +[account-replicator] + +[account-auditor] + +[account-reaper] diff --git a/container-reconciler.conf b/container-reconciler.conf new file mode 100644 index 0000000..0a3de02 --- /dev/null +++ b/container-reconciler.conf @@ -0,0 +1,52 @@ +[DEFAULT] +# swift_dir = /etc/swift +# user = swift +# You can specify default log routing here if you want: +# log_name = swift +# log_facility = LOG_LOCAL0 +# log_level = INFO +# log_address = /dev/log +# +# 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 +# log_custom_handlers = +# +# If set, log_udp_host will override log_address +# log_udp_host = +# log_udp_port = 514 +# +# You can enable StatsD logging here: +# log_statsd_host = localhost +# log_statsd_port = 8125 +# log_statsd_default_sample_rate = 1.0 +# log_statsd_sample_rate_factor = 1.0 +# log_statsd_metric_prefix = + +[container-reconciler] +# The reconciler will re-attempt reconciliation if the source object is not +# available up to reclaim_age seconds before it gives up and deletes the entry +# in the queue. +# reclaim_age = 604800 +# The cycle time of the daemon +# interval = 300 +# Server errors from requests will be retried by default +# request_tries = 3 + +[pipeline:main] +pipeline = catch_errors proxy-logging cache proxy-server + +[app:proxy-server] +use = egg:swift#proxy +# See proxy-server.conf-sample for options + +[filter:cache] +use = egg:swift#memcache +# See proxy-server.conf-sample for options + +[filter:proxy-logging] +use = egg:swift#proxy_logging + +[filter:catch_errors] +use = egg:swift#catch_errors +# See proxy-server.conf-sample for options diff --git a/container-server.conf b/container-server.conf new file mode 100644 index 0000000..b3abcaf --- /dev/null +++ b/container-server.conf @@ -0,0 +1,29 @@ +[DEFAULT] + +# Make sure your swift-ring-builder arguments match the bind_ip and bind_port. +# You almost certainly do not want to listen just on loopback unless testing. +# However, you want to keep port 6201 if SElinux is enabled. +bind_ip = 127.0.0.1 +bind_port = 6201 + +workers = 2 + +[pipeline:main] +pipeline = recon container-server + +[filter:recon] +use = egg:swift#recon + +[app:container-server] +use = egg:swift#container + +[container-replicator] + +[container-updater] + +[container-auditor] + +[container-sync] + +[container-sharder] + diff --git a/internal-client.conf b/internal-client.conf new file mode 100644 index 0000000..a3be2ea --- /dev/null +++ b/internal-client.conf @@ -0,0 +1,47 @@ +[DEFAULT] +# swift_dir = /etc/swift +# user = swift +# You can specify default log routing here if you want: +# log_name = swift +# log_facility = LOG_LOCAL0 +# log_level = INFO +# log_address = /dev/log +# +# 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 +# log_custom_handlers = +# +# If set, log_udp_host will override log_address +# log_udp_host = +# log_udp_port = 514 +# +# You can enable StatsD logging here: +# log_statsd_host = +# log_statsd_port = 8125 +# log_statsd_default_sample_rate = 1.0 +# log_statsd_sample_rate_factor = 1.0 +# log_statsd_metric_prefix = + +[pipeline:main] +pipeline = catch_errors proxy-logging cache symlink proxy-server + +[app:proxy-server] +use = egg:swift#proxy +account_autocreate = true +# See proxy-server.conf-sample for options + +[filter:symlink] +use = egg:swift#symlink +# See proxy-server.conf-sample for options + +[filter:cache] +use = egg:swift#memcache +# See proxy-server.conf-sample for options + +[filter:proxy-logging] +use = egg:swift#proxy_logging + +[filter:catch_errors] +use = egg:swift#catch_errors +# See proxy-server.conf-sample for options diff --git a/object-expirer.conf b/object-expirer.conf new file mode 100644 index 0000000..29327ab --- /dev/null +++ b/object-expirer.conf @@ -0,0 +1,20 @@ +[DEFAULT] + +[object-expirer] +# auto_create_account_prefix = . + +[pipeline:main] +pipeline = catch_errors proxy-logging cache proxy-server + +[app:proxy-server] +use = egg:swift#proxy + +[filter:cache] +use = egg:swift#memcache +memcache_servers = 127.0.0.1:11211 + +[filter:catch_errors] +use = egg:swift#catch_errors + +[filter:proxy-logging] +use = egg:swift#poxy_logging diff --git a/object-server.conf b/object-server.conf new file mode 100644 index 0000000..fd41c62 --- /dev/null +++ b/object-server.conf @@ -0,0 +1,26 @@ +[DEFAULT] + +# Make sure your swift-ring-builder arguments match the bind_ip and bind_port. +# You almost certainly do not want to listen just on loopback unless testing. +# However, you want to keep port 6200 if SElinux is enabled. +bind_ip = 127.0.0.1 +bind_port = 6200 + +workers = 3 + +[pipeline:main] +pipeline = recon object-server + +[filter:recon] +use = egg:swift#recon + +[app:object-server] +use = egg:swift#object + +[object-replicator] + +[object-updater] + +[object-auditor] + +[object-reconstructor] diff --git a/openstack-swift-account-auditor.service b/openstack-swift-account-auditor.service new file mode 100644 index 0000000..35413ce --- /dev/null +++ b/openstack-swift-account-auditor.service @@ -0,0 +1,12 @@ +# After network.target just because. +[Unit] +Description=OpenStack Object Storage (swift) - Account Auditor +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-auditor /etc/swift/account-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account-auditor@.service b/openstack-swift-account-auditor@.service new file mode 100644 index 0000000..8b44df9 --- /dev/null +++ b/openstack-swift-account-auditor@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Auditor instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-auditor /etc/swift/account-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account-reaper.service b/openstack-swift-account-reaper.service new file mode 100644 index 0000000..dd6fb00 --- /dev/null +++ b/openstack-swift-account-reaper.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Reaper +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-reaper /etc/swift/account-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account-reaper@.service b/openstack-swift-account-reaper@.service new file mode 100644 index 0000000..dbd5aa4 --- /dev/null +++ b/openstack-swift-account-reaper@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Reaper instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-reaper /etc/swift/account-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account-replicator.service b/openstack-swift-account-replicator.service new file mode 100644 index 0000000..0cad889 --- /dev/null +++ b/openstack-swift-account-replicator.service @@ -0,0 +1,12 @@ +# After network.target just so replicator can talk to other nodes. +[Unit] +Description=OpenStack Object Storage (swift) - Account Replicator +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-replicator /etc/swift/account-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account-replicator@.service b/openstack-swift-account-replicator@.service new file mode 100644 index 0000000..65fbaa3 --- /dev/null +++ b/openstack-swift-account-replicator@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Replicator instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-replicator /etc/swift/account-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account.service b/openstack-swift-account.service new file mode 100644 index 0000000..190c4e7 --- /dev/null +++ b/openstack-swift-account.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Server +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-server /etc/swift/account-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-account@.service b/openstack-swift-account@.service new file mode 100644 index 0000000..518c72d --- /dev/null +++ b/openstack-swift-account@.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Account Server instance %I +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-account-server /etc/swift/account-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-auditor.service b/openstack-swift-container-auditor.service new file mode 100644 index 0000000..6359b91 --- /dev/null +++ b/openstack-swift-container-auditor.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Auditor +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-auditor /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-auditor@.service b/openstack-swift-container-auditor@.service new file mode 100644 index 0000000..7c046da --- /dev/null +++ b/openstack-swift-container-auditor@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Auditor instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-auditor /etc/swift/container-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-reconciler.service b/openstack-swift-container-reconciler.service new file mode 100644 index 0000000..f233451 --- /dev/null +++ b/openstack-swift-container-reconciler.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Reconciler +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-reconciler /etc/swift/container-reconciler.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-replicator.service b/openstack-swift-container-replicator.service new file mode 100644 index 0000000..399f7b4 --- /dev/null +++ b/openstack-swift-container-replicator.service @@ -0,0 +1,12 @@ +# After network.target just so replicator can talk to other nodes. +[Unit] +Description=OpenStack Object Storage (swift) - Container Replicator +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-replicator /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-replicator@.service b/openstack-swift-container-replicator@.service new file mode 100644 index 0000000..4803503 --- /dev/null +++ b/openstack-swift-container-replicator@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Replicator instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-replicator /etc/swift/container-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-sharder.service b/openstack-swift-container-sharder.service new file mode 100644 index 0000000..20bf17b --- /dev/null +++ b/openstack-swift-container-sharder.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Sharder +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-sharder /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-sync.service b/openstack-swift-container-sync.service new file mode 100644 index 0000000..28df814 --- /dev/null +++ b/openstack-swift-container-sync.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Sync +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-sync /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-sync@.service b/openstack-swift-container-sync@.service new file mode 100644 index 0000000..4e99c8e --- /dev/null +++ b/openstack-swift-container-sync@.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container sync instance %I +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-sync /etc/swift/container-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-updater.service b/openstack-swift-container-updater.service new file mode 100644 index 0000000..6efc57e --- /dev/null +++ b/openstack-swift-container-updater.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Updater +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-updater /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container-updater@.service b/openstack-swift-container-updater@.service new file mode 100644 index 0000000..19f99ff --- /dev/null +++ b/openstack-swift-container-updater@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Updater instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-updater /etc/swift/container-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container.service b/openstack-swift-container.service new file mode 100644 index 0000000..46752a4 --- /dev/null +++ b/openstack-swift-container.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Server +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-server /etc/swift/container-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-container@.service b/openstack-swift-container@.service new file mode 100644 index 0000000..ff65089 --- /dev/null +++ b/openstack-swift-container@.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Container Server instance %I +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-container-server /etc/swift/container-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-auditor.service b/openstack-swift-object-auditor.service new file mode 100644 index 0000000..498d53e --- /dev/null +++ b/openstack-swift-object-auditor.service @@ -0,0 +1,12 @@ +# After network.target just because. +[Unit] +Description=OpenStack Object Storage (swift) - Object Auditor +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-auditor /etc/swift/object-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-auditor@.service b/openstack-swift-object-auditor@.service new file mode 100644 index 0000000..f5c2537 --- /dev/null +++ b/openstack-swift-object-auditor@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Auditor instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-auditor /etc/swift/object-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-expirer.service b/openstack-swift-object-expirer.service new file mode 100644 index 0000000..0fbe2e5 --- /dev/null +++ b/openstack-swift-object-expirer.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Expirer +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-expirer /etc/swift/object-expirer.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-reconstructor.service b/openstack-swift-object-reconstructor.service new file mode 100644 index 0000000..a0fa663 --- /dev/null +++ b/openstack-swift-object-reconstructor.service @@ -0,0 +1,12 @@ +# After network.target just so replicator can talk to other nodes. +[Unit] +Description=OpenStack Object Storage (swift) - Object Reconstructor +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-reconstructor /etc/swift/object-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-reconstructor@.service b/openstack-swift-object-reconstructor@.service new file mode 100644 index 0000000..a69d969 --- /dev/null +++ b/openstack-swift-object-reconstructor@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Reconstructor instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-reconstructor /etc/swift/object-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-replicator.service b/openstack-swift-object-replicator.service new file mode 100644 index 0000000..be1d3fa --- /dev/null +++ b/openstack-swift-object-replicator.service @@ -0,0 +1,12 @@ +# After network.target just so replicator can talk to other nodes. +[Unit] +Description=OpenStack Object Storage (swift) - Object Replicator +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-replicator /etc/swift/object-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-replicator@.service b/openstack-swift-object-replicator@.service new file mode 100644 index 0000000..7493398 --- /dev/null +++ b/openstack-swift-object-replicator@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Replicator instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-replicator /etc/swift/object-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-updater.service b/openstack-swift-object-updater.service new file mode 100644 index 0000000..d9697a5 --- /dev/null +++ b/openstack-swift-object-updater.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Updater +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-updater /etc/swift/object-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object-updater@.service b/openstack-swift-object-updater@.service new file mode 100644 index 0000000..9f223c7 --- /dev/null +++ b/openstack-swift-object-updater@.service @@ -0,0 +1,11 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Updater instance %I +After=syslog.target network.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-updater /etc/swift/object-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object.service b/openstack-swift-object.service new file mode 100644 index 0000000..3e57503 --- /dev/null +++ b/openstack-swift-object.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Server +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-server /etc/swift/object-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-object@.service b/openstack-swift-object@.service new file mode 100644 index 0000000..4199e68 --- /dev/null +++ b/openstack-swift-object@.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Object Server instance %I +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-object-server /etc/swift/object-server/%i.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift-proxy.service b/openstack-swift-proxy.service new file mode 100644 index 0000000..d22e882 --- /dev/null +++ b/openstack-swift-proxy.service @@ -0,0 +1,12 @@ +[Unit] +Description=OpenStack Object Storage (swift) - Proxy Server +Wants=network-online.target +After=syslog.target network-online.target + +[Service] +Type=simple +User=swift +ExecStart=/usr/bin/swift-proxy-server /etc/swift/proxy-server.conf + +[Install] +WantedBy=multi-user.target diff --git a/openstack-swift.logrotate b/openstack-swift.logrotate new file mode 100644 index 0000000..f275ac7 --- /dev/null +++ b/openstack-swift.logrotate @@ -0,0 +1,8 @@ +/var/log/swift/swift.log +{ + missingok + compress + postrotate + /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/openstack-swift.rsyslog b/openstack-swift.rsyslog new file mode 100644 index 0000000..4ea55c2 --- /dev/null +++ b/openstack-swift.rsyslog @@ -0,0 +1,5 @@ +# LOCAL2 is what Swift gets in RHOS and RDO if installed with Packstack (also, +# in docs). The breakout action prevents logging into /var/log/messages, +# bz#997983. +local2.* /var/log/swift/swift.log +& stop diff --git a/openstack-swift.spec b/openstack-swift.spec new file mode 100644 index 0000000..d04c663 --- /dev/null +++ b/openstack-swift.spec @@ -0,0 +1,569 @@ +%{!?upstream_version: %global upstream_version %{version}%{?milestone}} +%global with_doc 1 +%global rhosp 0 + +%global common_desc \ +OpenStack Object Storage (Swift) aggregates commodity servers to work together \ +in clusters for reliable, redundant, and large-scale storage of static objects. \ +Objects are written to multiple hardware devices in the data center, with the \ +OpenStack software responsible for ensuring data replication and integrity \ +across the cluster. Storage clusters can scale horizontally by adding new nodes, \ +which are automatically configured. Should a node fail, OpenStack works to \ +replicate its content from other active nodes. Because OpenStack uses software \ +logic to ensure data replication and distribution across different devices, \ +inexpensive commodity hard drives and servers can be used in lieu of more \ +expensive equipment. + +Name: openstack-swift +Version: 2.27.0 +Release: 1 +Summary: OpenStack Object Storage +License: ASL 2.0 +URL: https://docs.openstack.org/swift/latest/ +Source0: https://tarballs.openstack.org/swift/swift-%{upstream_version}.tar.gz + +Source2: %{name}-account.service +Source21: %{name}-account@.service +Source22: account-server.conf +Source23: %{name}-account-replicator.service +Source24: %{name}-account-replicator@.service +Source25: %{name}-account-auditor.service +Source26: %{name}-account-auditor@.service +Source27: %{name}-account-reaper.service +Source28: %{name}-account-reaper@.service +Source4: %{name}-container.service +Source41: %{name}-container@.service +Source42: container-server.conf +Source43: %{name}-container-replicator.service +Source44: %{name}-container-replicator@.service +Source45: %{name}-container-auditor.service +Source46: %{name}-container-auditor@.service +Source47: %{name}-container-updater.service +Source48: %{name}-container-updater@.service +Source49: %{name}-container-sharder.service +# we seriously need to think about dropping the enumerated units - no sharder@ +Source5: %{name}-object.service +Source51: %{name}-object@.service +Source52: object-server.conf +Source53: %{name}-object-replicator.service +Source54: %{name}-object-replicator@.service +Source55: %{name}-object-auditor.service +Source56: %{name}-object-auditor@.service +Source57: %{name}-object-updater.service +Source58: %{name}-object-updater@.service +Source59: %{name}-object-expirer.service +Source63: %{name}-container-reconciler.service +Source6: %{name}-proxy.service +Source61: proxy-server.conf +Source62: object-expirer.conf +Source64: container-reconciler.conf +Source20: %{name}.tmpfs +Source7: swift.conf +Source71: %{name}.rsyslog +Source72: %{name}.logrotate +Source73: %{name}-object-reconstructor.service +Source74: %{name}-object-reconstructor@.service +Source75: %{name}-container-sync.service +Source76: %{name}-container-sync@.service +Source77: internal-client.conf + +BuildArch: noarch + +BuildRequires: openstack-macros +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pbr +BuildRequires: git-core +BuildRequires: /usr/bin/pathfix.py + +BuildRequires: systemd +Obsoletes: openstack-swift-auth <= 1.4.0 + +# Required to compile translation files +BuildRequires: python3-babel +# Required to build docs: doxygen invokes actual code and its imports +BuildRequires: python3-keystoneclient + +Requires: python3-swift = %{version}-%{release} + +%description +%{common_desc} + +%package -n python3-swift +Summary: Python libraries for the OpenStack Object Storage (Swift) + +Provides: openstack-swift = %{version}-%{release} +Obsoletes: openstack-swift < %{version}-%{release} +%{?python_provide:%python_provide python3-swift} + +Requires: python3-eventlet >= 0.25.0 +Requires: python3-greenlet >= 0.3.2 +Requires: python3-pyeclib >= 1.3.1 +Requires: python3-cryptography >= 2.0.2 +Requires: python3-oslo-config >= 2:5.1.0 +Requires: python3-castellan >= 0.7.0 +Requires: python3-requests >= 2.14.2 +Requires: python3-six >= 1.10.0 + +Requires: python3-paste-deploy >= 1.3.3 +Requires: python3-xattr >= 0.4 +Requires: python3-netifaces >= 0.8 +Requires: python3-lxml >= 3.4.1 + +%{?systemd_ordering} + +Requires(pre): shadow-utils + +%description -n python3-swift +%{common_desc} + +This package contains the %{name} Python library. + +%package account +Summary: Account services for Swift + +Requires: python3-swift = %{version}-%{release} +Requires: rsync >= 3.0 + +%description account +%{common_desc} + +This package contains the %{name} account server. + +%package container +Summary: Container services for Swift + +Requires: python3-swift = %{version}-%{release} +Requires: rsync >= 3.0 + +%description container +%{common_desc} + +This package contains the %{name} container server. + +%package object +Summary: Object services for Swift + +Requires: python3-swift = %{version}-%{release} +Requires: rsync >= 3.0 + +%description object +%{common_desc} + +This package contains the %{name} object server. + +%package proxy +Summary: A proxy server for Swift + +Requires: python3-swift = %{version}-%{release} +Requires: python3-keystoneclient +Requires: python3-keystonemiddleware +Requires: python3-ceilometermiddleware + +%description proxy +%{common_desc} + +This package contains the %{name} proxy server. + +%package -n python3-swift-tests +Summary: Swift tests +Requires: python3-swift = %{version}-%{release} +%{?python_provide:%python_provide python3-swift-tests} +Provides: python-swift-tests = %{version}-%{release} + +%description -n python3-swift-tests +%{common_desc} + +This package contains the %{name} test files. + +%if 0%{?with_doc} +%package doc +Summary: Documentation for %{name} + +BuildRequires: python3-sphinx >= 1.0 +BuildRequires: python3-openstackdocstheme +BuildRequires: python3-sphinxcontrib-svg2pdfconverter +# Required for generating docs (otherwise py-modindex.html is missing) +BuildRequires: python3-eventlet +BuildRequires: python3-pyeclib + +BuildRequires: python3-netifaces +BuildRequires: python3-paste-deploy +BuildRequires: python3-xattr +BuildRequires: python3-lxml + +%description doc +%{common_desc} + +This package contains documentation files for %{name}. +%endif + +%prep +# Required for tarball sources verification + +%autosetup -n swift-%{upstream_version} -S git + +# Let RPM handle the dependencies +%py_req_cleanup + +%build +%{py3_build} +# Generate i18n files +%{__python3} setup.py compile_catalog -d build/lib/swift/locale + +%if 0%{?with_doc} +# Fails unless we create the build directory +mkdir -p doc/build +# Build docs +export PYTHONPATH=. + +sphinx-build -b html doc/source doc/build/html +# Fix hidden-file-or-dir warning +rm -rf doc/build/html/.{doctrees,buildinfo} +%endif + +%install +%{py3_install} +# systemd units +install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}-account.service +install -p -D -m 644 %{SOURCE21} %{buildroot}%{_unitdir}/%{name}-account@.service +install -p -D -m 644 %{SOURCE23} %{buildroot}%{_unitdir}/%{name}-account-replicator.service +install -p -D -m 644 %{SOURCE24} %{buildroot}%{_unitdir}/%{name}-account-replicator@.service +install -p -D -m 644 %{SOURCE25} %{buildroot}%{_unitdir}/%{name}-account-auditor.service +install -p -D -m 644 %{SOURCE26} %{buildroot}%{_unitdir}/%{name}-account-auditor@.service +install -p -D -m 644 %{SOURCE27} %{buildroot}%{_unitdir}/%{name}-account-reaper.service +install -p -D -m 644 %{SOURCE28} %{buildroot}%{_unitdir}/%{name}-account-reaper@.service +install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-container.service +install -p -D -m 644 %{SOURCE41} %{buildroot}%{_unitdir}/%{name}-container@.service +install -p -D -m 644 %{SOURCE43} %{buildroot}%{_unitdir}/%{name}-container-replicator.service +install -p -D -m 644 %{SOURCE44} %{buildroot}%{_unitdir}/%{name}-container-replicator@.service +install -p -D -m 644 %{SOURCE45} %{buildroot}%{_unitdir}/%{name}-container-auditor.service +install -p -D -m 644 %{SOURCE46} %{buildroot}%{_unitdir}/%{name}-container-auditor@.service +install -p -D -m 644 %{SOURCE47} %{buildroot}%{_unitdir}/%{name}-container-updater.service +install -p -D -m 644 %{SOURCE48} %{buildroot}%{_unitdir}/%{name}-container-updater@.service +install -p -D -m 644 %{SOURCE49} %{buildroot}%{_unitdir}/%{name}-container-sharder.service +install -p -D -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-object.service +install -p -D -m 644 %{SOURCE51} %{buildroot}%{_unitdir}/%{name}-object@.service +install -p -D -m 644 %{SOURCE53} %{buildroot}%{_unitdir}/%{name}-object-replicator.service +install -p -D -m 644 %{SOURCE54} %{buildroot}%{_unitdir}/%{name}-object-replicator@.service +install -p -D -m 644 %{SOURCE55} %{buildroot}%{_unitdir}/%{name}-object-auditor.service +install -p -D -m 644 %{SOURCE56} %{buildroot}%{_unitdir}/%{name}-object-auditor@.service +install -p -D -m 644 %{SOURCE57} %{buildroot}%{_unitdir}/%{name}-object-updater.service +install -p -D -m 644 %{SOURCE58} %{buildroot}%{_unitdir}/%{name}-object-updater@.service +install -p -D -m 644 %{SOURCE59} %{buildroot}%{_unitdir}/%{name}-object-expirer.service +install -p -D -m 644 %{SOURCE63} %{buildroot}%{_unitdir}/%{name}-container-reconciler.service +install -p -D -m 644 %{SOURCE6} %{buildroot}%{_unitdir}/%{name}-proxy.service +install -p -D -m 644 %{SOURCE73} %{buildroot}%{_unitdir}/%{name}-object-reconstructor.service +install -p -D -m 644 %{SOURCE74} %{buildroot}%{_unitdir}/%{name}-object-reconstructor@.service +install -p -D -m 644 %{SOURCE75} %{buildroot}%{_unitdir}/%{name}-container-sync.service +install -p -D -m 644 %{SOURCE76} %{buildroot}%{_unitdir}/%{name}-container-sync@.service +# Misc other +install -d -m 755 %{buildroot}%{_sysconfdir}/swift +install -d -m 755 %{buildroot}%{_sysconfdir}/swift/account-server +install -d -m 755 %{buildroot}%{_sysconfdir}/swift/container-server +install -d -m 755 %{buildroot}%{_sysconfdir}/swift/object-server +install -d -m 755 %{buildroot}%{_sysconfdir}/swift/proxy-server +# Config files +install -p -D -m 660 %{SOURCE22} %{buildroot}%{_sysconfdir}/swift/account-server.conf +install -p -D -m 660 %{SOURCE42} %{buildroot}%{_sysconfdir}/swift/container-server.conf +install -p -D -m 660 %{SOURCE52} %{buildroot}%{_sysconfdir}/swift/object-server.conf +install -p -D -m 660 %{SOURCE61} %{buildroot}%{_sysconfdir}/swift/proxy-server.conf +install -p -D -m 660 %{SOURCE62} %{buildroot}%{_sysconfdir}/swift/object-expirer.conf +install -p -D -m 660 %{SOURCE64} %{buildroot}%{_sysconfdir}/swift/container-reconciler.conf +install -p -D -m 660 %{SOURCE7} %{buildroot}%{_sysconfdir}/swift/swift.conf +install -p -D -m 660 %{SOURCE77} %{buildroot}%{_sysconfdir}/swift/internal-client.conf +# Install pid directory +install -d -m 755 %{buildroot}%{_localstatedir}/run/swift +install -d -m 755 %{buildroot}%{_localstatedir}/run/swift/account-server +install -d -m 755 %{buildroot}%{_localstatedir}/run/swift/container-server +install -d -m 755 %{buildroot}%{_localstatedir}/run/swift/object-server +install -d -m 755 %{buildroot}%{_localstatedir}/run/swift/proxy-server +# syslog +install -d -m 755 %{buildroot}%{_localstatedir}/log/swift +install -p -D -m 644 %{SOURCE71} %{buildroot}%{_sysconfdir}/rsyslog.d/openstack-swift.conf +install -p -D -m 644 %{SOURCE72} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-swift +# Swift run directories +install -p -D -m 644 %{SOURCE20} %{buildroot}%{_tmpfilesdir}/openstack-swift.conf +# Install recon directory +install -d -m 755 %{buildroot}%{_localstatedir}/cache/swift +# Install home directory +install -d -m 755 %{buildroot}%{_sharedstatedir}/swift +# man pages +install -d -m 755 %{buildroot}%{_mandir}/man5 +for m in doc/manpages/*.5; do + install -p -m 0644 $m %{buildroot}%{_mandir}/man5 +done +install -d -m 755 %{buildroot}%{_mandir}/man1 +for m in doc/manpages/*.1; do + install -p -m 0644 $m %{buildroot}%{_mandir}/man1 +done + +# tests +mkdir -p %{buildroot}%{_datadir}/swift/test +cp -r test %{buildroot}%{python3_sitelib}/swift/test + +# Remove unnecessary shebangs +sed -i '1{/^#!/d}' %{buildroot}%{python3_sitelib}/swift/test/probe/test_object_partpower_increase.py +sed -i '1{/^#!/d}' %{buildroot}%{python3_sitelib}/swift/test/functional/test_symlink.py +# Remove executable bit to avoid rpmlint failures +chmod -x %{buildroot}%{python3_sitelib}/swift/test/probe/test_object_partpower_increase.py +chmod -x %{buildroot}%{python3_sitelib}/swift/test/functional/test_symlink.py + +# Install i18n files +install -d -m 755 %{buildroot}%{_datadir} +rm -f %{buildroot}%{python3_sitelib}/swift/locale/*/LC_*/swift*po +rm -f %{buildroot}%{python3_sitelib}/swift/locale/*pot +mv %{buildroot}%{python3_sitelib}/swift/locale %{buildroot}%{_datadir}/locale + +# Fix shebangs for Python 3-only distros +pathfix.py -pni "%{__python3} %{py3_shbang_opts}" %{buildroot}%{python3_sitelib}/swift/test + +# Find language files +%find_lang swift --all-name + +%clean +rm -rf %{buildroot} + +%pre -n python3-swift +getent group swift >/dev/null || groupadd -r swift -g 160 +getent passwd swift >/dev/null || \ +useradd -r -g swift -u 160 -d %{_sharedstatedir}/swift -s /sbin/nologin \ +-c "OpenStack Swift Daemons" swift +exit 0 + +%post account +%systemd_post %{name}-account.service +%systemd_post %{name}-account-replicator.service +%systemd_post %{name}-account-auditor.service +%systemd_post %{name}-account-reaper.service + +%preun account +%systemd_preun %{name}-account.service +%systemd_preun %{name}-account-replicator.service +%systemd_preun %{name}-account-auditor.service +%systemd_preun %{name}-account-reaper.service + +%postun account +%systemd_postun %{name}-account.service +%systemd_postun %{name}-account-replicator.service +%systemd_postun %{name}-account-auditor.service +%systemd_postun %{name}-account-reaper.service + +%post container +%systemd_post %{name}-container.service +%systemd_post %{name}-container-replicator.service +%systemd_post %{name}-container-auditor.service +%systemd_post %{name}-container-updater.service +%systemd_post %{name}-container-sync.service + +%preun container +%systemd_preun %{name}-container.service +%systemd_preun %{name}-container-replicator.service +%systemd_preun %{name}-container-auditor.service +%systemd_preun %{name}-container-updater.service +%systemd_preun %{name}-container-sync.service + +%postun container +%systemd_postun %{name}-container.service +%systemd_postun %{name}-container-replicator.service +%systemd_postun %{name}-container-auditor.service +%systemd_postun %{name}-container-updater.service +%systemd_postun %{name}-container-sync.service + +%post object +%systemd_post %{name}-object.service +%systemd_post %{name}-object-replicator.service +%systemd_post %{name}-object-reconstructor.service +%systemd_post %{name}-object-auditor.service +%systemd_post %{name}-object-updater.service + +%preun object +%systemd_preun %{name}-object.service +%systemd_preun %{name}-object-replicator.service +%systemd_preun %{name}-object-reconstructor.service +%systemd_preun %{name}-object-auditor.service +%systemd_preun %{name}-object-updater.service + +%postun object +%systemd_postun %{name}-object.service +%systemd_postun %{name}-object-replicator.service +%systemd_postun %{name}-object-reconstructor.service +%systemd_postun %{name}-object-auditor.service +%systemd_postun %{name}-object-updater.service + +%post proxy +%systemd_post %{name}-proxy.service +%systemd_post %{name}-object-expirer.service + +%preun proxy +%systemd_preun %{name}-proxy.service +%systemd_preun %{name}-object-expirer.service + +%postun proxy +%systemd_postun %{name}-proxy.service +%systemd_postun %{name}-object-expirer.service + +%post -n python3-swift +/usr/bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || : + +%files -n python3-swift -f swift.lang +%defattr(-,root,root,-) +%license LICENSE +%doc README.rst +%doc etc/*-sample +%{_mandir}/man5/dispersion.conf.5* +%{_mandir}/man1/swift-account-audit.1* +%{_mandir}/man1/swift-ring-builder-analyzer.1* +%{_mandir}/man1/swift-config.1* +%{_mandir}/man1/swift-dispersion-populate.1* +%{_mandir}/man1/swift-dispersion-report.1* +%{_mandir}/man1/swift-drive-audit.1* +%{_mandir}/man1/swift-form-signature.1* +%{_mandir}/man1/swift-get-nodes.1* +%{_mandir}/man1/swift-init.1* +%{_mandir}/man1/swift-oldies.1.* +%{_mandir}/man1/swift-orphans.1* +%{_mandir}/man1/swift-recon.1* +%{_mandir}/man1/swift-recon-cron.1* +%{_mandir}/man1/swift-ring-builder.1* +%{_mandir}/man1/swift-ring-composer.1* +%{_mandir}/man5/swift.conf.5* +%{_mandir}/man5/container-sync-realms.conf.5* +%{_tmpfilesdir}/openstack-swift.conf +%dir %attr(0755, swift, swift)%{_sysconfdir}/swift +%config(noreplace) %attr(640, root, swift) %{_sysconfdir}/swift/swift.conf +%config(noreplace) %{_sysconfdir}/rsyslog.d/openstack-swift.conf +%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-swift +%dir %{_localstatedir}/log/swift +%dir %attr(0755, swift, root) %{_localstatedir}/run/swift +%dir %attr(0755, swift, swift) %{_localstatedir}/cache/swift +%dir %attr(0755, swift, root) %{_sharedstatedir}/swift +%dir %{python3_sitelib}/swift +%{_bindir}/swift-account-audit +%{_bindir}/swift-config +%{_bindir}/swift-dispersion-populate +%{_bindir}/swift-dispersion-report +%{_bindir}/swift-drive-audit +%{_bindir}/swift-form-signature +%{_bindir}/swift-get-nodes +%{_bindir}/swift-init +%{_bindir}/swift-manage-shard-ranges +%{_bindir}/swift-oldies +%{_bindir}/swift-orphans +%{_bindir}/swift-recon +%{_bindir}/swift-recon-cron +%{_bindir}/swift-reconciler-enqueue +%{_bindir}/swift-ring-builder +%{_bindir}/swift-ring-builder-analyzer +%{_bindir}/swift-ring-composer +%{python3_sitelib}/swift +%{python3_sitelib}/swift-%{upstream_version}-py?.*.egg-info +%exclude %{python3_sitelib}/swift/test + +%files -n python3-swift-tests +%license LICENSE +%{python3_sitelib}/swift/test + +%files account +%defattr(-,root,root,-) +%{_mandir}/man5/account-server.conf.5* +%{_mandir}/man1/swift-account-auditor.1* +%{_mandir}/man1/swift-account-info.1* +%{_mandir}/man1/swift-account-reaper.1* +%{_mandir}/man1/swift-account-replicator.1* +%{_mandir}/man1/swift-account-server.1* +%{_unitdir}/%{name}-account*.service +%dir %{_sysconfdir}/swift/account-server +%config(noreplace) %attr(640, swift, swift) %{_sysconfdir}/swift/account-server.conf +%dir %attr(0755, swift, root) %{_localstatedir}/run/swift/account-server +%{_bindir}/swift-account-auditor +%{_bindir}/swift-account-info +%{_bindir}/swift-account-reaper +%{_bindir}/swift-account-replicator +%{_bindir}/swift-account-server + +%files container +%defattr(-,root,root,-) +%{_mandir}/man5/container-server.conf.5* +%{_mandir}/man1/swift-container-auditor.1* +%{_mandir}/man1/swift-container-info.1* +%{_mandir}/man1/swift-container-replicator.1* +%{_mandir}/man1/swift-container-server.1* +%{_mandir}/man1/swift-container-sync.1* +%{_mandir}/man1/swift-container-updater.1* +%{_unitdir}/%{name}-container*.service +%dir %{_sysconfdir}/swift/container-server +%config(noreplace) %attr(640, swift, swift) %{_sysconfdir}/swift/container-server.conf +%config(noreplace) %attr(640, swift, swift) %{_sysconfdir}/swift/internal-client.conf +%dir %attr(0755, swift, root) %{_localstatedir}/run/swift/container-server +%{_bindir}/swift-container-auditor +%{_bindir}/swift-container-deleter +%{_bindir}/swift-container-info +%{_bindir}/swift-container-server +%{_bindir}/swift-container-replicator +%{_bindir}/swift-container-updater +%{_bindir}/swift-container-sync +%{_bindir}/swift-container-sharder + +%files object +%defattr(-,root,root,-) +%{_mandir}/man5/object-server.conf.5* +%{_mandir}/man1/swift-object-auditor.1* +%{_mandir}/man1/swift-object-info.1* +%{_mandir}/man1/swift-object-reconstructor.1* +%{_mandir}/man1/swift-object-replicator.1* +%{_mandir}/man1/swift-object-server.1* +%{_mandir}/man1/swift-object-updater.1* +%{_unitdir}/%{name}-object.service +%{_unitdir}/%{name}-object@.service +%{_unitdir}/%{name}-object-auditor.service +%{_unitdir}/%{name}-object-auditor@.service +%{_unitdir}/%{name}-object-replicator.service +%{_unitdir}/%{name}-object-replicator@.service +%{_unitdir}/%{name}-object-reconstructor.service +%{_unitdir}/%{name}-object-reconstructor@.service +%{_unitdir}/%{name}-object-updater.service +%{_unitdir}/%{name}-object-updater@.service +%dir %{_sysconfdir}/swift/object-server +%config(noreplace) %attr(640, swift, swift) %{_sysconfdir}/swift/object-server.conf +%dir %attr(0755, swift, root) %{_localstatedir}/run/swift/object-server +%{_bindir}/swift-object-auditor +%{_bindir}/swift-object-info +%{_bindir}/swift-object-replicator +%{_bindir}/swift-object-relinker +%{_bindir}/swift-object-server +%{_bindir}/swift-object-updater +%{_bindir}/swift-object-reconstructor + +%files proxy +%defattr(-,root,root,-) +%{_mandir}/man5/object-expirer.conf.5* +%{_mandir}/man5/proxy-server.conf.5* +%{_mandir}/man5/container-reconciler.conf.5* +%{_mandir}/man1/swift-container-reconciler.1* +%{_mandir}/man1/swift-object-expirer.1* +%{_mandir}/man1/swift-proxy-server.1* +%{_mandir}/man1/swift-reconciler-enqueue.1* +%{_mandir}/man1/swift-object-relinker.1* +%{_unitdir}/%{name}-container-reconciler.service +%{_unitdir}/%{name}-object-expirer.service +%{_unitdir}/%{name}-proxy.service +%dir %{_sysconfdir}/swift/proxy-server +%config(noreplace) %attr(640, root, swift) %{_sysconfdir}/swift/container-reconciler.conf +%config(noreplace) %attr(640, root, swift) %{_sysconfdir}/swift/proxy-server.conf +%config(noreplace) %attr(640, root, swift) %{_sysconfdir}/swift/object-expirer.conf +%dir %attr(0755, swift, root) %{_localstatedir}/run/swift/proxy-server +%{_bindir}/swift-container-reconciler +%{_bindir}/swift-object-expirer +%{_bindir}/swift-proxy-server + +%if 0%{?with_doc} +%files doc +%defattr(-,root,root,-) +%doc doc/build/html +%license LICENSE +%endif + +%changelog +* Sat Jul 31 2021 OpenStack_SIG - 2.27.0-1 +- openEuler build release diff --git a/openstack-swift.tmpfs b/openstack-swift.tmpfs new file mode 100644 index 0000000..27b7d50 --- /dev/null +++ b/openstack-swift.tmpfs @@ -0,0 +1,6 @@ +# swift needs a couple of directories in /run +d /run/swift 0755 swift root +d /run/swift/account-server 0755 swift root +d /run/swift/container-server 0755 swift root +d /run/swift/object-server 0755 swift root +d /run/swift/proxy-server 0755 swift root diff --git a/proxy-server.conf b/proxy-server.conf new file mode 100644 index 0000000..5aeeef9 --- /dev/null +++ b/proxy-server.conf @@ -0,0 +1,95 @@ +[DEFAULT] +bind_port = 8080 +workers = 8 +user = swift + +[pipeline:main] +# Our traditional pipeline produces a cluster without any authentication, +# open to access by any client. This is almost always a very bad idea, and +# it's overridden by OSP Director, so it is likely to go away some time +# after Newton. +pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk tempurl ratelimit copy container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server + +# This sample pipeline uses tempauth and is used for SAIO dev work and +# testing. See below for a pipeline using keystone. +#pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk tempurl ratelimit tempauth copy container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server + +# The following pipeline shows keystone integration. Comment out the one +# above and uncomment this one. Additional steps for integrating keystone are +# covered further below in the filter sections for authtoken and keystoneauth. +#pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk tempurl ratelimit authtoken keystone copy container-quotas account-quotas slo dlo versioned_writes proxy-logging proxy-server + +[app:proxy-server] +use = egg:swift#proxy +allow_account_management = true +account_autocreate = true + +# This is a sample used for functional tests in SAIO. Contains well-known +# passwords. +#[filter:tempauth] +#use = egg:swift#tempauth +#user_admin_admin = admin .admin .reseller_admin +#user_test_tester = testing .admin +#user_test2_tester2 = testing2 .admin +#user_test_tester3 = testing3 +#user_test5_tester5 = testing5 service + +[filter:healthcheck] +use = egg:swift#healthcheck + +[filter:cache] +use = egg:swift#memcache +memcache_servers = 127.0.0.1:11211 + +[filter:ratelimit] +use = egg:swift#ratelimit + +[filter:catch_errors] +use = egg:swift#catch_errors + +[filter:tempurl] +use = egg:swift#tempurl + +[filter:proxy-logging] +use = egg:swift#proxy_logging + +[filter:bulk] +use = egg:swift#bulk + +[filter:slo] +use = egg:swift#slo + +[filter:dlo] +use = egg:swift#dlo + +[filter:container-quotas] +use = egg:swift#container_quotas + +[filter:account-quotas] +use = egg:swift#account_quotas + +[filter:gatekeeper] +use = egg:swift#gatekeeper + +[filter:container_sync] +use = egg:swift#container_sync + +[filter:versioned_writes] +use = egg:swift#versioned_writes + +[filter:copy] +use = egg:swift#copy +object_post_as_copy = false + +[filter:keystone] +use = egg:swift#keystoneauth +operator_roles = admin, SwiftOperator +cache = swift.cache + +[filter:authtoken] +paste.filter_factory = keystonemiddleware.auth_token:filter_factory +project_name = %SERVICE_TENANT_NAME% +username = %SERVICE_USER% +password = %SERVICE_PASSWORD% +auth_url = http://127.0.0.1:5000 +signing_dir = /tmp/keystone-signing-swift diff --git a/swift-2.27.0.tar.gz b/swift-2.27.0.tar.gz new file mode 100644 index 0000000..da95c2a Binary files /dev/null and b/swift-2.27.0.tar.gz differ diff --git a/swift.conf b/swift.conf new file mode 100644 index 0000000..adbd96f --- /dev/null +++ b/swift.conf @@ -0,0 +1,2 @@ +[swift-hash] +swift_hash_path_suffix = %SWIFT_HASH_PATH_SUFFIX%