Gentoo Archives: gentoo-commits

From: "Matt Thode (prometheanfire)" <prometheanfire@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-cluster/neutron: neutron-2015.1.0.ebuild neutron-2015.1.9999.ebuild ChangeLog
Date: Thu, 30 Apr 2015 20:52:06
Message-Id: 20150430205202.303C4992@oystercatcher.gentoo.org
1 prometheanfire 15/04/30 20:52:02
2
3 Modified: ChangeLog
4 Added: neutron-2015.1.0.ebuild neutron-2015.1.9999.ebuild
5 Log:
6 kilo release
7
8 (Portage version: 2.2.18/cvs/Linux x86_64, signed Manifest commit with key 0x33ED3FD25AFC78BA)
9
10 Revision Changes Path
11 1.57 sys-cluster/neutron/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/ChangeLog?rev=1.57&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/ChangeLog?rev=1.57&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/ChangeLog?r1=1.56&r2=1.57
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v
20 retrieving revision 1.56
21 retrieving revision 1.57
22 diff -u -r1.56 -r1.57
23 --- ChangeLog 13 Apr 2015 03:27:20 -0000 1.56
24 +++ ChangeLog 30 Apr 2015 20:52:02 -0000 1.57
25 @@ -1,6 +1,13 @@
26 # ChangeLog for sys-cluster/neutron
27 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.56 2015/04/13 03:27:20 prometheanfire Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.57 2015/04/30 20:52:02 prometheanfire Exp $
30 +
31 +*neutron-2015.1.9999 (30 Apr 2015)
32 +*neutron-2015.1.0 (30 Apr 2015)
33 +
34 + 30 Apr 2015; Matthew Thode <prometheanfire@g.o>
35 + +neutron-2015.1.0.ebuild, +neutron-2015.1.9999.ebuild:
36 + kilo release
37
38 *neutron-2014.2.3 (13 Apr 2015)
39
40
41
42
43 1.1 sys-cluster/neutron/neutron-2015.1.0.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/neutron-2015.1.0.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/neutron-2015.1.0.ebuild?rev=1.1&content-type=text/plain
47
48 Index: neutron-2015.1.0.ebuild
49 ===================================================================
50 # Copyright 1999-2015 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2015.1.0.ebuild,v 1.1 2015/04/30 20:52:02 prometheanfire Exp $
53
54 EAPI=5
55 PYTHON_COMPAT=( python2_7 )
56
57 inherit distutils-r1 linux-info user
58
59 DESCRIPTION="A virtual network service for Openstack"
60 HOMEPAGE="https://launchpad.net/neutron"
61 EGIT_REPO_URI="https://github.com/openstack/neutron.git"
62 EGIT_BRANCH="stable/kilo"
63
64 LICENSE="Apache-2.0"
65 SLOT="0"
66 KEYWORDS="~amd64 ~x86"
67 IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres"
68 REQUIRED_USE="|| ( mysql postgres sqlite )"
69
70 DEPEND="
71 dev-python/setuptools[${PYTHON_USEDEP}]
72 >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
73 <dev-python/pbr-1.0[${PYTHON_USEDEP}]
74 app-admin/sudo
75 test? (
76 ${RDEPEND}
77 >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
78 <dev-python/hacking-0.11[${PYTHON_USEDEP}]
79 >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
80 <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
81 >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
82 >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
83 >=dev-python/mock-1.0[${PYTHON_USEDEP}]
84 >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
85 >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
86 >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
87 !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
88 <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
89 >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
90 <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
91 >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
92 >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
93 !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
94 >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
95 >=dev-python/webtest-2.0[${PYTHON_USEDEP}]
96 >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
97 <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
98 >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
99 )"
100
101 RDEPEND="
102 dev-python/paste[${PYTHON_USEDEP}]
103 >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
104 >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
105 !~dev-python/routes-2.0[${PYTHON_USEDEP}]
106 >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
107 !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
108 >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
109 >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
110 >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
111 !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
112 dev-python/jsonrpclib[${PYTHON_USEDEP}]
113 >=dev-python/jinja-2.6[${PYTHON_USEDEP}]
114 >=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
115 <dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
116 >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
117 >=dev-python/python-neutronclient-2.3.11[${PYTHON_USEDEP}]
118 <dev-python/python-neutronclient-3.5.0[${PYTHON_USEDEP}]
119 >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
120 !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
121 sqlite? (
122 >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
123 <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
124 )
125 mysql? (
126 dev-python/mysql-python
127 >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
128 <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
129 )
130 postgres? (
131 dev-python/psycopg:2
132 >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
133 <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
134 )
135 >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
136 >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
137 <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
138 >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
139 >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
140 >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
141 <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
142 >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
143 <dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
144 >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
145 <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
146 >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
147 <dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
148 >=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
149 <dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
150 >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
151 <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
152 >=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
153 <dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
154 >=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
155 <dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
156 >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
157 <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
158 >=dev-python/oslo-rootwrap-1.6.0[${PYTHON_USEDEP}]
159 <dev-python/oslo-rootwrap-1.7.0[${PYTHON_USEDEP}]
160 >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
161 <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
162 >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
163 <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
164 >=dev-python/python-novaclient-2.22.0[${PYTHON_USEDEP}]
165 <dev-python/python-novaclient-2.24.0[${PYTHON_USEDEP}]
166 dev-python/pyudev[${PYTHON_USEDEP}]
167 sys-apps/iproute2
168 net-misc/bridge-utils
169 net-firewall/ipset
170 openvswitch? ( net-misc/openvswitch )
171 dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
172
173 PATCHES=(
174 "${FILESDIR}/0001-Fixes-bug-in-interface-handling-of-ip_lib.py.patch"
175 "${FILESDIR}/0002-moving-vxlan-module-check-to-sanity-checks-and-makin.patch"
176 "${FILESDIR}/0003-fixes-error-logging-to-use-the-right-exception-paren.patch"
177 )
178
179 pkg_setup() {
180 linux-info_pkg_setup
181 CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
182 IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
183 NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
184 if linux_config_exists; then
185 for module in ${CONFIG_CHECK_MODULES}; do
186 linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
187 done
188 fi
189 enewgroup neutron
190 enewuser neutron -1 -1 /var/lib/neutron neutron
191 }
192
193 pkg_config() {
194 fperms 0700 /var/log/neutron
195 fowners neutron:neutron /var/log neutron
196 }
197
198 src_prepare() {
199 #it's /bin/ip not /sbin/ip
200 sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/*
201 distutils-r1_src_prepare
202 }
203
204 python_compile_all() {
205 use doc && make -C doc html
206 }
207
208 python_test() {
209 # https://bugs.launchpad.net/neutron/+bug/1234857
210 # https://bugs.launchpad.net/swift/+bug/1249727
211 # https://bugs.launchpad.net/neutron/+bug/1251657
212 # turn multiprocessing off, testr will use it --parallel
213 local DISTUTILS_NO_PARALLEL_BUILD=1
214 # Move tests out that attempt net connection, have failures
215 mv $(find . -name test_ovs_tunnel.py) . || die
216 sed -e 's:test_app_using_ipv6_and_ssl:_&:' \
217 -e 's:test_start_random_port_with_ipv6:_&:' \
218 -i neutron/tests/unit/test_wsgi.py || die
219 testr init
220 testr run --parallel || die "failed testsuite under python2.7"
221 }
222
223 python_install() {
224 distutils-r1_python_install
225 if use server; then
226 newinitd "${FILESDIR}/neutron.initd" "neutron-server"
227 newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
228 dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
229 fi
230 if use dhcp; then
231 newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
232 newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
233 fi
234 if use l3; then
235 newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
236 newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
237 fi
238 if use metadata; then
239 newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
240 newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
241 fi
242 if use openvswitch; then
243 newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
244 newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
245 newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
246 newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
247 fi
248 if use linuxbridge; then
249 newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
250 newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
251 fi
252 diropts -m 755 -o neutron -g neutron
253 dodir /var/log/neutron /var/lib/neutron
254 keepdir /etc/neutron
255 insinto /etc/neutron
256 insopts -m 0640 -o neutron -g neutron
257
258 doins etc/*
259 # stupid renames
260 rm "${D}etc/neutron/quantum"
261 insinto /etc/neutron
262 doins -r "etc/neutron/plugins"
263 insopts -m 0640 -o root -g root
264 doins "etc/rootwrap.conf"
265 doins -r "etc/neutron/rootwrap.d"
266
267 insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
268 doins -r "neutron/db/migration/alembic_migrations/versions"
269
270 #add sudoers definitions for user neutron
271 insinto /etc/sudoers.d/
272 insopts -m 0440 -o root -g root
273 newins "${FILESDIR}/neutron.sudoersd" neutron
274
275 #remove superfluous stuff
276 rm -R "${D}/usr/etc/"
277 }
278
279 python_install_all() {
280 use doc && local HTML_DOCS=( doc/build/html/. )
281 distutils-r1_python_install_all
282 }
283
284
285
286 1.1 sys-cluster/neutron/neutron-2015.1.9999.ebuild
287
288 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/neutron-2015.1.9999.ebuild?rev=1.1&view=markup
289 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/sys-cluster/neutron/neutron-2015.1.9999.ebuild?rev=1.1&content-type=text/plain
290
291 Index: neutron-2015.1.9999.ebuild
292 ===================================================================
293 # Copyright 1999-2015 Gentoo Foundation
294 # Distributed under the terms of the GNU General Public License v2
295 # $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2015.1.9999.ebuild,v 1.1 2015/04/30 20:52:02 prometheanfire Exp $
296
297 EAPI=5
298 PYTHON_COMPAT=( python2_7 )
299
300 inherit distutils-r1 git-2 linux-info user
301
302 DESCRIPTION="A virtual network service for Openstack"
303 HOMEPAGE="https://launchpad.net/neutron"
304 EGIT_REPO_URI="https://github.com/openstack/neutron.git"
305 EGIT_BRANCH="stable/kilo"
306
307 LICENSE="Apache-2.0"
308 SLOT="0"
309 KEYWORDS=""
310 IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres"
311 REQUIRED_USE="|| ( mysql postgres sqlite )"
312
313 DEPEND="
314 dev-python/setuptools[${PYTHON_USEDEP}]
315 >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
316 <dev-python/pbr-1.0[${PYTHON_USEDEP}]
317 app-admin/sudo
318 test? (
319 ${RDEPEND}
320 >=dev-python/hacking-0.10.0[${PYTHON_USEDEP}]
321 <dev-python/hacking-0.11[${PYTHON_USEDEP}]
322 >=dev-python/cliff-1.10.0[${PYTHON_USEDEP}]
323 <dev-python/cliff-1.11.0[${PYTHON_USEDEP}]
324 >=dev-python/coverage-3.6[${PYTHON_USEDEP}]
325 >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}]
326 >=dev-python/mock-1.0[${PYTHON_USEDEP}]
327 >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}]
328 >=dev-python/requests-mock-0.6.0[${PYTHON_USEDEP}]
329 >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}]
330 !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}]
331 <dev-python/sphinx-1.3[${PYTHON_USEDEP}]
332 >=dev-python/oslo-sphinx-2.5.0[${PYTHON_USEDEP}]
333 <dev-python/oslo-sphinx-2.6.0[${PYTHON_USEDEP}]
334 >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}]
335 >=dev-python/testtools-0.9.36[${PYTHON_USEDEP}]
336 !~dev-python/testtools-1.2.0[${PYTHON_USEDEP}]
337 >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
338 >=dev-python/webtest-2.0[${PYTHON_USEDEP}]
339 >=dev-python/oslotest-1.5.1[${PYTHON_USEDEP}]
340 <dev-python/oslotest-1.6.0[${PYTHON_USEDEP}]
341 >=dev-python/tempest-lib-0.4.0[${PYTHON_USEDEP}]
342 )"
343
344 RDEPEND="
345 dev-python/paste[${PYTHON_USEDEP}]
346 >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
347 >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
348 !~dev-python/routes-2.0[${PYTHON_USEDEP}]
349 >=dev-python/eventlet-0.16.1[${PYTHON_USEDEP}]
350 !~dev-python/eventlet-0.17.0[${PYTHON_USEDEP}]
351 >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
352 >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
353 >=dev-python/requests-2.2.0[${PYTHON_USEDEP}]
354 !~dev-python/requests-2.4.0[${PYTHON_USEDEP}]
355 dev-python/jsonrpclib[${PYTHON_USEDEP}]
356 >=dev-python/jinja-2.6[${PYTHON_USEDEP}]
357 >=dev-python/keystonemiddleware-1.5.0[${PYTHON_USEDEP}]
358 <dev-python/keystonemiddleware-1.6.0[${PYTHON_USEDEP}]
359 >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
360 >=dev-python/python-neutronclient-2.3.11[${PYTHON_USEDEP}]
361 <dev-python/python-neutronclient-3.5.0[${PYTHON_USEDEP}]
362 >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
363 !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
364 sqlite? (
365 >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}]
366 <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}]
367 )
368 mysql? (
369 dev-python/mysql-python
370 >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
371 <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
372 )
373 postgres? (
374 dev-python/psycopg:2
375 >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}]
376 <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}]
377 )
378 >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
379 >=dev-python/python-keystoneclient-1.1.0[${PYTHON_USEDEP}]
380 <dev-python/python-keystoneclient-1.4.0[${PYTHON_USEDEP}]
381 >=dev-python/alembic-0.7.2[${PYTHON_USEDEP}]
382 >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
383 >=dev-python/stevedore-1.3.0[${PYTHON_USEDEP}]
384 <dev-python/stevedore-1.4.0[${PYTHON_USEDEP}]
385 >=dev-python/oslo-concurrency-1.8.0[${PYTHON_USEDEP}]
386 <dev-python/oslo-concurrency-1.9.0[${PYTHON_USEDEP}]
387 >=dev-python/oslo-config-1.9.3[${PYTHON_USEDEP}]
388 <dev-python/oslo-config-1.10.0[${PYTHON_USEDEP}]
389 >=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
390 <dev-python/oslo-context-0.3.0[${PYTHON_USEDEP}]
391 >=dev-python/oslo-db-1.7.0[${PYTHON_USEDEP}]
392 <dev-python/oslo-db-1.8.0[${PYTHON_USEDEP}]
393 >=dev-python/oslo-i18n-1.5.0[${PYTHON_USEDEP}]
394 <dev-python/oslo-i18n-1.6.0[${PYTHON_USEDEP}]
395 >=dev-python/oslo-log-1.0.0[${PYTHON_USEDEP}]
396 <dev-python/oslo-log-1.1.0[${PYTHON_USEDEP}]
397 >=dev-python/oslo-messaging-1.8.0[${PYTHON_USEDEP}]
398 <dev-python/oslo-messaging-1.9.0[${PYTHON_USEDEP}]
399 >=dev-python/oslo-middleware-1.0.0[${PYTHON_USEDEP}]
400 <dev-python/oslo-middleware-1.1.0[${PYTHON_USEDEP}]
401 >=dev-python/oslo-rootwrap-1.6.0[${PYTHON_USEDEP}]
402 <dev-python/oslo-rootwrap-1.7.0[${PYTHON_USEDEP}]
403 >=dev-python/oslo-serialization-1.4.0[${PYTHON_USEDEP}]
404 <dev-python/oslo-serialization-1.5.0[${PYTHON_USEDEP}]
405 >=dev-python/oslo-utils-1.4.0[${PYTHON_USEDEP}]
406 <dev-python/oslo-utils-1.5.0[${PYTHON_USEDEP}]
407 >=dev-python/python-novaclient-2.22.0[${PYTHON_USEDEP}]
408 <dev-python/python-novaclient-2.24.0[${PYTHON_USEDEP}]
409 dev-python/pyudev[${PYTHON_USEDEP}]
410 sys-apps/iproute2
411 net-misc/bridge-utils
412 net-firewall/ipset
413 openvswitch? ( net-misc/openvswitch )
414 dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
415
416 PATCHES=(
417 "${FILESDIR}/0001-Fixes-bug-in-interface-handling-of-ip_lib.py.patch"
418 "${FILESDIR}/0002-moving-vxlan-module-check-to-sanity-checks-and-makin.patch"
419 "${FILESDIR}/0003-fixes-error-logging-to-use-the-right-exception-paren.patch"
420 )
421
422 pkg_setup() {
423 linux-info_pkg_setup
424 CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
425 IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
426 NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
427 if linux_config_exists; then
428 for module in ${CONFIG_CHECK_MODULES}; do
429 linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
430 done
431 fi
432 enewgroup neutron
433 enewuser neutron -1 -1 /var/lib/neutron neutron
434 }
435
436 pkg_config() {
437 fperms 0700 /var/log/neutron
438 fowners neutron:neutron /var/log neutron
439 }
440
441 src_prepare() {
442 #it's /bin/ip not /sbin/ip
443 sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/*
444 distutils-r1_src_prepare
445 }
446
447 python_compile_all() {
448 use doc && make -C doc html
449 }
450
451 python_test() {
452 # https://bugs.launchpad.net/neutron/+bug/1234857
453 # https://bugs.launchpad.net/swift/+bug/1249727
454 # https://bugs.launchpad.net/neutron/+bug/1251657
455 # turn multiprocessing off, testr will use it --parallel
456 local DISTUTILS_NO_PARALLEL_BUILD=1
457 # Move tests out that attempt net connection, have failures
458 mv $(find . -name test_ovs_tunnel.py) . || die
459 sed -e 's:test_app_using_ipv6_and_ssl:_&:' \
460 -e 's:test_start_random_port_with_ipv6:_&:' \
461 -i neutron/tests/unit/test_wsgi.py || die
462 testr init
463 testr run --parallel || die "failed testsuite under python2.7"
464 }
465
466 python_install() {
467 distutils-r1_python_install
468 if use server; then
469 newinitd "${FILESDIR}/neutron.initd" "neutron-server"
470 newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
471 dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
472 fi
473 if use dhcp; then
474 newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
475 newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
476 fi
477 if use l3; then
478 newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
479 newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
480 fi
481 if use metadata; then
482 newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
483 newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
484 fi
485 if use openvswitch; then
486 newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
487 newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
488 newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
489 newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
490 fi
491 if use linuxbridge; then
492 newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
493 newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
494 fi
495 diropts -m 755 -o neutron -g neutron
496 dodir /var/log/neutron /var/lib/neutron
497 keepdir /etc/neutron
498 insinto /etc/neutron
499 insopts -m 0640 -o neutron -g neutron
500
501 doins etc/*
502 # stupid renames
503 rm "${D}etc/neutron/quantum"
504 insinto /etc/neutron
505 doins -r "etc/neutron/plugins"
506 insopts -m 0640 -o root -g root
507 doins "etc/rootwrap.conf"
508 doins -r "etc/neutron/rootwrap.d"
509
510 insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
511 doins -r "neutron/db/migration/alembic_migrations/versions"
512
513 #add sudoers definitions for user neutron
514 insinto /etc/sudoers.d/
515 insopts -m 0440 -o root -g root
516 newins "${FILESDIR}/neutron.sudoersd" neutron
517
518 #remove superfluous stuff
519 rm -R "${D}/usr/etc/"
520 }
521
522 python_install_all() {
523 use doc && local HTML_DOCS=( doc/build/html/. )
524 distutils-r1_python_install_all
525 }