Initial spec for Cinder
Change-Id: Ia40ad1329d61c9ba2609ba5b5e7d2249a2cc2ec0
This commit is contained in:
parent
3ac8248ee4
commit
51df718d14
4
openstack/cinder/cinder-sudoers
Normal file
4
openstack/cinder/cinder-sudoers
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
Defaults:cinder !requiretty
|
||||||
|
|
||||||
|
cinder ALL = (root) NOPASSWD: /usr/bin/cinder-rootwrap /etc/cinder/rootwrap.conf *
|
||||||
|
|
387
openstack/cinder/cinder.spec.j2
Normal file
387
openstack/cinder/cinder.spec.j2
Normal file
@ -0,0 +1,387 @@
|
|||||||
|
{% set pypi_name = 'cinder' %}
|
||||||
|
{% set source = fetch_source('http://tarballs.openstack.org/cinder/cinder-master.tar.gz') %}
|
||||||
|
{% set upstream_version = upstream_version() %}
|
||||||
|
{% set rpm_release = '1' %}
|
||||||
|
%global with_doc 1
|
||||||
|
%if 0%{?rhel} || 0%{?fedora}
|
||||||
|
%global rdo 1
|
||||||
|
%endif
|
||||||
|
%global service cinder
|
||||||
|
Name: {{ py2name() }}
|
||||||
|
Version: {{ py2rpmversion() }}
|
||||||
|
Release: {{ py2rpmrelease() }}
|
||||||
|
Epoch: {{ epoch('cinder') }}
|
||||||
|
Summary: OpenStack Block Storage (Cinder)
|
||||||
|
License: {{ license('Apache-2.0') }}
|
||||||
|
URL: https://launchpad.net/cinder
|
||||||
|
Source0: {{ source|basename }}
|
||||||
|
Source1: openstack-cinder.logrotate
|
||||||
|
Source2: openstack-cinder-api.service
|
||||||
|
Source3: openstack-cinder-scheduler.service
|
||||||
|
Source4: openstack-cinder-volume.service
|
||||||
|
Source5: openstack-cinder-backup.service
|
||||||
|
Source6: %{service}-sudoers
|
||||||
|
BuildRequires: openstack-macros
|
||||||
|
BuildRequires: {{ py2pkg('PyMySQL') }}
|
||||||
|
BuildRequires: {{ py2pkg('SQLAlchemy') }}
|
||||||
|
BuildRequires: {{ py2pkg('python-barbicanclient') }}
|
||||||
|
BuildRequires: {{ py2pkg('castellan') }}
|
||||||
|
BuildRequires: {{ py2pkg('cryptography') }}
|
||||||
|
BuildRequires: {{ py2pkg('ddt') }}
|
||||||
|
BuildRequires: {{ py2pkg('decorator') }}
|
||||||
|
BuildRequires: {{ py2pkg('defusedxml') }}
|
||||||
|
BuildRequires: {{ py2pkg('fixtures') }}
|
||||||
|
BuildRequires: {{ py2pkg('python-glanceclient') }}
|
||||||
|
BuildRequires: {{ py2pkg('google-api-python-client') }}
|
||||||
|
BuildRequires: {{ py2pkg('keystonemiddleware') }}
|
||||||
|
BuildRequires: {{ py2pkg('lxml') }}
|
||||||
|
BuildRequires: {{ py2pkg('mock') }}
|
||||||
|
BuildRequires: {{ py2pkg('python-novaclient') }}
|
||||||
|
BuildRequires: {{ py2pkg('os-brick') }}
|
||||||
|
BuildRequires: {{ py2pkg('os-testr') }}
|
||||||
|
BuildRequires: {{ py2pkg('os-win') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.config') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.db') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.i18n') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.log') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.policy') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.reports') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.utils') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.versionedobjects') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslo.vmware') }}
|
||||||
|
BuildRequires: {{ py2pkg('oslotest') }}
|
||||||
|
BuildRequires: {{ py2pkg('osprofiler') }}
|
||||||
|
BuildRequires: {{ py2pkg('paramiko') }}
|
||||||
|
BuildRequires: {{ py2pkg('psycopg2') }}
|
||||||
|
BuildRequires: {{ py2pkg('pyparsing') }}
|
||||||
|
BuildRequires: {{ py2pkg('requests') }}
|
||||||
|
BuildRequires: {{ py2pkg('retrying') }}
|
||||||
|
BuildRequires: {{ py2pkg('rtslib-fb') }}
|
||||||
|
BuildRequires: {{ py2pkg('setuptools') }}
|
||||||
|
BuildRequires: {{ py2pkg('sqlalchemy-migrate') }}
|
||||||
|
BuildRequires: {{ py2pkg('suds-jurko') }}
|
||||||
|
BuildRequires: {{ py2pkg('python-swiftclient') }}
|
||||||
|
BuildRequires: {{ py2pkg('taskflow') }}
|
||||||
|
BuildRequires: {{ py2pkg('testresources') }}
|
||||||
|
BuildRequires: {{ py2pkg('testscenarios') }}
|
||||||
|
BuildRequires: {{ py2pkg('testtools') }}
|
||||||
|
BuildRequires: {{ py2pkg('tooz') }}
|
||||||
|
BuildRequires: sudo
|
||||||
|
Requires: logrotate
|
||||||
|
Requires: python-{{ pypi_name }} = %{epoch}:%{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
BuildRequires: systemd-rpm-macros
|
||||||
|
%{?systemd_requires}
|
||||||
|
%else
|
||||||
|
BuildRequires: systemd
|
||||||
|
Requires(post): systemd
|
||||||
|
Requires(postun): systemd
|
||||||
|
Requires(preun): systemd
|
||||||
|
%endif
|
||||||
|
%if 0%{?suse_version}
|
||||||
|
Requires(pre): pwdutils
|
||||||
|
%endif
|
||||||
|
%if 0%{?rdo}
|
||||||
|
Requires(pre): shadow-utils
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
%package -n python-{{ pypi_name }}
|
||||||
|
Summary: OpenStack Volume Python libraries
|
||||||
|
Group: Applications/System
|
||||||
|
Requires: {{ py2pkg('Paste') }}
|
||||||
|
Requires: {{ py2pkg('PasteDeploy') }}
|
||||||
|
Requires: {{ py2pkg('PrettyTable') }}
|
||||||
|
Requires: {{ py2pkg('Routes') }}
|
||||||
|
Requires: {{ py2pkg('SQLAlchemy') }}
|
||||||
|
Requires: {{ py2pkg('WebOb') }}
|
||||||
|
Requires: {{ py2pkg('python-barbicanclient') }}
|
||||||
|
Requires: {{ py2pkg('castellan') }}
|
||||||
|
Requires: {{ py2pkg('cryptography') }}
|
||||||
|
Requires: {{ py2pkg('decorator') }}
|
||||||
|
Requires: {{ py2pkg('defusedxml') }}
|
||||||
|
Requires: {{ py2pkg('enum34') }}
|
||||||
|
Requires: {{ py2pkg('eventlet') }}
|
||||||
|
Requires: {{ py2pkg('python-glanceclient') }}
|
||||||
|
Requires: {{ py2pkg('google-api-python-client') }}
|
||||||
|
Requires: {{ py2pkg('httplib2') }}
|
||||||
|
Requires: {{ py2pkg('ipaddress') }}
|
||||||
|
Requires: {{ py2pkg('iso8601') }}
|
||||||
|
Requires: {{ py2pkg('jsonschema') }}
|
||||||
|
Requires: {{ py2pkg('keystoneauth1') }}
|
||||||
|
Requires: {{ py2pkg('python-keystoneclient') }}
|
||||||
|
Requires: {{ py2pkg('keystonemiddleware') }}
|
||||||
|
Requires: {{ py2pkg('lxml') }}
|
||||||
|
Requires: {{ py2pkg('python-novaclient') }}
|
||||||
|
Requires: {{ py2pkg('oauth2client') }}
|
||||||
|
Requires: {{ py2pkg('os-brick') }}
|
||||||
|
Requires: {{ py2pkg('os-win') }}
|
||||||
|
Requires: {{ py2pkg('oslo.concurrency') }}
|
||||||
|
Requires: {{ py2pkg('oslo.config') }}
|
||||||
|
Requires: {{ py2pkg('oslo.context') }}
|
||||||
|
Requires: {{ py2pkg('oslo.db') }}
|
||||||
|
Requires: {{ py2pkg('oslo.i18n') }}
|
||||||
|
Requires: {{ py2pkg('oslo.log') }}
|
||||||
|
Requires: {{ py2pkg('oslo.messaging') }}
|
||||||
|
Requires: {{ py2pkg('oslo.middleware') }}
|
||||||
|
Requires: {{ py2pkg('oslo.policy') }}
|
||||||
|
Requires: {{ py2pkg('oslo.privsep') }}
|
||||||
|
Requires: {{ py2pkg('oslo.reports') }}
|
||||||
|
Requires: {{ py2pkg('oslo.rootwrap') }}
|
||||||
|
Requires: {{ py2pkg('oslo.serialization') }}
|
||||||
|
Requires: {{ py2pkg('oslo.service') }}
|
||||||
|
Requires: {{ py2pkg('oslo.utils') }}
|
||||||
|
Requires: {{ py2pkg('oslo.versionedobjects') }}
|
||||||
|
Requires: {{ py2pkg('oslo.vmware') }}
|
||||||
|
Requires: {{ py2pkg('osprofiler') }}
|
||||||
|
Requires: {{ py2pkg('paramiko') }}
|
||||||
|
Requires: {{ py2pkg('psutil') }}
|
||||||
|
Requires: {{ py2pkg('pyparsing') }}
|
||||||
|
Requires: {{ py2pkg('pytz') }}
|
||||||
|
Requires: {{ py2pkg('requests') }}
|
||||||
|
Requires: {{ py2pkg('retrying') }}
|
||||||
|
Requires: {{ py2pkg('rtslib-fb') }}
|
||||||
|
Requires: {{ py2pkg('simplejson') }}
|
||||||
|
Requires: {{ py2pkg('six') }}
|
||||||
|
Requires: {{ py2pkg('sqlalchemy-migrate') }}
|
||||||
|
Requires: {{ py2pkg('stevedore') }}
|
||||||
|
Requires: {{ py2pkg('suds-jurko') }}
|
||||||
|
Requires: {{ py2pkg('python-swiftclient') }}
|
||||||
|
Requires: {{ py2pkg('taskflow') }}
|
||||||
|
Requires: {{ py2pkg('tooz') }}
|
||||||
|
Requires: sudo
|
||||||
|
|
||||||
|
%description -n python-{{ pypi_name }}
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the Cinder Python library.
|
||||||
|
|
||||||
|
%if 0%{?with_doc}
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for OpenStack Volume Service
|
||||||
|
Group: Documentation
|
||||||
|
BuildRequires: {{ py2pkg('Sphinx') }}
|
||||||
|
BuildRequires: {{ py2pkg('openstackdocstheme') }}
|
||||||
|
BuildRequires: {{ py2pkg('sphinxcontrib-apidoc') }}
|
||||||
|
|
||||||
|
%description doc
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the documentation.
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%package api
|
||||||
|
Summary: OpenStack Volume service (Cinder) - API
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Requires: python-{{ pypi_name }} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
%description api
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the %{name} API server.
|
||||||
|
|
||||||
|
%package scheduler
|
||||||
|
Summary: OpenStack Volume service (Cinder) - Scheduler
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
%description scheduler
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the %{name} scheduler server.
|
||||||
|
|
||||||
|
%package volume
|
||||||
|
Summary: OpenStack Volume service (Cinder) - Vlume
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
%description volume
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the %{name} volume server.
|
||||||
|
|
||||||
|
%package backup
|
||||||
|
Summary: OpenStack Volume service (Cinder) - Backup
|
||||||
|
Group: Development/Languages/Python
|
||||||
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
|
%description backup
|
||||||
|
OpenStack Volume (codename Cinder) provides services to manage and
|
||||||
|
access block storage volumes for use by Virtual Machine instances.
|
||||||
|
|
||||||
|
This package contains the %{name} backup server.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -n {{ pypi_name }}-{{ upstream_version }}
|
||||||
|
%py_req_cleanup
|
||||||
|
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
|
||||||
|
|
||||||
|
# We do not want to depend on hacking for unit tests
|
||||||
|
rm -f cinder/tests/unit/test_hacking.py
|
||||||
|
|
||||||
|
%build
|
||||||
|
%{py2_build}
|
||||||
|
# build documentation
|
||||||
|
%if 0%{?with_doc}
|
||||||
|
export PYTHONPATH="$( pwd ):$PYTHONPATH"
|
||||||
|
PBR_VERSION={{ upstream_version }} sphinx-build -b html doc/source doc/build/html
|
||||||
|
rm -rf doc/build/html/.{doctrees,buildinfo}
|
||||||
|
%endif
|
||||||
|
# generate the sample config files
|
||||||
|
PYTHONPATH=. oslo-config-generator --config-file tools/config/cinder-config-generator.conf
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%{py2_install}
|
||||||
|
|
||||||
|
|
||||||
|
# Setup directories
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{service}
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{service}/tmp
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/log/%{service}
|
||||||
|
|
||||||
|
# Install config files
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}
|
||||||
|
install -d -m 755 %{buildroot}%{_sysconfdir}/%{service}/volumes
|
||||||
|
install -p -D -m 640 etc/%{service}/rootwrap.conf %{buildroot}%{_sysconfdir}/%{service}/rootwrap.conf
|
||||||
|
install -p -D -m 640 etc/%{service}/api-paste.ini %{buildroot}%{_sysconfdir}/%{service}/api-paste.ini
|
||||||
|
install -p -D -m 640 etc/%{service}/%{service}.conf.sample %{buildroot}%{_sysconfdir}/%{service}/%{service}.conf
|
||||||
|
|
||||||
|
# Install initscripts for services
|
||||||
|
install -p -D -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/openstack-%{service}-api.service
|
||||||
|
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/openstack-%{service}-scheduler.service
|
||||||
|
install -p -D -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/openstack-%{service}-volume.service
|
||||||
|
install -p -D -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/openstack-%{service}-backup.service
|
||||||
|
|
||||||
|
# Install sudoers
|
||||||
|
install -p -D -m 440 %{SOURCE6} %{buildroot}%{_sysconfdir}/sudoers.d/%{service}
|
||||||
|
|
||||||
|
# Install logrotate
|
||||||
|
install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service}
|
||||||
|
|
||||||
|
# Install pid directory
|
||||||
|
install -d -m 755 %{buildroot}%{_localstatedir}/run/%{service}
|
||||||
|
|
||||||
|
# Install rootwrap files in /usr/share/cinder/rootwrap
|
||||||
|
mkdir -p %{buildroot}%{_datarootdir}/%{service}/rootwrap/
|
||||||
|
install -p -D -m 644 etc/%{service}/rootwrap.d/* %{buildroot}%{_datarootdir}/%{service}/rootwrap/
|
||||||
|
|
||||||
|
# Symlinks to rootwrap config files
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/%{service}/rootwrap.d
|
||||||
|
for filter in %{_sysconfdir}/rootwrap.d/os-brick.filters; do
|
||||||
|
ln -s $filter %{buildroot}%{_sysconfdir}/%{service}/rootwrap.d/
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove duplicate config files under /usr/etc/
|
||||||
|
rm -rf %{buildroot}%{_prefix}/%{_sysconfdir}
|
||||||
|
|
||||||
|
|
||||||
|
%pre
|
||||||
|
%openstack_pre_user_group_create cinder cinder /sbin/nologin
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
%check
|
||||||
|
# OS_TEST_PATH=./cinder/tests/unit PYTHONPATH=. ostestr
|
||||||
|
|
||||||
|
|
||||||
|
%post api
|
||||||
|
%systemd_post %{name}-api.service
|
||||||
|
|
||||||
|
%preun api
|
||||||
|
%systemd_preun %{name}-api.service
|
||||||
|
|
||||||
|
%postun api
|
||||||
|
%systemd_postun_with_restart %{name}-api.service
|
||||||
|
|
||||||
|
%post scheduler
|
||||||
|
%systemd_post %{name}-scheduler.service
|
||||||
|
|
||||||
|
%preun scheduler
|
||||||
|
%systemd_preun %{name}-scheduler.service
|
||||||
|
|
||||||
|
%postun scheduler
|
||||||
|
%systemd_postun_with_restart %{name}-scheduler.service
|
||||||
|
|
||||||
|
%post volume
|
||||||
|
%systemd_post %{name}-volume.service
|
||||||
|
|
||||||
|
%preun volume
|
||||||
|
%systemd_preun %{name}-volume.service
|
||||||
|
|
||||||
|
%postun volume
|
||||||
|
%systemd_postun_with_restart %{name}-volume.service
|
||||||
|
|
||||||
|
%post backup
|
||||||
|
%systemd_post %{name}-backup.service
|
||||||
|
|
||||||
|
%preun backup
|
||||||
|
%systemd_preun %{name}-backup.service
|
||||||
|
|
||||||
|
%postun backup
|
||||||
|
%systemd_postun_with_restart %{name}-backup.service
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%license LICENSE
|
||||||
|
%dir %attr(0750, root, cinder) %{_sysconfdir}/{{ pypi_name }}
|
||||||
|
%config(noreplace) %attr(-, root, %{service}) %{_sysconfdir}/%{service}/%{service}.conf
|
||||||
|
%config(noreplace) %attr(-, root, %{service}) %{_sysconfdir}/%{service}/api-paste.ini
|
||||||
|
%config(noreplace) %attr(-, root, %{service}) %{_sysconfdir}/%{service}/rootwrap.conf
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-%{service}
|
||||||
|
%config(noreplace) %{_sysconfdir}/sudoers.d/%{service}
|
||||||
|
%{_sysconfdir}/%{service}/rootwrap.d/
|
||||||
|
%dir %attr(0750, %{service}, root) %{_localstatedir}/log/%{service}
|
||||||
|
%dir %attr(0755, %{service}, root) %{_localstatedir}/run/%{service}
|
||||||
|
%dir %attr(0755, %{service}, root) %{_sysconfdir}/%{service}/volumes
|
||||||
|
%{_datarootdir}/%{service}
|
||||||
|
%defattr(-, %{service}, %{service}, -)
|
||||||
|
%dir %{_localstatedir}/lib/%{service}
|
||||||
|
%dir %{_localstatedir}/lib//%{service}/tmp
|
||||||
|
%{_bindir}/{{ pypi_name }}-manage
|
||||||
|
%{_bindir}/{{ pypi_name }}-rootwrap
|
||||||
|
%{_bindir}/{{ pypi_name }}-rtstool
|
||||||
|
%{_bindir}/{{ pypi_name }}-volume-usage-audit
|
||||||
|
|
||||||
|
%files -n python-cinder
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%license LICENSE
|
||||||
|
%{python_sitelib}/{{ pypi_name }}*
|
||||||
|
|
||||||
|
%if 0%{?with_doc}
|
||||||
|
%files doc
|
||||||
|
%license LICENSE
|
||||||
|
%doc doc/build/html
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%files api
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_unitdir}/openstack-cinder-api.service
|
||||||
|
%{_bindir}/{{ pypi_name }}-api
|
||||||
|
%{_bindir}/{{ pypi_name }}-wsgi
|
||||||
|
|
||||||
|
%files scheduler
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_unitdir}/openstack-cinder-scheduler.service
|
||||||
|
%{_bindir}/{{ pypi_name }}-scheduler
|
||||||
|
|
||||||
|
%files volume
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_unitdir}/openstack-cinder-volume.service
|
||||||
|
%{_bindir}/{{ pypi_name }}-volume
|
||||||
|
|
||||||
|
%files backup
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{_unitdir}/openstack-cinder-backup.service
|
||||||
|
%{_bindir}/{{ pypi_name }}-backup
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
15
openstack/cinder/openstack-cinder-api.service
Normal file
15
openstack/cinder/openstack-cinder-api.service
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenStack Cinder API Server
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
User=cinder
|
||||||
|
Group=cinder
|
||||||
|
ExecStart=/usr/bin/cinder-api
|
||||||
|
Restart=on-failure
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
ExecStartPre=-/usr/bin/cinder-manage db sync
|
13
openstack/cinder/openstack-cinder-backup.service
Normal file
13
openstack/cinder/openstack-cinder-backup.service
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenStack Cinder Backup Server
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
User=cinder
|
||||||
|
ExecStart=/usr/bin/cinder-backup
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
12
openstack/cinder/openstack-cinder-scheduler.service
Normal file
12
openstack/cinder/openstack-cinder-scheduler.service
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenStack Cinder Scheduler Server
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
User=cinder
|
||||||
|
ExecStart=/usr/bin/cinder-scheduler
|
||||||
|
Restart=on-failure
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
17
openstack/cinder/openstack-cinder-volume.service
Normal file
17
openstack/cinder/openstack-cinder-volume.service
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=OpenStack Cinder Volume Server
|
||||||
|
After=syslog.target network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
LimitNOFILE=131072
|
||||||
|
LimitNPROC=131072
|
||||||
|
TasksMax=8192
|
||||||
|
Type=notify
|
||||||
|
User=cinder
|
||||||
|
ExecStart=/usr/bin/cinder-volume
|
||||||
|
Restart=on-failure
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
11
openstack/cinder/openstack-cinder.logrotate
Normal file
11
openstack/cinder/openstack-cinder.logrotate
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/var/log/cinder/*.log {
|
||||||
|
weekly
|
||||||
|
dateext
|
||||||
|
rotate 10
|
||||||
|
size 1M
|
||||||
|
missingok
|
||||||
|
compress
|
||||||
|
notifempty
|
||||||
|
su cinder cinder
|
||||||
|
minsize 100k
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user