add package

This commit is contained in:
lmz 2021-08-06 19:27:17 +00:00
parent a412487fcf
commit a228560ee0
45 changed files with 1249 additions and 0 deletions

24
account-server.conf Normal file
View File

@ -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]

52
container-reconciler.conf Normal file
View File

@ -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

29
container-server.conf Normal file
View File

@ -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]

47
internal-client.conf Normal file
View File

@ -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

20
object-expirer.conf Normal file
View File

@ -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

26
object-server.conf Normal file
View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
}

5
openstack-swift.rsyslog Normal file
View File

@ -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

569
openstack-swift.spec Normal file
View File

@ -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 <openstack@openeuler.org> - 2.27.0-1
- openEuler build release

6
openstack-swift.tmpfs Normal file
View File

@ -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

95
proxy-server.conf Normal file
View File

@ -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

BIN
swift-2.27.0.tar.gz Normal file

Binary file not shown.

2
swift.conf Normal file
View File

@ -0,0 +1,2 @@
[swift-hash]
swift_hash_path_suffix = %SWIFT_HASH_PATH_SUFFIX%