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: Tue, 09 Oct 2018 04:54:53
Message-Id: 1539060870.61e67799f3261f4995d40a16c577fe59c7ad30e5.prometheanfire@gentoo
1 commit: 61e67799f3261f4995d40a16c577fe59c7ad30e5
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Tue Oct 9 04:53:58 2018 +0000
4 Commit: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Tue Oct 9 04:54:30 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=61e67799
7
8 sys-cluster/nova: 16.1.6 17.0.7 and 18.0.2 bump
9
10 Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>
11 Package-Manager: Portage-2.3.49, Repoman-2.3.11
12
13 sys-cluster/nova/Manifest | 6 +
14 sys-cluster/nova/nova-16.1.6.ebuild | 251 +++++++++++++++++++++++++++++++++++
15 sys-cluster/nova/nova-17.0.7.ebuild | 257 ++++++++++++++++++++++++++++++++++++
16 sys-cluster/nova/nova-18.0.2.ebuild | 253 +++++++++++++++++++++++++++++++++++
17 4 files changed, 767 insertions(+)
18
19 diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
20 index 237ccd9d187..787b71cb332 100644
21 --- a/sys-cluster/nova/Manifest
22 +++ b/sys-cluster/nova/Manifest
23 @@ -1,9 +1,15 @@
24 DIST nova-16.1.5.tar.gz 10992593 BLAKE2B c62ac7c4628fd50fb6d2d9410bd85ad1a62cc01a6767fcc218b05a862798ace53f423516392d693283a361e1744c7b798adde89cb692d2f2fe1806a5fd8204aa SHA512 bb653f062f192409296dc3a294fa94e657fc61c530fa8c0c75f80c2c8ab10d69008a46e6b6fafe407ed138d9b727e7fe8f5e54f275a41c3615bc1acadb9a73b9
25 +DIST nova-16.1.6.tar.gz 10987755 BLAKE2B e536df63847bab971ed09ef91fb719f630ea7d61dfc209032ea7522551f79788fd1029f9abe87ceee485c6ccd144a9dae513f08d920b49b1fa7355cab2d4197c SHA512 c021e5535a1e27dbe6c93b19fbb71608d0a137b271605f24e8c1aa60ca5c0e55d075e298d2cba06d3eb4619215e512883bb071e24ddc439d420bc5681d861092
26 DIST nova-17.0.6.tar.gz 11094548 BLAKE2B 3c8d8a1d5b422e8c561dc77261a0c4cc5bd0fb0254f41dc57a351f74392b275ae8aa7d6854075ccb2bf0f9a156a7c0cd9d91caf532231fb9006138ec8e6353c7 SHA512 667abea6cdc44b2ec76e460e353d44f29acb673d0edb4e0bd0934c9498cdfc24b47f74f518a863d8c4f06106aeb8e981f6067c1754df81dcc13f0d6b42f273ee
27 +DIST nova-17.0.7.tar.gz 11087543 BLAKE2B 4fbdafc24022da5eeec4bf81ec173578e8ff16cccca10381e7195b9f9ac45e1e178cfb70afdc1646b604b80021af19bf65ea25f5a3166471562ca086d29353af SHA512 23d6a0d0cd252f80d63063043c8ebe89d4614cc206a5de68d1e143894ca29c5e2e82217378af938c2abbbddb391585d434ef0d027931c9d5d8dd82e207f1d023
28 DIST nova-18.0.1.tar.gz 11447569 BLAKE2B b9ddfb5d7366abaf95afa19d5a09fb65d930f2ab3aff7323ee979ddf3652c30d2d63d1116b92978d5547e0c8d9a87aebb3fa855308ba3785abf3347cc8736c8b SHA512 d2470f874351c0fd332cf0c6e1b54309aad34827c5c20317e8bf0700973327c1c057eb110b3cba16cb4091298517ea82f49e577eee10cde90a9baa03c6cb3b3a
29 +DIST nova-18.0.2.tar.gz 11440035 BLAKE2B 5f39efa6aa6c30c458d4719540f4462e0f783d1cddc949872a845385d939e1b6963830c5601bc67e0e8d31999fa3a3990686be3d0a29911441d66c1e491130b1 SHA512 a662d61929570d65c82dcee6bd12693a565debe15212ec3ee91fce4eb47a260c11a0be781b221cf9a2a4229497fa0679f608c5fc605af63c33581ec5af02cb8e
30 DIST nova.conf.sample-16.1.5 360926 BLAKE2B 0cdfcff1d5faf5803de72b8113085591df4d1c7feb0591df786a5bf0e13ff133c1fcc4a2c3ebfdadf2a60943a7810e18813a00f5f78987daf3c271e3ba627911 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378
31 +DIST nova.conf.sample-16.1.6 360926 BLAKE2B 0cdfcff1d5faf5803de72b8113085591df4d1c7feb0591df786a5bf0e13ff133c1fcc4a2c3ebfdadf2a60943a7810e18813a00f5f78987daf3c271e3ba627911 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378
32 DIST nova.conf.sample-17.0.6 361499 BLAKE2B 3d5543fbec2b2688d8cc1a2dbc5d954302c4168999ddd9349f3602035259439e7b1daac05bd7d60d61e9296a37ae62aaedd63cc4d77f2e03cec4614a4b3d470e SHA512 c1d14671ecb2c1941a98b80a267ed47969c1ed5c27d88a2f9fa9857b318c6ff6aae9a0fe22e6c28c964221b3c38df26c632a7bbd24ca4110bd03aafa4db0f459
33 +DIST nova.conf.sample-17.0.7 361499 BLAKE2B 3d5543fbec2b2688d8cc1a2dbc5d954302c4168999ddd9349f3602035259439e7b1daac05bd7d60d61e9296a37ae62aaedd63cc4d77f2e03cec4614a4b3d470e SHA512 c1d14671ecb2c1941a98b80a267ed47969c1ed5c27d88a2f9fa9857b318c6ff6aae9a0fe22e6c28c964221b3c38df26c632a7bbd24ca4110bd03aafa4db0f459
34 DIST nova.conf.sample-18.0.1 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
35 +DIST nova.conf.sample-18.0.2 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
36 DIST nova.conf.sample-2017.2.9999 360926 BLAKE2B 0cdfcff1d5faf5803de72b8113085591df4d1c7feb0591df786a5bf0e13ff133c1fcc4a2c3ebfdadf2a60943a7810e18813a00f5f78987daf3c271e3ba627911 SHA512 68f548e998396c7b18692fb3b1e9bf267f9bc06d73f602bb8f20bba426b6ede01e270447906f1685133cdbfd43b76ed5a9913b0167ce70f1ff3debd1ca11d378
37 DIST nova.conf.sample-2018.1.9999 361499 BLAKE2B 3d5543fbec2b2688d8cc1a2dbc5d954302c4168999ddd9349f3602035259439e7b1daac05bd7d60d61e9296a37ae62aaedd63cc4d77f2e03cec4614a4b3d470e SHA512 c1d14671ecb2c1941a98b80a267ed47969c1ed5c27d88a2f9fa9857b318c6ff6aae9a0fe22e6c28c964221b3c38df26c632a7bbd24ca4110bd03aafa4db0f459
38 DIST nova.conf.sample-2018.2.9999 387334 BLAKE2B a51b8cdc644ee60390cde3a30ba8f64a339695887b57b2640da39b5a8d34dfec51664b1249955a6cf9202ae19e8e0a8bcd805d4b87d2f6c99a5a6294cc955577 SHA512 be9fbab15ea1cac6d3cd1d186aab904454ef17801f9f4b2f1a37c6e46b4c69fed22a7724846049ebd343beff7753d8db408abae52ad3fca0693d70414c6afc61
39
40 diff --git a/sys-cluster/nova/nova-16.1.6.ebuild b/sys-cluster/nova/nova-16.1.6.ebuild
41 new file mode 100644
42 index 00000000000..073e8f6c41a
43 --- /dev/null
44 +++ b/sys-cluster/nova/nova-16.1.6.ebuild
45 @@ -0,0 +1,251 @@
46 +# Copyright 1999-2018 Gentoo Authors
47 +# Distributed under the terms of the GNU General Public License v2
48 +
49 +EAPI=6
50 +PYTHON_COMPAT=( python2_7 python3_{4,5} )
51 +
52 +inherit distutils-r1 eutils linux-info multilib user
53 +
54 +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
55 +HOMEPAGE="https://launchpad.net/nova"
56 +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/pike/nova.conf.sample -> nova.conf.sample-${PV}
57 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
58 +
59 +LICENSE="Apache-2.0"
60 +SLOT="0"
61 +KEYWORDS="~amd64 ~arm64 ~x86"
62 +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
63 +REQUIRED_USE="
64 + !compute-only? ( || ( mysql postgres sqlite ) )
65 + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
66 +
67 +CDEPEND="
68 + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
69 + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
70 + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
71 + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
72 + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
73 + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
74 + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
75 + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
76 + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
77 + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
78 + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
79 + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
80 + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
81 + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
82 + !~dev-python/pbr-2.1.0"
83 +DEPEND="
84 + ${CDEPEND}
85 + app-admin/sudo"
86 +
87 +RDEPEND="
88 + ${CDEPEND}
89 + compute-only? (
90 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
91 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
92 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
93 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
94 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
95 + )
96 + sqlite? (
97 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
98 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
99 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
100 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
101 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
102 + )
103 + mysql? (
104 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
105 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
106 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
107 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
108 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
109 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
110 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
111 + )
112 + postgres? (
113 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
114 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
115 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
116 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
117 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
118 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
119 + )
120 + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
121 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
122 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
123 + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
124 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
125 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
126 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
127 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
128 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
129 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
130 + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
131 + >=dev-python/lxml-2.3[${PYTHON_USEDEP}]
132 + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
133 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
134 + >=dev-python/cryptography-1.6.0[${PYTHON_USEDEP}]
135 + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
136 + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
137 + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
138 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
139 + dev-python/paste[${PYTHON_USEDEP}]
140 + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
141 + <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
142 + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
143 + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
144 + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
145 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
146 + >=dev-python/paramiko-2.0[${PYTHON_USEDEP}]
147 + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
148 + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
149 + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
150 + >=dev-python/jsonschema-2.0.0[${PYTHON_USEDEP}]
151 + !~dev-python/jsonschema-2.5.0[${PYTHON_USEDEP}]
152 + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
153 + >=dev-python/python-cinderclient-3.1.0[${PYTHON_USEDEP}]
154 + >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
155 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
156 + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
157 + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
158 + >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
159 + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
160 + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
161 + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
162 + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
163 + >=dev-python/oslo-config-4.0.0[${PYTHON_USEDEP}]
164 + !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
165 + !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
166 + >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
167 + >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
168 + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
169 + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
170 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
171 + >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
172 + >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
173 + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
174 + >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
175 + !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
176 + >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
177 + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
178 + !~dev-python/oslo-privsep-1.17.0[${PYTHON_USEDEP}]
179 + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
180 + !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
181 + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
182 + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
183 + >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
184 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
185 + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
186 + >=dev-python/os-brick-1.15.2[${PYTHON_USEDEP}]
187 + >=dev-python/os-traits-0.3.1[${PYTHON_USEDEP}]
188 + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
189 + >=dev-python/os-win-2.0.0[${PYTHON_USEDEP}]
190 + >=dev-python/castellan-0.7.0[${PYTHON_USEDEP}]
191 + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
192 + >=dev-python/os-xenapi-0.2.0[${PYTHON_USEDEP}]
193 + >=dev-python/tooz-1.47.0[${PYTHON_USEDEP}]
194 + >=dev-python/cursive-0.1.2[${PYTHON_USEDEP}]
195 + >=dev-python/pypowervm-1.1.6[${PYTHON_USEDEP}]
196 + dev-python/libvirt-python[${PYTHON_USEDEP}]
197 + app-emulation/libvirt[iscsi?]
198 + novncproxy? ( www-apps/novnc )
199 + sys-apps/iproute2
200 + openvswitch? ( net-misc/openvswitch )
201 + rabbitmq? ( net-misc/rabbitmq-server )
202 + memcached? (
203 + net-misc/memcached
204 + >=dev-python/python-memcached-1.58
205 + )
206 + sys-fs/sysfsutils
207 + sys-fs/multipath-tools
208 + net-misc/bridge-utils
209 + compute? (
210 + app-cdr/cdrtools
211 + sys-fs/dosfstools
212 + app-emulation/qemu
213 + )
214 + iscsi? (
215 + sys-fs/lsscsi
216 + >=sys-block/open-iscsi-2.0.873-r1
217 + )"
218 +
219 +#PATCHES=(
220 +#)
221 +
222 +pkg_setup() {
223 + linux-info_pkg_setup
224 + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
225 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
226 + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
227 + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
228 + if linux_config_exists; then
229 + for module in ${CONFIG_CHECK_MODULES}; do
230 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
231 + done
232 + fi
233 + enewgroup nova
234 + enewuser nova -1 -1 /var/lib/nova nova
235 +}
236 +
237 +python_prepare_all() {
238 + sed -i '/^hacking/d' test-requirements.txt || die
239 + distutils-r1_python_prepare_all
240 +}
241 +
242 +python_install_all() {
243 + distutils-r1_python_install_all
244 +
245 + if use !compute-only; then
246 + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
247 + newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
248 + done
249 + fi
250 + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
251 + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
252 +
253 + diropts -m 0750 -o nova -g qemu
254 + dodir /var/log/nova /var/lib/nova/instances
255 + diropts -m 0750 -o nova -g nova
256 +
257 + insinto /etc/nova
258 + insopts -m 0640 -o nova -g nova
259 + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
260 + doins "${FILESDIR}/nova-compute.conf"
261 + doins "${S}/etc/nova/"*
262 + # rootwrap filters
263 + insopts -m 0644
264 + insinto /etc/nova/rootwrap.d
265 + doins "etc/nova/rootwrap.d/api-metadata.filters"
266 + doins "etc/nova/rootwrap.d/compute.filters"
267 + doins "etc/nova/rootwrap.d/network.filters"
268 +
269 + # add sudoers definitions for user nova
270 + insinto /etc/sudoers.d/
271 + insopts -m 0600 -o root -g root
272 + doins "${FILESDIR}/nova-sudoers"
273 +
274 + if use iscsi ; then
275 + # Install udev rules for handle iscsi disk with right links under /dev
276 + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
277 +
278 + insinto /etc/nova/
279 + doins "${FILESDIR}/scsi-openscsi-link.sh"
280 + fi
281 +}
282 +
283 +python_install() {
284 + distutils-r1_python_install
285 + # copy migration conf file (not coppied on install via setup.py script)
286 + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
287 + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
288 + # copy the CA cert dir (not coppied on install via setup.py script)
289 + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
290 +}
291 +
292 +pkg_postinst() {
293 + if use iscsi ; then
294 + elog "iscsid needs to be running if you want cinder to connect"
295 + fi
296 +}
297
298 diff --git a/sys-cluster/nova/nova-17.0.7.ebuild b/sys-cluster/nova/nova-17.0.7.ebuild
299 new file mode 100644
300 index 00000000000..2b93ede1501
301 --- /dev/null
302 +++ b/sys-cluster/nova/nova-17.0.7.ebuild
303 @@ -0,0 +1,257 @@
304 +# Copyright 1999-2018 Gentoo Authors
305 +# Distributed under the terms of the GNU General Public License v2
306 +
307 +EAPI=6
308 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
309 +
310 +inherit distutils-r1 eutils linux-info multilib user
311 +
312 +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
313 +HOMEPAGE="https://launchpad.net/nova"
314 +
315 +if [[ ${PV} == *9999 ]];then
316 + inherit git-r3
317 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/queens/nova.conf.sample -> nova.conf.sample-${PV}"
318 + EGIT_REPO_URI="https://github.com/openstack/nova.git"
319 + EGIT_BRANCH="stable/queens"
320 +else
321 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/queens/nova.conf.sample -> nova.conf.sample-${PV}
322 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
323 + KEYWORDS="~amd64 ~arm64 ~x86"
324 +fi
325 +
326 +LICENSE="Apache-2.0"
327 +SLOT="0"
328 +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
329 +REQUIRED_USE="
330 + !compute-only? ( || ( mysql postgres sqlite ) )
331 + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
332 +
333 +CDEPEND="
334 + >=dev-python/setuptools-16.0[${PYTHON_USEDEP}]
335 + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
336 + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
337 + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
338 + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
339 + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
340 + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
341 + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
342 + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
343 + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
344 + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
345 + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
346 + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
347 + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
348 + !~dev-python/pbr-2.1.0"
349 +DEPEND="
350 + ${CDEPEND}
351 + app-admin/sudo"
352 +
353 +RDEPEND="
354 + ${CDEPEND}
355 + compute-only? (
356 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
357 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
358 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
359 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
360 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
361 + )
362 + sqlite? (
363 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
364 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
365 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
366 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
367 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
368 + )
369 + mysql? (
370 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
371 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
372 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
373 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
374 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
375 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
376 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
377 + )
378 + postgres? (
379 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
380 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
381 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
382 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
383 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
384 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
385 + )
386 + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
387 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
388 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
389 + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
390 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
391 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
392 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
393 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
394 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
395 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
396 + >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
397 + >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
398 + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
399 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
400 + >=dev-python/cryptography-1.9.0[${PYTHON_USEDEP}]
401 + !~dev-python/cryptography-2.0.0[${PYTHON_USEDEP}]
402 + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
403 + >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
404 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
405 + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
406 + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
407 + <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
408 + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
409 + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
410 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
411 + >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
412 + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
413 + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
414 + virtual/python-enum34[${PYTHON_USEDEP}]
415 + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
416 + >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
417 + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
418 + >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
419 + >=dev-python/keystoneauth-3.3.0[${PYTHON_USEDEP}]
420 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
421 + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
422 + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
423 + >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
424 + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
425 + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
426 + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
427 + >=dev-python/oslo-concurrency-3.25.0[${PYTHON_USEDEP}]
428 + >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
429 + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
430 + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
431 + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
432 + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
433 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
434 + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
435 + >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
436 + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
437 + >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
438 + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
439 + >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
440 + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
441 + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
442 + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
443 + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
444 + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
445 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
446 + >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
447 + >=dev-python/os-brick-2.2.0[${PYTHON_USEDEP}]
448 + >=dev-python/os-traits-0.4.0[${PYTHON_USEDEP}]
449 + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
450 + !~dev-python/os-vif-1.8.0[${PYTHON_USEDEP}]
451 + >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
452 + >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
453 + >=dev-python/microversion-parse-0.1.2[${PYTHON_USEDEP}]
454 + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
455 + >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
456 + >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
457 + >=dev-python/pypowervm-1.1.10[${PYTHON_USEDEP}]
458 + >=dev-python/os-service-types-1.1.0[${PYTHON_USEDEP}]
459 + >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
460 + dev-python/libvirt-python[${PYTHON_USEDEP}]
461 + app-emulation/libvirt[iscsi?]
462 + novncproxy? ( www-apps/novnc )
463 + sys-apps/iproute2
464 + openvswitch? ( net-misc/openvswitch )
465 + rabbitmq? ( net-misc/rabbitmq-server )
466 + memcached? (
467 + net-misc/memcached
468 + >=dev-python/python-memcached-1.58
469 + )
470 + sys-fs/sysfsutils
471 + sys-fs/multipath-tools
472 + net-misc/bridge-utils
473 + compute? (
474 + app-cdr/cdrtools
475 + sys-fs/dosfstools
476 + app-emulation/qemu
477 + )
478 + iscsi? (
479 + sys-fs/lsscsi
480 + >=sys-block/open-iscsi-2.0.873-r1
481 + )"
482 +
483 +#PATCHES=(
484 +#)
485 +
486 +pkg_setup() {
487 + linux-info_pkg_setup
488 + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
489 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
490 + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
491 + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
492 + if linux_config_exists; then
493 + for module in ${CONFIG_CHECK_MODULES}; do
494 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
495 + done
496 + fi
497 + enewgroup nova
498 + enewuser nova -1 -1 /var/lib/nova nova
499 +}
500 +
501 +python_prepare_all() {
502 + sed -i '/^hacking/d' test-requirements.txt || die
503 + distutils-r1_python_prepare_all
504 +}
505 +
506 +python_install_all() {
507 + distutils-r1_python_install_all
508 +
509 + if use !compute-only; then
510 + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
511 + newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
512 + done
513 + fi
514 + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
515 + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
516 +
517 + diropts -m 0750 -o nova -g qemu
518 + dodir /var/log/nova /var/lib/nova/instances
519 + diropts -m 0750 -o nova -g nova
520 +
521 + insinto /etc/nova
522 + insopts -m 0640 -o nova -g nova
523 + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
524 + doins "${FILESDIR}/nova-compute.conf"
525 + doins "${S}/etc/nova/"*
526 + # rootwrap filters
527 + insopts -m 0644
528 + insinto /etc/nova/rootwrap.d
529 + doins "etc/nova/rootwrap.d/api-metadata.filters"
530 + doins "etc/nova/rootwrap.d/compute.filters"
531 + doins "etc/nova/rootwrap.d/network.filters"
532 +
533 + # add sudoers definitions for user nova
534 + insinto /etc/sudoers.d/
535 + insopts -m 0600 -o root -g root
536 + doins "${FILESDIR}/nova-sudoers"
537 +
538 + if use iscsi ; then
539 + # Install udev rules for handle iscsi disk with right links under /dev
540 + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
541 +
542 + insinto /etc/nova/
543 + doins "${FILESDIR}/scsi-openscsi-link.sh"
544 + fi
545 +}
546 +
547 +python_install() {
548 + distutils-r1_python_install
549 + # copy migration conf file (not coppied on install via setup.py script)
550 + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
551 + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
552 + # copy the CA cert dir (not coppied on install via setup.py script)
553 + cp -R "${S}/nova/CA" "${D}/$(python_get_sitedir)/nova/" || die "installing CA files failed"
554 +}
555 +
556 +pkg_postinst() {
557 + if use iscsi ; then
558 + elog "iscsid needs to be running if you want cinder to connect"
559 + fi
560 +}
561
562 diff --git a/sys-cluster/nova/nova-18.0.2.ebuild b/sys-cluster/nova/nova-18.0.2.ebuild
563 new file mode 100644
564 index 00000000000..7802571382b
565 --- /dev/null
566 +++ b/sys-cluster/nova/nova-18.0.2.ebuild
567 @@ -0,0 +1,253 @@
568 +# Copyright 1999-2018 Gentoo Authors
569 +# Distributed under the terms of the GNU General Public License v2
570 +
571 +EAPI=6
572 +PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
573 +
574 +inherit distutils-r1 eutils linux-info multilib user
575 +
576 +DESCRIPTION="Cloud computing fabric controller (main part of an IaaS system) in Python"
577 +HOMEPAGE="https://launchpad.net/nova"
578 +
579 +if [[ ${PV} == *9999 ]];then
580 + inherit git-r3
581 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/rocky/nova.conf.sample -> nova.conf.sample-${PV}"
582 + EGIT_REPO_URI="https://github.com/openstack/nova.git"
583 + EGIT_BRANCH="stable/rocky"
584 +else
585 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/rocky/nova.conf.sample -> nova.conf.sample-${PV}
586 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
587 + KEYWORDS="~amd64 ~arm64 ~x86"
588 +fi
589 +
590 +LICENSE="Apache-2.0"
591 +SLOT="0"
592 +IUSE="+compute compute-only iscsi +memcached mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
593 +REQUIRED_USE="
594 + !compute-only? ( || ( mysql postgres sqlite ) )
595 + compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
596 +
597 +CDEPEND="
598 + >=dev-python/setuptools-21.0.0[${PYTHON_USEDEP}]
599 + !~dev-python/setuptools-24.0.0[${PYTHON_USEDEP}]
600 + !~dev-python/setuptools-34.0.0[${PYTHON_USEDEP}]
601 + !~dev-python/setuptools-34.0.1[${PYTHON_USEDEP}]
602 + !~dev-python/setuptools-34.0.2[${PYTHON_USEDEP}]
603 + !~dev-python/setuptools-34.0.3[${PYTHON_USEDEP}]
604 + !~dev-python/setuptools-34.1.0[${PYTHON_USEDEP}]
605 + !~dev-python/setuptools-34.1.1[${PYTHON_USEDEP}]
606 + !~dev-python/setuptools-34.2.0[${PYTHON_USEDEP}]
607 + !~dev-python/setuptools-34.3.0[${PYTHON_USEDEP}]
608 + !~dev-python/setuptools-34.3.1[${PYTHON_USEDEP}]
609 + !~dev-python/setuptools-34.3.2[${PYTHON_USEDEP}]
610 + !~dev-python/setuptools-36.2.0[${PYTHON_USEDEP}]
611 + >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
612 + !~dev-python/pbr-2.1.0"
613 +DEPEND="
614 + ${CDEPEND}
615 + app-admin/sudo"
616 +
617 +RDEPEND="
618 + ${CDEPEND}
619 + compute-only? (
620 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
621 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
622 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
623 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
624 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
625 + )
626 + sqlite? (
627 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
628 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
629 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
630 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
631 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
632 + )
633 + mysql? (
634 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
635 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
636 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
637 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
638 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
639 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
640 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
641 + )
642 + postgres? (
643 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
644 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
645 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
646 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
647 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
648 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
649 + )
650 + >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
651 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
652 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
653 + >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
654 + >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
655 + >=dev-python/lxml-2.4.1[${PYTHON_USEDEP}]
656 + !~dev-python/lxml-3.7.0[${PYTHON_USEDEP}]
657 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
658 + >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
659 + >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
660 + >=dev-python/greenlet-0.4.10[${PYTHON_USEDEP}]
661 + !~dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
662 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
663 + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
664 + >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
665 + <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
666 + >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
667 + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
668 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
669 + >=dev-python/paramiko-2.0.0[${PYTHON_USEDEP}]
670 + >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
671 + !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
672 + virtual/python-enum34[${PYTHON_USEDEP}]
673 + >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
674 + >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
675 + <dev-python/jsonschema-3.0.0[${PYTHON_USEDEP}]
676 + >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
677 + >=dev-python/keystoneauth-3.9.0[${PYTHON_USEDEP}]
678 + >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
679 + >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
680 + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
681 + >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
682 + >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
683 + >=dev-python/websockify-0.8.0[${PYTHON_USEDEP}]
684 + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
685 + >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
686 + >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
687 + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
688 + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
689 + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
690 + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
691 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
692 + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
693 + >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
694 + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
695 + >=dev-python/oslo-messaging-6.3.0[${PYTHON_USEDEP}]
696 + >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
697 + >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
698 + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
699 + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
700 + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
701 + >=dev-python/rfc3986-0.3.1[${PYTHON_USEDEP}]
702 + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
703 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
704 + >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
705 + >=dev-python/os-brick-2.5.0[${PYTHON_USEDEP}]
706 + >=dev-python/os-traits-0.4.0[${PYTHON_USEDEP}]
707 + >=dev-python/os-vif-1.7.0[${PYTHON_USEDEP}]
708 + !~dev-python/os-vif-1.8.0[${PYTHON_USEDEP}]
709 + >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
710 + >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
711 + >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
712 + >=dev-python/os-xenapi-0.3.3[${PYTHON_USEDEP}]
713 + >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
714 + >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
715 + >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
716 + >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
717 + >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
718 + >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
719 + >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
720 + >=dev-python/zVMCloudConnector-1.1.1[${PYTHON_USEDEP}]
721 + >=dev-python/futures-3.0.0[$(python_gen_usedep 'python2_7')]
722 + dev-python/libvirt-python[${PYTHON_USEDEP}]
723 + app-emulation/libvirt[iscsi?]
724 + novncproxy? ( www-apps/novnc )
725 + sys-apps/iproute2
726 + openvswitch? ( net-misc/openvswitch )
727 + rabbitmq? ( net-misc/rabbitmq-server )
728 + memcached? (
729 + net-misc/memcached
730 + >=dev-python/python-memcached-1.58
731 + )
732 + sys-fs/sysfsutils
733 + sys-fs/multipath-tools
734 + net-misc/bridge-utils
735 + compute? (
736 + app-cdr/cdrtools
737 + sys-fs/dosfstools
738 + app-emulation/qemu
739 + )
740 + iscsi? (
741 + sys-fs/lsscsi
742 + >=sys-block/open-iscsi-2.0.873-r1
743 + )"
744 +
745 +#PATCHES=(
746 +#)
747 +
748 +pkg_setup() {
749 + linux-info_pkg_setup
750 + CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
751 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
752 + NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
753 + ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
754 + if linux_config_exists; then
755 + for module in ${CONFIG_CHECK_MODULES}; do
756 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
757 + done
758 + fi
759 + enewgroup nova
760 + enewuser nova -1 -1 /var/lib/nova nova
761 +}
762 +
763 +python_prepare_all() {
764 + sed -i '/^hacking/d' test-requirements.txt || die
765 + distutils-r1_python_prepare_all
766 +}
767 +
768 +python_install_all() {
769 + distutils-r1_python_install_all
770 +
771 + if use !compute-only; then
772 + for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
773 + newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
774 + done
775 + fi
776 + use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
777 + use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
778 +
779 + diropts -m 0750 -o nova -g qemu
780 + dodir /var/log/nova /var/lib/nova/instances
781 + diropts -m 0750 -o nova -g nova
782 +
783 + insinto /etc/nova
784 + insopts -m 0640 -o nova -g nova
785 + newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
786 + doins "${FILESDIR}/nova-compute.conf"
787 + doins "${S}/etc/nova/"*
788 + # rootwrap filters
789 + insopts -m 0644
790 + insinto /etc/nova/rootwrap.d
791 + doins "etc/nova/rootwrap.d/api-metadata.filters"
792 + doins "etc/nova/rootwrap.d/compute.filters"
793 + doins "etc/nova/rootwrap.d/network.filters"
794 +
795 + # add sudoers definitions for user nova
796 + insinto /etc/sudoers.d/
797 + insopts -m 0600 -o root -g root
798 + doins "${FILESDIR}/nova-sudoers"
799 +
800 + if use iscsi ; then
801 + # Install udev rules for handle iscsi disk with right links under /dev
802 + udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
803 +
804 + insinto /etc/nova/
805 + doins "${FILESDIR}/scsi-openscsi-link.sh"
806 + fi
807 +}
808 +
809 +python_install() {
810 + distutils-r1_python_install
811 + # copy migration conf file (not coppied on install via setup.py script)
812 + insinto "$(python_get_sitedir)/db/sqlalchemy/migrate_repo/"
813 + doins "nova/db/sqlalchemy/migrate_repo/migrate.cfg"
814 +}
815 +
816 +pkg_postinst() {
817 + if use iscsi ; then
818 + elog "iscsid needs to be running if you want cinder to connect"
819 + fi
820 +}