Gentoo Archives: gentoo-commits

From: Matthew Thode <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/nova/
Date: Wed, 14 Aug 2019 22:14:21
Message-Id: 1565820853.2e8a3061cd907d1738d06c9e9adcfdc04ee46961.prometheanfire@gentoo
1 commit: 2e8a3061cd907d1738d06c9e9adcfdc04ee46961
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 14 22:13:54 2019 +0000
4 Commit: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 14 22:14:13 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2e8a3061
7
8 sys-cluster/nova: fast stable of 18.2.2 and 19.0.2 for CVE-2019-14433
9
10 Fixes: CVE-2019-14433
11 Package-Manager: Portage-2.3.69, Repoman-2.3.17
12 Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>
13
14 sys-cluster/nova/Manifest | 4 -
15 sys-cluster/nova/nova-18.2.1.ebuild | 253 -----------------------------------
16 sys-cluster/nova/nova-18.2.2.ebuild | 2 +-
17 sys-cluster/nova/nova-19.0.1.ebuild | 255 ------------------------------------
18 sys-cluster/nova/nova-19.0.2.ebuild | 2 +-
19 5 files changed, 2 insertions(+), 514 deletions(-)
20
21 diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
22 index efbcbaa7736..efdc167bbd0 100644
23 --- a/sys-cluster/nova/Manifest
24 +++ b/sys-cluster/nova/Manifest
25 @@ -1,10 +1,6 @@
26 -DIST nova-18.2.1.tar.gz 11424634 BLAKE2B 8c68f8e5207df828f4c935b000021f0cea69e049165659c0730f1bf263523b30f9d1c0a9cc21fac5bd07334827de2cc91d984c551b74552136b20f76322aee94 SHA512 92e2ddf4441fa50aaec8300b2478cb67419e6c94bd6797fdc1856a5b9418e7e343bd62fbc4af842637a2bbd249aefd040d3003e83e45a69141ea875cca70d360
27 DIST nova-18.2.2.tar.gz 11441554 BLAKE2B 7d92017bbf6370bf99358e5992aaf7f1a667d74d3893920910ae004a4e334fdb416fe8eba3ab3762b8811df495a641b6c9a604e6b690b7aa2431b71dc3ea7703 SHA512 7dbd46d44d66da041ad47dccf856dbbb09360384f452d544681610d95d568bd940f42ef8dc7c8e5ee95fd7bc3edefe0cff665d55a7d708d3315633367ea0fec4
28 -DIST nova-19.0.1.tar.gz 11613042 BLAKE2B f787647bc892ddb8ef91bd1f313c5d523d83b5afcff227b515ab2f49a59bd2292d7c05725d999da416dff9b68be76b2e9598a13d84d3dbb028940eaad65b2344 SHA512 d1d1c7ae73643cc8375179d05f8ec162ecedca30411d81d8c2d5564fca115beb174684ca1162c1efab38325adad14c6fd48c6a67cc9ca59b2fd6b30c4cfb16c2
29 DIST nova-19.0.2.tar.gz 11629406 BLAKE2B 026c123fc8ac98b6852a5fc8dfdeac7b46c913064e23723c4d322350d121dc2fb8258e24336eadab75f3da31cbac33e57ec2bb5d5e7bac0107dafb05420f21fb SHA512 a9bbdda3433a0f503029cc00a05d002088f3a8ac974c2775bfd77b0145ad2d4b76c07cacda3f21b40e5b2f1658718004b3bc5c276d2c8f9a10a52c10b8a7f9e3
30 -DIST nova.conf.sample-18.2.1 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
31 DIST nova.conf.sample-18.2.2 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
32 -DIST nova.conf.sample-19.0.1 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
33 DIST nova.conf.sample-19.0.2 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
34 DIST nova.conf.sample-2018.2.9999 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
35 DIST nova.conf.sample-2019.1.9999 387769 BLAKE2B 2b4668e78765469c5ee518a8c340a09407a8f7e9bf3f87a6919b820db0ce2f38499827dbea58994490c8db3a648eef2c95521f7c62b3ae37606bb249492b4b12 SHA512 4facb96c111945f472654788e1ac3d52808b0c45e36c87b873cd1355d36b71922fa94b11d66ec5a8b250739072ecdec394dd4f852a8eb57dbd900c61c71ba770
36
37 diff --git a/sys-cluster/nova/nova-18.2.1.ebuild b/sys-cluster/nova/nova-18.2.1.ebuild
38 deleted file mode 100644
39 index 12360932350..00000000000
40 --- a/sys-cluster/nova/nova-18.2.1.ebuild
41 +++ /dev/null
42 @@ -1,253 +0,0 @@
43 -# Copyright 1999-2019 Gentoo Authors
44 -# Distributed under the terms of the GNU General Public License v2
45 -
46 -EAPI=6
47 -PYTHON_COMPAT=( python2_7 python3_{5,6} )
48 -
49 -inherit distutils-r1 eutils linux-info multilib user
50 -
51 -DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
52 -HOMEPAGE="https://launchpad.net/nova"
53 -
54 -if [[ ${PV} == *9999 ]];then
55 - inherit git-r3
56 - SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/rocky/nova.conf.sample -> nova.conf.sample-${PV}"
57 - EGIT_REPO_URI="https://github.com/openstack/nova.git"
58 - EGIT_BRANCH="stable/rocky"
59 -else
60 - SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/rocky/nova.conf.sample -> nova.conf.sample-${PV}
61 - https://tarballs.openstack.org/${PN}/${P}.tar.gz"
62 - KEYWORDS="amd64 ~arm64 x86"
63 -fi
64 -
65 -LICENSE="Apache-2.0"
66 -SLOT="0"
67 -IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
68 -REQUIRED_USE="
69 - !compute-only? ( || ( mysql postgres sqlite ) )
70 - compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
71 -
72 -CDEPEND="
73 - >=dev-python/setuptools-21.0.0[${PYTHON_USEDEP}]
74 - !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
75 - !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
76 - !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
77 - !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
78 - !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
79 - !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
80 - !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
81 - !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
82 - !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
83 - !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
84 - !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
85 - !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
86 - >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
87 - !~dev-python/pbr-2.1.0"
88 -DEPEND="
89 - ${CDEPEND}
90 - app-admin/sudo"
91 -
92 -RDEPEND="
93 - ${CDEPEND}
94 - compute-only? (
95 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
96 - !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
97 - !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
98 - !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
99 - !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
100 - )
101 - sqlite? (
102 - >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
103 - !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
104 - !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
105 - !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
106 - !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
107 - )
108 - mysql? (
109 - >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
110 - !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
111 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
112 - !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
113 - !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
114 - !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
115 - !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
116 - )
117 - postgres? (
118 - >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
119 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
120 - !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
121 - !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
122 - !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
123 - !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
124 - )
125 - >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
126 - >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
127 - !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
128 - >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
129 - >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
130 - >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
131 - !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
132 - >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
133 - >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
134 - >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
135 - >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
136 - !~dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
137 - >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
138 - >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
139 - >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
140 - <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
141 - >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
142 - >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
143 - >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
144 - >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
145 - >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
146 - !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
147 - virtual/python-enum34[${PYTHON_USEDEP}]
148 - >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
149 - >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
150 - <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
151 - >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
152 - >=dev-python/keystoneauth-3.9.0[${PYTHON_USEDEP}]
153 - >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
154 - >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
155 - >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
156 - >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
157 - >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
158 - >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
159 - >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
160 - >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
161 - >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
162 - >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
163 - >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
164 - >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
165 - >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
166 - !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
167 - >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
168 - >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
169 - >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
170 - >=dev-python/oslo-messaging-6.3.0[${PYTHON_USEDEP}]
171 - >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
172 - >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
173 - >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
174 - >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
175 - !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
176 - >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
177 - >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
178 - >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
179 - >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
180 - >=dev-python/os-brick-2.5.0[${PYTHON_USEDEP}]
181 - >=dev-python/os-traits-0.4.0[${PYTHON_USEDEP}]
182 - >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
183 - !~dev-python/os-vif-1.8.0[${PYTHON_USEDEP}]
184 - >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
185 - >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
186 - >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
187 - >=dev-python/os-xenapi-0.3.3[${PYTHON_USEDEP}]
188 - >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
189 - >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
190 - >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
191 - >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
192 - >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
193 - >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
194 - >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
195 - >=dev-python/zVMCloudConnector-1.1.1[${PYTHON_USEDEP}]
196 - >=dev-python/futures-3.0.0[$(python_gen_usedep 'python2_7')]
197 - dev-python/libvirt-python[${PYTHON_USEDEP}]
198 - app-emulation/libvirt[iscsi?]
199 - novncproxy? ( www-apps/novnc )
200 - sys-apps/iproute2
201 - openvswitch? ( net-misc/openvswitch )
202 - rabbitmq? ( net-misc/rabbitmq-server )
203 - memcached? (
204 - net-misc/memcached
205 - >=dev-python/python-memcached-1.58
206 - )
207 - sys-fs/sysfsutils
208 - sys-fs/multipath-tools
209 - net-misc/bridge-utils
210 - compute? (
211 - app-cdr/cdrtools
212 - sys-fs/dosfstools
213 - app-emulation/qemu
214 - )
215 - iscsi? (
216 - sys-fs/lsscsi
217 - >=sys-block/open-iscsi-2.0.873-r1
218 - )"
219 -
220 -#PATCHES=(
221 -#)
222 -
223 -pkg_setup() {
224 - linux-info_pkg_setup
225 - CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
226 - IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
227 - NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
228 - ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
229 - if linux_config_exists; then
230 - for module in ${CONFIG_CHECK_MODULES}; do
231 - linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
232 - done
233 - fi
234 - enewgroup nova
235 - enewuser nova -1 -1 /var/lib/nova nova
236 -}
237 -
238 -python_prepare_all() {
239 - sed -i '/^hacking/d' test-requirements.txt || die
240 - distutils-r1_python_prepare_all
241 -}
242 -
243 -python_install_all() {
244 - distutils-r1_python_install_all
245 -
246 - if use !compute-only; then
247 - for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
248 - newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
249 - done
250 - fi
251 - use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
252 - use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
253 -
254 - diropts -m 0750 -o nova -g qemu
255 - dodir /var/log/nova /var/lib/nova/instances
256 - diropts -m 0750 -o nova -g nova
257 -
258 - insinto /etc/nova
259 - insopts -m 0640 -o nova -g nova
260 - newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
261 - doins "${FILESDIR}/nova-compute.conf"
262 - doins "${S}/etc/nova/"*
263 - # rootwrap filters
264 - insopts -m 0644
265 - insinto /etc/nova/rootwrap.d
266 - doins "etc/nova/rootwrap.d/api-metadata.filters"
267 - doins "etc/nova/rootwrap.d/compute.filters"
268 - doins "etc/nova/rootwrap.d/network.filters"
269 -
270 - # add sudoers definitions for user nova
271 - insinto /etc/sudoers.d/
272 - insopts -m 0600 -o root -g root
273 - doins "${FILESDIR}/nova-sudoers"
274 -
275 - if use iscsi ; then
276 - # Install udev rules for handle iscsi disk with right links under /dev
277 - udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
278 -
279 - insinto /etc/nova/
280 - doins "${FILESDIR}/scsi-openscsi-link.sh"
281 - fi
282 -}
283 -
284 -python_install() {
285 - distutils-r1_python_install
286 - # copy migration conf file (not coppied on install via setup.py script)
287 - insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
288 - doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
289 -}
290 -
291 -pkg_postinst() {
292 - if use iscsi ; then
293 - elog "iscsid needs to be running if you want cinder to connect"
294 - fi
295 -}
296
297 diff --git a/sys-cluster/nova/nova-18.2.2.ebuild b/sys-cluster/nova/nova-18.2.2.ebuild
298 index 3b424bce2c5..12360932350 100644
299 --- a/sys-cluster/nova/nova-18.2.2.ebuild
300 +++ b/sys-cluster/nova/nova-18.2.2.ebuild
301 @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]];then
302 else
303 SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/rocky/nova.conf.sample -> nova.conf.sample-${PV}
304 https://tarballs.openstack.org/${PN}/${P}.tar.gz"
305 - KEYWORDS="~amd64 ~arm64 ~x86"
306 + KEYWORDS="amd64 ~arm64 x86"
307 fi
308
309 LICENSE="Apache-2.0"
310
311 diff --git a/sys-cluster/nova/nova-19.0.1.ebuild b/sys-cluster/nova/nova-19.0.1.ebuild
312 deleted file mode 100644
313 index ffc81bcc857..00000000000
314 --- a/sys-cluster/nova/nova-19.0.1.ebuild
315 +++ /dev/null
316 @@ -1,255 +0,0 @@
317 -# Copyright 1999-2019 Gentoo Authors
318 -# Distributed under the terms of the GNU General Public License v2
319 -
320 -EAPI=7
321 -PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
322 -
323 -inherit distutils-r1 eutils linux-info multilib user
324 -
325 -DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
326 -HOMEPAGE="https://launchpad.net/nova"
327 -
328 -if [[ ${PV} == *9999 ]];then
329 - inherit git-r3
330 - SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/stein/nova.conf.sample -> nova.conf.sample-${PV}"
331 - EGIT_REPO_URI="https://github.com/openstack/nova.git"
332 - EGIT_BRANCH="stable/stein"
333 -else
334 - SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/stein/nova.conf.sample -> nova.conf.sample-${PV}
335 - https://tarballs.openstack.org/${PN}/${P}.tar.gz"
336 - KEYWORDS="amd64 ~arm64 x86"
337 -fi
338 -
339 -LICENSE="Apache-2.0"
340 -SLOT="0"
341 -IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
342 -REQUIRED_USE="
343 - !compute-only? ( || ( mysql postgres sqlite ) )
344 - compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
345 -
346 -CDEPEND="
347 - >=dev-python/setuptools-21.0.0[${PYTHON_USEDEP}]
348 - !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
349 - !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
350 - !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
351 - !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
352 - !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
353 - !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
354 - !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
355 - !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
356 - !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
357 - !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
358 - !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
359 - !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
360 - >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
361 - !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
362 -DEPEND="
363 - ${CDEPEND}
364 - app-admin/sudo"
365 -
366 -RDEPEND="
367 - ${CDEPEND}
368 - compute-only? (
369 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
370 - !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
371 - !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
372 - !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
373 - !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
374 - )
375 - sqlite? (
376 - >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
377 - !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
378 - !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
379 - !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
380 - !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
381 - )
382 - mysql? (
383 - >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
384 - !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
385 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
386 - !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
387 - !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
388 - !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
389 - !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
390 - )
391 - postgres? (
392 - >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
393 - >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
394 - !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
395 - !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
396 - !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
397 - !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
398 - )
399 - >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
400 - >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
401 - !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
402 - >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
403 - >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
404 - >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
405 - !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
406 - >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
407 - >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
408 - >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
409 - >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
410 - !~dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
411 - >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
412 - >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
413 - >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
414 - <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
415 - >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
416 - >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
417 - >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
418 - >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
419 - >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
420 - !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
421 - virtual/python-enum34[${PYTHON_USEDEP}]
422 - >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
423 - >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
424 - <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
425 - >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
426 - >=dev-python/keystoneauth-3.9.0[${PYTHON_USEDEP}]
427 - >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
428 - >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
429 - >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
430 - >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
431 - >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
432 - >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
433 - >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
434 - >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
435 - >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
436 - >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
437 - >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
438 - >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
439 - >=dev-python/oslo-serialization-1.21.0[${PYTHON_USEDEP}]
440 - >=dev-python/oslo-upgradecheck-0.1.1[${PYTHON_USEDEP}]
441 - !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
442 - >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
443 - >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
444 - >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
445 - >=dev-python/oslo-messaging-6.3.0[${PYTHON_USEDEP}]
446 - >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
447 - >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
448 - >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
449 - >=dev-python/oslo-service-1.34.0[${PYTHON_USEDEP}]
450 - >=dev-python/rfc3986-1.1.0[${PYTHON_USEDEP}]
451 - >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
452 - >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
453 - >=dev-python/oslo-versionedobjects-1.33.3[${PYTHON_USEDEP}]
454 - >=dev-python/os-brick-2.6.1[${PYTHON_USEDEP}]
455 - >=dev-python/os-resource-classes-0.1.0[${PYTHON_USEDEP}]
456 - >=dev-python/os-traits-0.8.0[${PYTHON_USEDEP}]
457 - >=dev-python/os-vif-1.14.0[${PYTHON_USEDEP}]
458 - >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
459 - >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
460 - >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
461 - >=dev-python/os-xenapi-0.3.3[${PYTHON_USEDEP}]
462 - >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
463 - >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
464 - >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
465 - >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
466 - >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
467 - >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
468 - >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
469 - >=dev-python/zVMCloudConnector-1.1.1[${PYTHON_USEDEP}]
470 - >=dev-python/futurist-1.8.0[$(python_gen_usedep 'python2_7')]
471 - dev-python/libvirt-python[${PYTHON_USEDEP}]
472 - app-emulation/libvirt[iscsi?]
473 - app-emulation/spice-html5
474 - novncproxy? ( www-apps/novnc )
475 - sys-apps/iproute2
476 - openvswitch? ( net-misc/openvswitch )
477 - rabbitmq? ( net-misc/rabbitmq-server )
478 - memcached? (
479 - net-misc/memcached
480 - >=dev-python/python-memcached-1.58
481 - )
482 - sys-fs/sysfsutils
483 - sys-fs/multipath-tools
484 - net-misc/bridge-utils
485 - compute? (
486 - app-cdr/cdrtools
487 - sys-fs/dosfstools
488 - app-emulation/qemu
489 - )
490 - iscsi? (
491 - sys-fs/lsscsi
492 - >=sys-block/open-iscsi-2.0.873-r1
493 - )"
494 -
495 -#PATCHES=(
496 -#)
497 -
498 -pkg_setup() {
499 - linux-info_pkg_setup
500 - CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
501 - IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
502 - NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
503 - ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
504 - if linux_config_exists; then
505 - for module in ${CONFIG_CHECK_MODULES}; do
506 - linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
507 - done
508 - fi
509 - enewgroup nova
510 - enewuser nova -1 -1 /var/lib/nova nova
511 -}
512 -
513 -python_prepare_all() {
514 - sed -i '/^hacking/d' test-requirements.txt || die
515 - distutils-r1_python_prepare_all
516 -}
517 -
518 -python_install_all() {
519 - distutils-r1_python_install_all
520 -
521 - if use !compute-only; then
522 - for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
523 - newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
524 - done
525 - fi
526 - use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
527 - use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
528 -
529 - diropts -m 0750 -o nova -g qemu
530 - dodir /var/log/nova /var/lib/nova/instances
531 - diropts -m 0750 -o nova -g nova
532 -
533 - insinto /etc/nova
534 - insopts -m 0640 -o nova -g nova
535 - newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
536 - doins "${FILESDIR}/nova-compute.conf"
537 - doins "${S}/etc/nova/"*
538 - # rootwrap filters
539 - insopts -m 0644
540 - insinto /etc/nova/rootwrap.d
541 - doins "etc/nova/rootwrap.d/api-metadata.filters"
542 - doins "etc/nova/rootwrap.d/compute.filters"
543 - doins "etc/nova/rootwrap.d/network.filters"
544 -
545 - # add sudoers definitions for user nova
546 - insinto /etc/sudoers.d/
547 - insopts -m 0600 -o root -g root
548 - doins "${FILESDIR}/nova-sudoers"
549 -
550 - if use iscsi ; then
551 - # Install udev rules for handle iscsi disk with right links under /dev
552 - udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
553 -
554 - insinto /etc/nova/
555 - doins "${FILESDIR}/scsi-openscsi-link.sh"
556 - fi
557 - rm -r "${ED}/usr/etc"
558 -}
559 -
560 -python_install() {
561 - distutils-r1_python_install
562 - # copy migration conf file (not coppied on install via setup.py script)
563 - insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
564 - doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
565 -}
566 -
567 -pkg_postinst() {
568 - if use iscsi ; then
569 - elog "iscsid needs to be running if you want cinder to connect"
570 - fi
571 -}
572
573 diff --git a/sys-cluster/nova/nova-19.0.2.ebuild b/sys-cluster/nova/nova-19.0.2.ebuild
574 index dc68e7e07ad..ffc81bcc857 100644
575 --- a/sys-cluster/nova/nova-19.0.2.ebuild
576 +++ b/sys-cluster/nova/nova-19.0.2.ebuild
577 @@ -17,7 +17,7 @@ if [[ ${PV} == *9999 ]];then
578 else
579 SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/stein/nova.conf.sample -> nova.conf.sample-${PV}
580 https://tarballs.openstack.org/${PN}/${P}.tar.gz"
581 - KEYWORDS="~amd64 ~arm64 ~x86"
582 + KEYWORDS="amd64 ~arm64 x86"
583 fi
584
585 LICENSE="Apache-2.0"