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/neutron/
Date: Thu, 01 Mar 2018 09:57:54
Message-Id: 1519898253.4c48f2829ed9a3ce1e0320981d710eee756bf05e.prometheanfire@gentoo
1 commit: 4c48f2829ed9a3ce1e0320981d710eee756bf05e
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Thu Mar 1 09:45:22 2018 +0000
4 Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 1 09:57:33 2018 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4c48f282
7
8 sys-cluster/neutron: 12.0.0 bup QUEENS
9
10 Package-Manager: Portage-2.3.19, Repoman-2.3.6
11
12 sys-cluster/neutron/Manifest | 3 +
13 sys-cluster/neutron/neutron-12.0.0.ebuild | 256 ++++++++++++++++++++++++++++++
14 2 files changed, 259 insertions(+)
15
16 diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
17 index a37a6ed3030..e0914300aa6 100644
18 --- a/sys-cluster/neutron/Manifest
19 +++ b/sys-cluster/neutron/Manifest
20 @@ -1,7 +1,10 @@
21 DIST neutron-11.0.2.tar.gz 10481255 BLAKE2B 3e2ca3e7e24f21d92823b3d2e44d3fabe17d40cac493797a960b7c20fd906f3bd8ca946ca0729f8e03079f6615e2094f9228a01c2fc1e79ab2cf63bd2a8a5b36 SHA512 ba86e6448d0ae6e95dd4caa41888ee3d4ceeb4353b655b20912871e05cc2440f7d54bef7b119e1cec98da8fe3b9f22966ca8ad05dc3a5931b66b776bef9240cf
22 +DIST neutron-12.0.0.tar.gz 10473897 BLAKE2B ba40e72e98f29294c0ef1ecf39987b9b8c6f9b2ed3da62a30a3fa28c7187497b6e0aba22b0393db1b111f61519ed24b139e898c5cec7307445ff1ad10e8db2ff SHA512 407a5cd62c3279336082f7357c6b4660795e6a03dbffca9b972639fed511b394acc65b1470b9b7d05329fbee20450ab737c36469cee025cd23d2a52ea527048c
23 DIST neutron-configs-11.0.2.tar.gz 25030 BLAKE2B 6ca7507571983cdf576cb943bb2981623351c3de4220ccf990ba478147bcbaea06f4d5218ba6ad65c98f2a0c60c820be03429e8a22a624cf10339b80fcf17bbd SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a
24 +DIST neutron-configs-12.0.0.tar.gz 26252 BLAKE2B c1493e313dc590445e60dcf8df9fc2b89a8e96e57ce072577b3a73fe247218a9ef9805ca9c61b79d2bd4c7aa088933762389258c1184e4572975db03c1674869 SHA512 05c8774d142a59da3e294f2351f1cc89f8cd275aedf3771c11d8176305ceec472980673f0ed07b3f4219a8ff4b4bb6e79f836a1f11ddd8e003d1ccd49051e5ac
25 DIST neutron-configs-2017.2.9999.tar.gz 25030 BLAKE2B 6ca7507571983cdf576cb943bb2981623351c3de4220ccf990ba478147bcbaea06f4d5218ba6ad65c98f2a0c60c820be03429e8a22a624cf10339b80fcf17bbd SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a
26 DIST neutron-configs-2018.1.9999.tar.gz 26252 BLAKE2B c1493e313dc590445e60dcf8df9fc2b89a8e96e57ce072577b3a73fe247218a9ef9805ca9c61b79d2bd4c7aa088933762389258c1184e4572975db03c1674869 SHA512 05c8774d142a59da3e294f2351f1cc89f8cd275aedf3771c11d8176305ceec472980673f0ed07b3f4219a8ff4b4bb6e79f836a1f11ddd8e003d1ccd49051e5ac
27 DIST neutron-ml2-plugins-11.0.2.tar.gz 6885 BLAKE2B c953d7222932d09c545dcfe01923f77cbc9e76157f78e5cb85a8e3bb03c8f3b4ab2bcc7eb2fc213578f71cf70543c4182c98bc6e5947fc1a0cbffe3d845bce20 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd
28 +DIST neutron-ml2-plugins-12.0.0.tar.gz 7060 BLAKE2B 7690218233971ab50623900e01fe4311e2b599661838a232616cdc4b56bff1a7fd6e6c3b7fe77f79c78c024eb571525b0e21a306c18fd884bd0dfdd6b814f2b4 SHA512 259db5513c014c6dda97432834f90744dec3732292a2de71d488e537f0f660959ea09890cf3dd3d22206295b259dad83440a60ee28e84a5b125547f869e0016b
29 DIST neutron-ml2-plugins-2017.2.9999.tar.gz 6885 BLAKE2B c953d7222932d09c545dcfe01923f77cbc9e76157f78e5cb85a8e3bb03c8f3b4ab2bcc7eb2fc213578f71cf70543c4182c98bc6e5947fc1a0cbffe3d845bce20 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd
30 DIST neutron-ml2-plugins-2018.1.9999.tar.gz 7060 BLAKE2B 7690218233971ab50623900e01fe4311e2b599661838a232616cdc4b56bff1a7fd6e6c3b7fe77f79c78c024eb571525b0e21a306c18fd884bd0dfdd6b814f2b4 SHA512 259db5513c014c6dda97432834f90744dec3732292a2de71d488e537f0f660959ea09890cf3dd3d22206295b259dad83440a60ee28e84a5b125547f869e0016b
31
32 diff --git a/sys-cluster/neutron/neutron-12.0.0.ebuild b/sys-cluster/neutron/neutron-12.0.0.ebuild
33 new file mode 100644
34 index 00000000000..ab3477efa1e
35 --- /dev/null
36 +++ b/sys-cluster/neutron/neutron-12.0.0.ebuild
37 @@ -0,0 +1,256 @@
38 +# Copyright 1999-2018 Gentoo Foundation
39 +# Distributed under the terms of the GNU General Public License v2
40 +
41 +EAPI=6
42 +PYTHON_COMPAT=( python2_7 )
43 +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
44 +
45 +inherit distutils-r1 linux-info user
46 +
47 +DESCRIPTION="A virtual network service for Openstack"
48 +HOMEPAGE="https://launchpad.net/neutron"
49 +if [[ ${PV} == *9999 ]];then
50 + inherit git-r3
51 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/queens/configs.tar.gz -> neutron-configs-${PV}.tar.gz
52 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/queens/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
53 + EGIT_REPO_URI="https://github.com/openstack/neutron.git"
54 + EGIT_BRANCH="stable/queens"
55 +else
56 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/queens/configs.tar.gz -> neutron-configs-${PV}.tar.gz
57 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/queens/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
58 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
59 + KEYWORDS="~amd64 ~arm64 ~x86"
60 +fi
61 +
62 +LICENSE="Apache-2.0"
63 +SLOT="0"
64 +IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
65 +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
66 + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
67 + || ( openvswitch linuxbridge ) )"
68 +
69 +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
70 + !~dev-python/pbr-2.1.0"
71 +DEPEND="
72 + dev-python/setuptools[${PYTHON_USEDEP}]
73 + ${CDEPEND}
74 + app-admin/sudo"
75 +
76 +RDEPEND="
77 + ${CDEPEND}
78 + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
79 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
80 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
81 + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
82 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
83 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
84 + <dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
85 + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
86 + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
87 + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
88 + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
89 + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
90 + >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
91 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
92 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
93 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
94 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
95 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
96 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
97 + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
98 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
99 + >=dev-python/neutron-lib-1.13.0[${PYTHON_USEDEP}]
100 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
101 + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
102 + >=dev-python/ryu-4.14[${PYTHON_USEDEP}]
103 + compute-only? (
104 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
105 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
106 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
107 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
108 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
109 + )
110 + sqlite? (
111 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
112 + !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
113 + !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
114 + !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
115 + !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
116 + )
117 + mysql? (
118 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
119 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
120 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
121 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
122 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
123 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
124 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
125 + )
126 + postgres? (
127 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
128 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
129 + !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
130 + !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
131 + !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
132 + !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
133 + )
134 + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
135 + >=dev-python/keystoneauth-3.3.0[${PYTHON_USEDEP}]
136 + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
137 + >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
138 + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
139 + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
140 + >=dev-python/oslo-concurrency-3.25.0[${PYTHON_USEDEP}]
141 + >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
142 + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
143 + >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
144 + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
145 + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
146 + >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
147 + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
148 + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
149 + >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
150 + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
151 + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
152 + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
153 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
154 + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
155 + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
156 + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
157 + >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
158 + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
159 + >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
160 + >=dev-python/ovsdbapp-0.8.0[${PYTHON_USEDEP}]
161 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
162 + >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}]
163 + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
164 + >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
165 + >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
166 + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
167 + dev-python/pyudev[${PYTHON_USEDEP}]
168 + sys-apps/iproute2
169 + net-misc/iputils[arping]
170 + net-misc/bridge-utils
171 + net-firewall/ipset
172 + net-firewall/iptables
173 + net-firewall/ebtables
174 + net-firewall/conntrack-tools
175 + haproxy? ( net-proxy/haproxy )
176 + openvswitch? ( <=net-misc/openvswitch-2.8.9999 )
177 + ipv6? (
178 + net-misc/radvd
179 + >=net-misc/dibbler-1.0.1
180 + )
181 + dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
182 +
183 +#PATCHES=(
184 +#)
185 +
186 +pkg_pretend() {
187 + linux-info_pkg_setup
188 + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
189 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
190 + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
191 + if linux_config_exists; then
192 + for module in ${CONFIG_CHECK_MODULES}; do
193 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
194 + done
195 + fi
196 +}
197 +
198 +pkg_setup() {
199 + enewgroup neutron
200 + enewuser neutron -1 -1 /var/lib/neutron neutron
201 +}
202 +
203 +pkg_config() {
204 + fperms 0700 /var/log/neutron
205 + fowners neutron:neutron /var/log neutron
206 +}
207 +
208 +src_prepare() {
209 + sed -i '/^hacking/d' test-requirements.txt || die
210 + # it's /bin/ip not /sbin/ip
211 + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
212 + distutils-r1_python_prepare_all
213 +}
214 +
215 +python_install_all() {
216 + distutils-r1_python_install_all
217 + if use server; then
218 + newinitd "${FILESDIR}/neutron.initd" "neutron-server"
219 + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
220 + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
221 + fi
222 + if use dhcp; then
223 + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
224 + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
225 + fi
226 + if use l3; then
227 + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
228 + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
229 + fi
230 + if use metadata; then
231 + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
232 + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
233 + fi
234 + if use openvswitch; then
235 + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
236 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
237 + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
238 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
239 + fi
240 + if use linuxbridge; then
241 + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
242 + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
243 + fi
244 + diropts -m 755 -o neutron -g neutron
245 + dodir /var/log/neutron /var/lib/neutron
246 + keepdir /etc/neutron
247 + insinto /etc/neutron
248 + insopts -m 0640 -o neutron -g neutron
249 +
250 + doins etc/*
251 + # stupid renames
252 + insinto /etc/neutron
253 + doins -r "etc/neutron/plugins"
254 + insopts -m 0640 -o root -g root
255 + doins "etc/rootwrap.conf"
256 + doins -r "etc/neutron/rootwrap.d"
257 +
258 + #add sudoers definitions for user neutron
259 + insinto /etc/sudoers.d/
260 + insopts -m 0440 -o root -g root
261 + newins "${FILESDIR}/neutron.sudoersd" neutron
262 +
263 + # add generated configs
264 + cd "${D}/etc/neutron" || die
265 + unpack "neutron-configs-${PV}.tar.gz"
266 + cd "${D}/etc/neutron/plugins/ml2" || die
267 + unpack "neutron-ml2-plugins-${PV}.tar.gz"
268 +
269 + # correcting perms
270 + fowners neutron:neutron -R "/etc/neutron"
271 + fperms o-rwx -R "/etc/neutron/"
272 +
273 + #remove superfluous stuff
274 + rm -R "${D}/usr/etc/"
275 +}
276 +
277 +python_install() {
278 + distutils-r1_python_install
279 + # copy migration conf file (not coppied on install via setup.py script)
280 + insopts -m 0644
281 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
282 + doins -r "neutron/db/migration/alembic_migrations/versions"
283 +}
284 +
285 +pkg_postinst() {
286 + elog
287 + elog "neutron-server's conf.d file may need updating to include additional ini files"
288 + elog "We currently assume the ml2 plugin will be used but do not make assumptions"
289 + elog "on if you will use openvswitch or linuxbridge (or something else)"
290 + elog
291 + elog "Other conf.d files may need updating too, but should be good for the default use case"
292 + elog
293 +}