Gentoo Archives: gentoo-commits

From: Matt Thode <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-cluster/nova/
Date: Wed, 15 Nov 2017 02:04:02
Message-Id: 1510711416.b26270d896c39907eca945e2f79b4f6f0c0499ee.prometheanfire@gentoo
1 commit: b26270d896c39907eca945e2f79b4f6f0c0499ee
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 15 02:03:36 2017 +0000
4 Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 15 02:03:36 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b26270d8
7
8 sys-cluster/nova: 15.0.8 and 16.0.3 bup for CVE-2017-16239 bug 637506
9
10 Package-Manager: Portage-2.3.8, Repoman-2.3.4
11
12 sys-cluster/nova/Manifest | 4 +
13 sys-cluster/nova/nova-15.0.8.ebuild | 232 +++++++++++++++++++++++++++++++++
14 sys-cluster/nova/nova-16.0.3.ebuild | 251 ++++++++++++++++++++++++++++++++++++
15 3 files changed, 487 insertions(+)
16
17 diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
18 index eb19b603e19..f405cd5761d 100644
19 --- a/sys-cluster/nova/Manifest
20 +++ b/sys-cluster/nova/Manifest
21 @@ -1,8 +1,12 @@
22 DIST nova-15.0.7.tar.gz 5763951 SHA256 75d2f307301396d423e81e817b4c087da08c9db7ab2340fcef7618fc20379fb9 SHA512 3e4b02bebdc8d0c002a09d757a2f1e96e9b7a5c16c6bd9108f0564c9be23da8ae8f90d81924050f01be691b4800c5c0ff2f5b3400fa389964899b1faa509293c WHIRLPOOL 6c8c49509bbee938886c7d2b900cf113ca86105c606c46976f3528afdd215f9ebe34026103c8e36c065ce33efe05a96db4b618be6ab94d0f3c9dceaff0ef10ab
23 +DIST nova-15.0.8.tar.gz 5772381 SHA256 95310545112422e2ce293b5096e623bc57241f9c953632167e40c2b2c6fe60e4 SHA512 555a57219454f34511870bde1e794a8460a51ac4c11da26608635c3ff629388cdce2792cf67ae466b0e3f8b65ffad61549d294c2672c1f1719913cece82058ef WHIRLPOOL c2db3f225abc2651903ffe2e4db0b9b54e557a76f243271833bf9d26a8678a0e03384ebcf2789ab5455e6166991e4ed966f0aa4b2c27e696818e4562216ff489
24 DIST nova-16.0.1.tar.gz 10896414 SHA256 e657675b0ca62fbbe66808cccbb7db84bdfd007b82f9579ced98c13c215b18d6 SHA512 bdeb3254e9ad6b95e7f8c07093192fb511e2a278790afd6336093f817288cd6cddee9c1a3d81b1ea82bddd4d8caf60234183f995f35bad631edaf6b9c0fe2b79 WHIRLPOOL 59750f9b4b849f78156db15c8e692ee0cdb998b786acc7466dd49cae24d6c1d869913b5b7533bba2d7993586f41e9969e10631de57593454926b50adf89a0328
25 DIST nova-16.0.2.tar.gz 10912478 SHA256 a4c529f35b557b7849a6610834430030b7ca65d5eec41a74d652e75b8ed6006a SHA512 8216087bd15a14b20d340911cacb09251fa500d71a335638b8a80f4d5ca113b3b17f0e2436c3c0297450bde6885f48d7475f778190e0d48c9e761e2b5042d0c5 WHIRLPOOL 2464f1bc6db4f796808bbad35b021c063376317d527ddb37fce592cded4ebc8c86278fdf20f9e6173445c909f6d02ff8e19424249979955b8d329d4e14572e2b
26 +DIST nova-16.0.3.tar.gz 10920453 SHA256 614fc60794949e31338f7787e12fce45e255430e6a47354787a7ef399740dd0f SHA512 fc17a214ac074a12995e75fe7e60dc1a9ab26a0b59e2462926c235e93c0f58b8d96e3043d4187a0f80d2a3feea5bd678d9b41e3496d4e472fa79e4650e14cb1e WHIRLPOOL fe852a44920e8fa7cfc6594ae82b40ef0c33946988c6f5f19d7031ecfdcfc713a49e9659661be96546e1799d58466dc47df2d7cce6a30db2c2b3bbc724149ca8
27 DIST nova.conf.sample-15.0.7 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125
28 +DIST nova.conf.sample-15.0.8 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125
29 DIST nova.conf.sample-16.0.1 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
30 DIST nova.conf.sample-16.0.2 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
31 +DIST nova.conf.sample-16.0.3 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
32 DIST nova.conf.sample-2017.1.9999 344760 SHA256 09c086c981505a6e775a4e2073856b1d38998d97b92062f019095f98d7d26e1f SHA512 5c55c752c8752876acbd8d2348abb39d6a8449f637ad2a6515f5c9f4619dbad73c4ae7a6ac4cd164656a0c466ed000a4d68a291050a03a5641fe96b3dd7f732d WHIRLPOOL 22f174d402e6d9c3e1e18da0cdec883209013083c66eb2b5a2921546fb609c1a19de594832afa8f40ee26a999f2596c563eb16ba1a08035895b5d6c72a729125
33 DIST nova.conf.sample-2017.2.9999 360926 SHA256 2fad4c60277289b28ec6de87bbe41086d3f5c88003839c90dda264b0e6e1c835 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378 WHIRLPOOL bb8d5fffb6fd5e6c820a422615abe6cc8398852ce6cbce12eba5dca17e2c71e413c113342916c25d38e7651b0c26b20357fdbaa5dee6d904e4ee9cc08f3b953c
34
35 diff --git a/sys-cluster/nova/nova-15.0.8.ebuild b/sys-cluster/nova/nova-15.0.8.ebuild
36 new file mode 100644
37 index 00000000000..dd99d630bd7
38 --- /dev/null
39 +++ b/sys-cluster/nova/nova-15.0.8.ebuild
40 @@ -0,0 +1,232 @@
41 +# Copyright 1999-2017 Gentoo Foundation
42 +# Distributed under the terms of the GNU General Public License v2
43 +
44 +EAPI=6
45 +PYTHON_COMPAT=( python2_7 python3_{4,5} )
46 +
47 +inherit distutils-r1 eutils linux-info multilib user
48 +
49 +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
50 +HOMEPAGE="https://launchpad.net/nova"
51 +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/ocata/nova.conf.sample -> nova.conf.sample-${PV}
52 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
53 +
54 +LICENSE="Apache-2.0"
55 +SLOT="0"
56 +KEYWORDS="~amd64 ~arm64 ~x86"
57 +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
58 +REQUIRED_USE="
59 + !compute-only? ( || ( mysql postgres sqlite ) )
60 + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
61 +
62 +CDEPEND="
63 + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
64 + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
65 + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
66 + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
67 + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
68 + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
69 + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
70 + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
71 + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
72 + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
73 + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
74 + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
75 + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
76 + >=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
77 +DEPEND="
78 + ${CDEPEND}
79 + app-admin/sudo"
80 +
81 +RDEPEND="
82 + ${CDEPEND}
83 + compute-only? (
84 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
85 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
86 + )
87 + sqlite? (
88 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
89 + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
90 + )
91 + mysql? (
92 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
93 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
94 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
95 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
96 + )
97 + postgres? (
98 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
99 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
100 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
101 + )
102 + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
103 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
104 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
105 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
106 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
107 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
108 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
109 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
110 + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
111 + >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
112 + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
113 + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
114 + !~dev-python/routes-2.0[${PYTHON_USEDEP}]
115 + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
116 + !~dev-python/routes-2.3[${PYTHON_USEDEP}]
117 + >=dev-python/cryptography-1.0[${PYTHON_USEDEP}]
118 + !~dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
119 + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
120 + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
121 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
122 + dev-python/paste[${PYTHON_USEDEP}]
123 + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
124 + <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
125 + >=dev-python/sqlalchemy-migrate-0.9.6[${PYTHON_USEDEP}]
126 + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
127 + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
128 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
129 + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
130 + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
131 + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
132 + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
133 + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
134 + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
135 + >=dev-python/python-cinderclient-1.6.0[${PYTHON_USEDEP}]
136 + !~dev-python/python-cinderclient-1.7.0[${PYTHON_USEDEP}]
137 + !~dev-python/python-cinderclient-1.7.1[${PYTHON_USEDEP}]
138 + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
139 + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
140 + >=dev-python/python-glanceclient-2.5.0[${PYTHON_USEDEP}]
141 + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
142 + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
143 + >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
144 + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
145 + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
146 + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
147 + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
148 + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
149 + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
150 + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
151 + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
152 + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
153 + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
154 + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
155 + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
156 + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
157 + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
158 + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
159 + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
160 + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
161 + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
162 + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
163 + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
164 + >=dev-python/psutil-3.0.1[${PYTHON_USEDEP}]
165 + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
166 + >=dev-python/os-brick-1.8.0[${PYTHON_USEDEP}]
167 + >=dev-python/os-vif-1.4.0[${PYTHON_USEDEP}]
168 + >=dev-python/os-win-1.4.0[${PYTHON_USEDEP}]
169 + >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
170 + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
171 + >=dev-python/os-xenapi-0.1.1[${PYTHON_USEDEP}]
172 + dev-python/libvirt-python[${PYTHON_USEDEP}]
173 + app-emulation/libvirt[iscsi?]
174 + novncproxy? ( www-apps/novnc )
175 + sys-apps/iproute2
176 + openvswitch? ( net-misc/openvswitch )
177 + rabbitmq? ( net-misc/rabbitmq-server )
178 + memcached? (
179 + net-misc/memcached
180 + >=dev-python/python-memcached-1.58
181 + )
182 + sys-fs/sysfsutils
183 + sys-fs/multipath-tools
184 + net-misc/bridge-utils
185 + compute? (
186 + app-cdr/cdrtools
187 + sys-fs/dosfstools
188 + app-emulation/qemu
189 + )
190 + iscsi? (
191 + sys-fs/lsscsi
192 + >=sys-block/open-iscsi-2.0.873-r1
193 + )"
194 +
195 +#PATCHES=(
196 +#)
197 +
198 +pkg_setup() {
199 + linux-info_pkg_setup
200 + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
201 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
202 + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
203 + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
204 + if linux_config_exists; then
205 + for module in ${CONFIG_CHECK_MODULES}; do
206 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
207 + done
208 + fi
209 + enewgroup nova
210 + enewuser nova -1 -1 /var/lib/nova nova
211 +}
212 +
213 +python_prepare_all() {
214 + sed -i '/^hacking/d' test-requirements.txt || die
215 + distutils-r1_python_prepare_all
216 +}
217 +
218 +python_install_all() {
219 + distutils-r1_python_install_all
220 +
221 + if use !compute-only; then
222 + for svc in api cert conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
223 + newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
224 + done
225 + fi
226 + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
227 + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
228 +
229 + diropts -m 0750 -o nova -g qemu
230 + dodir /var/log/nova /var/lib/nova/instances
231 + diropts -m 0750 -o nova -g nova
232 +
233 + insinto /etc/nova
234 + insopts -m 0640 -o nova -g nova
235 + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
236 + doins "${FILESDIR}/nova-compute.conf"
237 + doins "${S}/etc/nova/"*
238 + # rootwrap filters
239 + insopts -m 0644
240 + insinto /etc/nova/rootwrap.d
241 + doins "etc/nova/rootwrap.d/api-metadata.filters"
242 + doins "etc/nova/rootwrap.d/compute.filters"
243 + doins "etc/nova/rootwrap.d/network.filters"
244 +
245 + # add sudoers definitions for user nova
246 + insinto /etc/sudoers.d/
247 + insopts -m 0600 -o root -g root
248 + doins "${FILESDIR}/nova-sudoers"
249 +
250 + if use iscsi ; then
251 + # Install udev rules for handle iscsi disk with right links under /dev
252 + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
253 +
254 + insinto /etc/nova/
255 + doins "${FILESDIR}/scsi-openscsi-link.sh"
256 + fi
257 +}
258 +
259 +python_install() {
260 + distutils-r1_python_install
261 + # copy migration conf file (not coppied on install via setup.py script)
262 + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
263 + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
264 + # copy the CA cert dir (not coppied on install via setup.py script)
265 + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
266 +}
267 +
268 +pkg_postinst() {
269 + if use iscsi ; then
270 + elog "iscsid needs to be running if you want cinder to connect"
271 + fi
272 +}
273
274 diff --git a/sys-cluster/nova/nova-16.0.3.ebuild b/sys-cluster/nova/nova-16.0.3.ebuild
275 new file mode 100644
276 index 00000000000..bc2f36d667b
277 --- /dev/null
278 +++ b/sys-cluster/nova/nova-16.0.3.ebuild
279 @@ -0,0 +1,251 @@
280 +# Copyright 1999-2017 Gentoo Foundation
281 +# Distributed under the terms of the GNU General Public License v2
282 +
283 +EAPI=6
284 +PYTHON_COMPAT=( python2_7 python3_{4,5} )
285 +
286 +inherit distutils-r1 eutils linux-info multilib user
287 +
288 +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
289 +HOMEPAGE="https://launchpad.net/nova"
290 +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV}
291 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
292 +
293 +LICENSE="Apache-2.0"
294 +SLOT="0"
295 +KEYWORDS="~amd64 ~arm64 ~x86"
296 +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
297 +REQUIRED_USE="
298 + !compute-only? ( || ( mysql postgres sqlite ) )
299 + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
300 +
301 +CDEPEND="
302 + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
303 + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
304 + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
305 + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
306 + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
307 + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
308 + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
309 + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
310 + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
311 + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
312 + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
313 + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
314 + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
315 + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
316 + !~dev-python/pbr-2.1.0"
317 +DEPEND="
318 + ${CDEPEND}
319 + app-admin/sudo"
320 +
321 +RDEPEND="
322 + ${CDEPEND}
323 + compute-only? (
324 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
325 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
326 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
327 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
328 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
329 + )
330 + sqlite? (
331 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
332 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
333 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
334 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
335 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
336 + )
337 + mysql? (
338 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
339 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
340 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
341 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
342 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
343 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
344 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
345 + )
346 + postgres? (
347 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
348 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
349 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
350 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
351 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
352 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
353 + )
354 + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
355 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
356 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
357 + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
358 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
359 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
360 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
361 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
362 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
363 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
364 + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
365 + >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
366 + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
367 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
368 + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
369 + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
370 + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
371 + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
372 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
373 + dev-python/paste[${PYTHON_USEDEP}]
374 + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
375 + <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
376 + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
377 + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
378 + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
379 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
380 + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
381 + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
382 + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
383 + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
384 + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
385 + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
386 + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
387 + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
388 + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
389 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
390 + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
391 + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
392 + >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
393 + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
394 + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
395 + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
396 + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
397 + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
398 + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
399 + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
400 + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
401 + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
402 + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
403 + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
404 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
405 + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
406 + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
407 + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
408 + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
409 + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
410 + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
411 + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
412 + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
413 + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
414 + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
415 + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
416 + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
417 + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
418 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
419 + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
420 + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
421 + >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}]
422 + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
423 + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
424 + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
425 + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
426 + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
427 + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
428 + >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}]
429 + >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}]
430 + dev-python/libvirt-python[${PYTHON_USEDEP}]
431 + app-emulation/libvirt[iscsi?]
432 + novncproxy? ( www-apps/novnc )
433 + sys-apps/iproute2
434 + openvswitch? ( net-misc/openvswitch )
435 + rabbitmq? ( net-misc/rabbitmq-server )
436 + memcached? (
437 + net-misc/memcached
438 + >=dev-python/python-memcached-1.58
439 + )
440 + sys-fs/sysfsutils
441 + sys-fs/multipath-tools
442 + net-misc/bridge-utils
443 + compute? (
444 + app-cdr/cdrtools
445 + sys-fs/dosfstools
446 + app-emulation/qemu
447 + )
448 + iscsi? (
449 + sys-fs/lsscsi
450 + >=sys-block/open-iscsi-2.0.873-r1
451 + )"
452 +
453 +#PATCHES=(
454 +#)
455 +
456 +pkg_setup() {
457 + linux-info_pkg_setup
458 + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
459 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
460 + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
461 + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
462 + if linux_config_exists; then
463 + for module in ${CONFIG_CHECK_MODULES}; do
464 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
465 + done
466 + fi
467 + enewgroup nova
468 + enewuser nova -1 -1 /var/lib/nova nova
469 +}
470 +
471 +python_prepare_all() {
472 + sed -i '/^hacking/d' test-requirements.txt || die
473 + distutils-r1_python_prepare_all
474 +}
475 +
476 +python_install_all() {
477 + distutils-r1_python_install_all
478 +
479 + if use !compute-only; then
480 + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
481 + newinitd "${FILESDIR}/nova.initd-2" "nova-${svc}"
482 + done
483 + fi
484 + use compute && newinitd "${FILESDIR}/nova.initd-2" "nova-compute"
485 + use novncproxy && newinitd "${FILESDIR}/nova.initd-2" "nova-novncproxy"
486 +
487 + diropts -m 0750 -o nova -g qemu
488 + dodir /var/log/nova /var/lib/nova/instances
489 + diropts -m 0750 -o nova -g nova
490 +
491 + insinto /etc/nova
492 + insopts -m 0640 -o nova -g nova
493 + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
494 + doins "${FILESDIR}/nova-compute.conf"
495 + doins "${S}/etc/nova/"*
496 + # rootwrap filters
497 + insopts -m 0644
498 + insinto /etc/nova/rootwrap.d
499 + doins "etc/nova/rootwrap.d/api-metadata.filters"
500 + doins "etc/nova/rootwrap.d/compute.filters"
501 + doins "etc/nova/rootwrap.d/network.filters"
502 +
503 + # add sudoers definitions for user nova
504 + insinto /etc/sudoers.d/
505 + insopts -m 0600 -o root -g root
506 + doins "${FILESDIR}/nova-sudoers"
507 +
508 + if use iscsi ; then
509 + # Install udev rules for handle iscsi disk with right links under /dev
510 + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
511 +
512 + insinto /etc/nova/
513 + doins "${FILESDIR}/scsi-openscsi-link.sh"
514 + fi
515 +}
516 +
517 +python_install() {
518 + distutils-r1_python_install
519 + # copy migration conf file (not coppied on install via setup.py script)
520 + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
521 + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
522 + # copy the CA cert dir (not coppied on install via setup.py script)
523 + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
524 +}
525 +
526 +pkg_postinst() {
527 + if use iscsi ; then
528 + elog "iscsid needs to be running if you want cinder to connect"
529 + fi
530 +}