Gentoo Archives: gentoo-commits

From: Alessandro Barbieri <lssndrbarbieri@×××××.com>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:dev commit in: sys-cluster/cinder/
Date: Mon, 04 Apr 2022 19:32:22
Message-Id: 1649100723.93bcb1b70a9742874944b64e297f0282b67bd955.Alessandro-Barbieri@gentoo
1 commit: 93bcb1b70a9742874944b64e297f0282b67bd955
2 Author: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
3 AuthorDate: Mon Apr 4 19:20:34 2022 +0000
4 Commit: Alessandro Barbieri <lssndrbarbieri <AT> gmail <DOT> com>
5 CommitDate: Mon Apr 4 19:32:03 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=93bcb1b7
7
8 sys-cluster/cinder: add 20.0.0
9
10 Signed-off-by: Alessandro Barbieri <lssndrbarbieri <AT> gmail.com>
11
12 sys-cluster/cinder/Manifest | 1 +
13 sys-cluster/cinder/cinder-20.0.0.ebuild | 207 ++++++++++++++++++++++++++++++++
14 2 files changed, 208 insertions(+)
15
16 diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest
17 index 8b474a5d9..e9fdf3984 100644
18 --- a/sys-cluster/cinder/Manifest
19 +++ b/sys-cluster/cinder/Manifest
20 @@ -1 +1,2 @@
21 DIST cinder-20.0.0.0rc1.tar.gz 5948385 BLAKE2B f8f2e2b4b88f4c81db61bc209b1408bf8c49db54b8b89095828d5baf3a1e6789889093ecb29b9494ec580c5878cd2cffcd5930992794d970a7582f190db5c134 SHA512 90e6845d96e896ddf40bd9992e80864a8441a74b265bdf559ada75f0a95af9f3041ee75d16312a9ae3871e35a23719248c7ed879b1511688afb3bf8b09239ab1
22 +DIST cinder-20.0.0.tar.gz 5950094 BLAKE2B 6370f2ea4f1bfecf3602d313b46436a100b5957754750c5ed5f282ec7bdb1797fa4df7764d7eb946d01a47345fc4611bcc8ed565f076556aedf094eec994f89b SHA512 1d7d8cc26b88b1243c7c03c607591815120120257f06355d75f2aab5cc7566470d0f37f2bfc7bc1f51a36a38c8b7016fc5996de9b42d36ebe7f393585a877bb2
23
24 diff --git a/sys-cluster/cinder/cinder-20.0.0.ebuild b/sys-cluster/cinder/cinder-20.0.0.ebuild
25 new file mode 100644
26 index 000000000..8ba86ad84
27 --- /dev/null
28 +++ b/sys-cluster/cinder/cinder-20.0.0.ebuild
29 @@ -0,0 +1,207 @@
30 +# Copyright 1999-2022 Gentoo Authors
31 +# Distributed under the terms of the GNU General Public License v2
32 +
33 +EAPI=8
34 +
35 +MYP="${P/_rc/rc}"
36 +PYTHON_COMPAT=( python3_{8..9} )
37 +
38 +inherit distutils-r1 linux-info systemd tmpfiles
39 +
40 +DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
41 +HOMEPAGE="
42 + https://launchpad.net/cinder
43 + https://opendev.org/openstack/cinder/
44 + https://pypi.org/project/cinder/
45 + https://github.com/openstack/cinder
46 +"
47 +SRC_URI="https://tarballs.openstack.org/${PN}/${MYP}.tar.gz"
48 +KEYWORDS="~amd64"
49 +
50 +LICENSE="Apache-2.0 GPL-2"
51 +SLOT="0"
52 +IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
53 +
54 +# qemu is needed for image conversion
55 +RDEPEND="
56 + >=dev-python/pbr-5.8.0[${PYTHON_USEDEP}]
57 + >=dev-python/decorator-4.4.2[${PYTHON_USEDEP}]
58 + >=dev-python/eventlet-0.30.1[${PYTHON_USEDEP}]
59 + >=dev-python/greenlet-0.4.16[${PYTHON_USEDEP}]
60 + >=dev-python/httplib2-0.18.1[${PYTHON_USEDEP}]
61 + >=dev-python/iso8601-0.1.12[${PYTHON_USEDEP}]
62 + >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
63 + >=dev-python/keystoneauth-4.2.1[${PYTHON_USEDEP}]
64 + >=dev-python/keystonemiddleware-9.1.0[${PYTHON_USEDEP}]
65 + >=dev-python/lxml-4.5.2[${PYTHON_USEDEP}]
66 + >=dev-python/oauth2client-4.1.3[${PYTHON_USEDEP}]
67 + >=dev-python/oslo-config-8.3.2[${PYTHON_USEDEP}]
68 + >=dev-python/oslo-concurrency-4.5.0[${PYTHON_USEDEP}]
69 + >=dev-python/oslo-context-3.4.0[${PYTHON_USEDEP}]
70 + >=dev-python/oslo-db-11.0.0[${PYTHON_USEDEP}]
71 + >=dev-python/oslo-log-4.6.1[${PYTHON_USEDEP}]
72 + >=dev-python/oslo-messaging-12.5.0[${PYTHON_USEDEP}]
73 + >=dev-python/oslo-middleware-4.1.1[${PYTHON_USEDEP}]
74 + >=dev-python/oslo-policy-3.8.1[${PYTHON_USEDEP}]
75 + >=dev-python/oslo-privsep-2.6.2[${PYTHON_USEDEP}]
76 + >=dev-python/oslo-reports-2.2.0[${PYTHON_USEDEP}]
77 + >=dev-python/oslo-rootwrap-6.2.0[${PYTHON_USEDEP}]
78 + >=dev-python/oslo-serialization-4.2.0[${PYTHON_USEDEP}]
79 + >=dev-python/oslo-service-2.8.0[${PYTHON_USEDEP}]
80 + >=dev-python/oslo-upgradecheck-1.1.1[${PYTHON_USEDEP}]
81 + >=dev-python/oslo-utils-4.12.1[${PYTHON_USEDEP}]
82 + >=dev-python/oslo-versionedobjects-2.3.0[${PYTHON_USEDEP}]
83 + >=dev-python/osprofiler-3.4.0[${PYTHON_USEDEP}]
84 + >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
85 + >=dev-python/paramiko-2.7.2[${PYTHON_USEDEP}]
86 + >=dev-python/paste-3.4.3[${PYTHON_USEDEP}]
87 + >=dev-python/pastedeploy-2.1.0[${PYTHON_USEDEP}]
88 + >=dev-python/psutil-5.7.2[${PYTHON_USEDEP}]
89 + >=dev-python/pyparsing-2.4.7[${PYTHON_USEDEP}]
90 + >=dev-python/python-barbicanclient-5.0.1[${PYTHON_USEDEP}]
91 + >=dev-python/python-glanceclient-3.2.2[${PYTHON_USEDEP}]
92 + >=dev-python/python-keystoneclient-4.1.1[${PYTHON_USEDEP}]
93 + >=dev-python/python-novaclient-17.2.1[${PYTHON_USEDEP}]
94 + >=dev-python/python-swiftclient-3.10.1[${PYTHON_USEDEP}]
95 + >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
96 + >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
97 + >=dev-python/routes-2.4.1[${PYTHON_USEDEP}]
98 + >=dev-python/taskflow-4.5.0[${PYTHON_USEDEP}]
99 + >=dev-python/rtslib-fb-2.1.74[${PYTHON_USEDEP}]
100 + >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
101 + >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
102 + >=dev-python/stevedore-3.2.2[${PYTHON_USEDEP}]
103 + >=dev-python/tabulate-0.8.7[${PYTHON_USEDEP}]
104 + >=dev-python/tenacity-6.3.1[${PYTHON_USEDEP}]
105 + >=dev-python/webob-1.8.6[${PYTHON_USEDEP}]
106 + >=dev-python/oslo-i18n-5.1.0[${PYTHON_USEDEP}]
107 + >=dev-python/oslo-vmware-3.10.0[${PYTHON_USEDEP}]
108 + >=dev-python/os-brick-5.2.0[${PYTHON_USEDEP}]
109 + >=dev-python/os-win-5.5.0[${PYTHON_USEDEP}]
110 + >=dev-python/tooz-2.7.1[${PYTHON_USEDEP}]
111 + >=dev-python/google-api-python-client-1.11.0[${PYTHON_USEDEP}]
112 + >=dev-python/castellan-3.7.0[${PYTHON_USEDEP}]
113 + >=dev-python/cryptography-3.1[${PYTHON_USEDEP}]
114 + >=dev-python/cursive-0.2.2[${PYTHON_USEDEP}]
115 + >=dev-python/zstd-1.4.5.1[${PYTHON_USEDEP}]
116 + >=dev-python/boto3-1.16.51[${PYTHON_USEDEP}]
117 +
118 + iscsi? (
119 + tgt? ( sys-block/tgt )
120 + sys-block/open-iscsi
121 + )
122 + lvm? ( sys-fs/lvm2 )
123 + memcached? ( net-misc/memcached )
124 + mysql? (
125 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
126 + >=dev-python/sqlalchemy-1.4.23[${PYTHON_USEDEP}]
127 + )
128 + sqlite? (
129 + >=dev-python/sqlalchemy-1.4.23[sqlite,${PYTHON_USEDEP}]
130 + )
131 + postgres? (
132 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
133 + >=dev-python/sqlalchemy-1.4.23[${PYTHON_USEDEP}]
134 + )
135 +
136 + acct-user/cinder
137 + acct-group/cinder
138 + app-emulation/qemu
139 + sys-fs/sysfsutils
140 +"
141 +DEPEND="
142 + ${RDEPEND}
143 + app-admin/sudo
144 +"
145 +BDEPEND="
146 + test? (
147 + >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
148 + >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
149 + >=dev-python/oslotest-4.5.0[${PYTHON_USEDEP}]
150 + >=dev-python/testtools-2.4.0[${PYTHON_USEDEP}]
151 + )
152 +"
153 +
154 +RESTRICT="!test? ( test )"
155 +REQUIRED_USE="
156 + || ( mysql postgres sqlite )
157 + iscsi? ( tgt )
158 + infiniband? ( rdma )
159 + test? ( mysql postgres )
160 +"
161 +
162 +pkg_pretend() {
163 + linux-info_pkg_setup
164 + CONFIG_CHECK_MODULES=""
165 + if use tcp; then
166 + CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
167 + fi
168 + if use rdma; then
169 + CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
170 + fi
171 + if use infiniband; then
172 + CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
173 + fi
174 + if linux_config_exists; then
175 + for module in ${CONFIG_CHECK_MODULES}; do
176 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
177 + done
178 + fi
179 +}
180 +
181 +python_prepare_all() {
182 + sed -i '/^hacking/d' test-requirements.txt || die
183 + # only used for docs
184 + sed -i '/^sphinx-feature-classification/d' requirements.txt || die
185 + distutils-r1_python_prepare_all
186 +}
187 +
188 +python_compile_all() {
189 + oslo-config-generator --config-file=tools/config/cinder-config-generator.conf || die
190 + oslopolicy-sample-generator --config-file=tools/config/cinder-policy-generator.conf || die
191 +}
192 +
193 +python_install_all() {
194 + distutils-r1_python_install_all
195 + keepdir /etc/cinder
196 + dodir /etc/cinder/rootwrap.d
197 +
198 + for svc in api backup scheduler volume; do
199 + newinitd "${FILESDIR}/cinder.initd" "cinder-${svc}"
200 + systemd_dounit "${FILESDIR}/openstack-cinder-${svc}.service"
201 + done
202 +
203 + insinto /etc/cinder
204 + insopts -m 0640 -o cinder -g cinder
205 + doins "etc/cinder/api-httpd.conf"
206 + doins "etc/cinder/logging_sample.conf"
207 + doins "etc/cinder/rootwrap.conf"
208 + doins "etc/cinder/api-paste.ini"
209 + doins "etc/cinder/resource_filters.json"
210 + doins "etc/cinder/cinder.conf.sample"
211 + doins "etc/cinder/policy.yaml.sample"
212 + insinto /etc/cinder/rootwrap.d
213 + doins "etc/cinder/rootwrap.d/volume.filters"
214 +
215 + dodir /var/log/cinder
216 + fowners cinder:cinder /var/log/cinder
217 +
218 + #add sudoers definitions for user cinder
219 + insinto /etc/sudoers.d/
220 + insopts -m 0440 -o root -g root
221 + newins "${FILESDIR}/cinder.sudoersd" cinder
222 +
223 + newtmpfiles "${FILESDIR}/cinder.tmpfile" cinder.conf
224 +
225 + insinto /etc/logrotate.d
226 + newins "${FILESDIR}/cinder.logrotate" cinder.conf
227 +
228 + rm -r "${ED}/usr/etc"
229 +}
230 +
231 +pkg_postinst() {
232 + if use iscsi ; then
233 + elog "Cinder needs tgtd to be installed and running to work with iscsi"
234 + elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
235 + fi
236 +}