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/neutron/
Date: Mon, 01 Jul 2019 03:32:26
Message-Id: 1561951936.ab75abc39a3d2578ce570d5ff573f13ff077f577.prometheanfire@gentoo
1 commit: ab75abc39a3d2578ce570d5ff573f13ff077f577
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 1 03:31:22 2019 +0000
4 Commit: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Mon Jul 1 03:32:16 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab75abc3
7
8 sys-cluster/neutron: 13.0.4 and 14.0.2 bump
9
10 Package-Manager: Portage-2.3.66, Repoman-2.3.16
11 Signed-off-by: Matthew Thode <prometheanfire <AT> gentoo.org>
12
13 sys-cluster/neutron/Manifest | 6 +
14 sys-cluster/neutron/neutron-13.0.4.ebuild | 231 ++++++++++++++++++++++++++++++
15 sys-cluster/neutron/neutron-14.0.2.ebuild | 231 ++++++++++++++++++++++++++++++
16 3 files changed, 468 insertions(+)
17
18 diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
19 index e868d8e6b55..67fadd2c898 100644
20 --- a/sys-cluster/neutron/Manifest
21 +++ b/sys-cluster/neutron/Manifest
22 @@ -1,10 +1,16 @@
23 DIST neutron-13.0.3.tar.gz 10599028 BLAKE2B 1eb3bcbf9986531d24d06de6dcf71707fb6599bf20d85814af42ce9feb24059a94592c2741fbcd71fad78ff829f93f811dbbe63aa2cdb3931b7499b5de2bcc2e SHA512 1c229256733bb1ea03ae3296607a7ee6c9004c03a6c57fdb9c13f006bbb337b39a57c4690e3a59a7d9e313d0f450c4b81f2100a64a14e5e5c81a188a8116e1e9
24 +DIST neutron-13.0.4.tar.gz 10609216 BLAKE2B 4e9da9796d66ac5f9b7be98f29338a9191a12c93ff2d5dcb6f98358fe491262d4f874b4defbdbb572319d0226f2bf4ea21af485aec404a7c76d879139aa6483b SHA512 a8276fba604ed7c2a047cb3a9c16286d760b17191cd650b8bbc2153f49a68ac3a16edde35c6631f538807d463cbd91d4d722a081b373eca0f34d0883624c1bc6
25 DIST neutron-14.0.1.tar.gz 10711126 BLAKE2B 43bf5ffeb46249207b8ab55cc01812e12ac719b680a867cbd374fdad50df2443eb44df16e97fff9845467284ac3dbaa3e0e1886703a868c7f26087d8e4e27a1a SHA512 9181d1a63550e205114f33e5626ff66f306d424505fb42cf21bcc8673e80b8e36b8a0bf33d3f2ec90343868a7e2e1f6b221831df64d1bec8e84a1d956da69392
26 +DIST neutron-14.0.2.tar.gz 10734311 BLAKE2B fea60def53a82bddf0815701d0f4998a51acc1e8fea6c589761852605c3a30b0f9c31656dc251f53698fe633befe40eb6eb32225e1ea6412f71fc6550d3698b5 SHA512 ab58e0fdf501e279532b78f02326e56722a81a8baa0800e2c28bf2d46ef7d9f20fc4516a8b8f84f2738aaaef83997b096223d3abbc07c6f712ca4d4fd587c731
27 DIST neutron-configs-13.0.3.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
28 +DIST neutron-configs-13.0.4.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
29 DIST neutron-configs-14.0.1.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
30 +DIST neutron-configs-14.0.2.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
31 DIST neutron-configs-2018.2.9999.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
32 DIST neutron-configs-2019.1.9999.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
33 DIST neutron-ml2-plugins-13.0.3.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
34 +DIST neutron-ml2-plugins-13.0.4.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
35 DIST neutron-ml2-plugins-14.0.1.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
36 +DIST neutron-ml2-plugins-14.0.2.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
37 DIST neutron-ml2-plugins-2018.2.9999.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
38 DIST neutron-ml2-plugins-2019.1.9999.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
39
40 diff --git a/sys-cluster/neutron/neutron-13.0.4.ebuild b/sys-cluster/neutron/neutron-13.0.4.ebuild
41 new file mode 100644
42 index 00000000000..7b0f728c6c0
43 --- /dev/null
44 +++ b/sys-cluster/neutron/neutron-13.0.4.ebuild
45 @@ -0,0 +1,231 @@
46 +# Copyright 1999-2019 Gentoo Authors
47 +# Distributed under the terms of the GNU General Public License v2
48 +
49 +EAPI=6
50 +PYTHON_COMPAT=( python2_7 python3_{5,6} )
51 +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
52 +
53 +inherit distutils-r1 linux-info user
54 +
55 +DESCRIPTION="A virtual network service for Openstack"
56 +HOMEPAGE="https://launchpad.net/neutron"
57 +if [[ ${PV} == *9999 ]];then
58 + inherit git-r3
59 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/rocky/configs.tar.gz -> neutron-configs-${PV}.tar.gz
60 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/rocky/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
61 + EGIT_REPO_URI="https://github.com/openstack/neutron.git"
62 + EGIT_BRANCH="stable/rocky"
63 +else
64 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/rocky/configs.tar.gz -> neutron-configs-${PV}.tar.gz
65 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/rocky/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
66 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
67 + KEYWORDS="~amd64 ~arm64 ~x86"
68 +fi
69 +
70 +LICENSE="Apache-2.0"
71 +SLOT="0"
72 +IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
73 +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
74 + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
75 + || ( openvswitch linuxbridge ) )"
76 +
77 +CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
78 + !~dev-python/pbr-2.1.0"
79 +DEPEND="
80 + dev-python/setuptools[${PYTHON_USEDEP}]
81 + ${CDEPEND}
82 + app-admin/sudo"
83 +
84 +RDEPEND="
85 + ${CDEPEND}
86 + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
87 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
88 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
89 + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
90 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
91 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
92 + >=dev-python/pecan-1.1.1[${PYTHON_USEDEP}]
93 + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
94 + >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
95 + >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
96 + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
97 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
98 + >=dev-python/neutron-lib-1.18.0[${PYTHON_USEDEP}]
99 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
100 + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
101 + >=dev-python/ryu-4.24[${PYTHON_USEDEP}]
102 + compute-only? (
103 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
104 + )
105 + sqlite? (
106 + >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
107 + )
108 + mysql? (
109 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
110 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
111 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
112 + )
113 + postgres? (
114 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
115 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
116 + )
117 + >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
118 + >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
119 + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
120 + >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
121 + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
122 + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
123 + >=dev-python/oslo-concurrency-3.25.0[${PYTHON_USEDEP}]
124 + >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
125 + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
126 + >=dev-python/oslo-db-4.27.0[${PYTHON_USEDEP}]
127 + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
128 + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
129 + >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
130 + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
131 + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
132 + >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
133 + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
134 + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
135 + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
136 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
137 + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
138 + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
139 + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
140 + >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
141 + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
142 + >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
143 + >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
144 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
145 + >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}]
146 + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
147 + >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
148 + >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
149 + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
150 + dev-python/pyudev[${PYTHON_USEDEP}]
151 + sys-apps/iproute2
152 + net-misc/iputils[arping]
153 + net-misc/bridge-utils
154 + net-firewall/ipset
155 + net-firewall/iptables
156 + net-firewall/ebtables
157 + net-firewall/conntrack-tools
158 + haproxy? ( net-proxy/haproxy )
159 + openvswitch? ( net-misc/openvswitch )
160 + ipv6? (
161 + net-misc/radvd
162 + >=net-misc/dibbler-1.0.1
163 + )
164 + dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
165 +
166 +#PATCHES=(
167 +#)
168 +
169 +pkg_pretend() {
170 + linux-info_pkg_setup
171 + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
172 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
173 + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
174 + if linux_config_exists; then
175 + for module in ${CONFIG_CHECK_MODULES}; do
176 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
177 + done
178 + fi
179 +}
180 +
181 +pkg_setup() {
182 + enewgroup neutron
183 + enewuser neutron -1 -1 /var/lib/neutron neutron
184 +}
185 +
186 +pkg_config() {
187 + fperms 0700 /var/log/neutron
188 + fowners neutron:neutron /var/log neutron
189 +}
190 +
191 +src_prepare() {
192 + sed -i '/^hacking/d' test-requirements.txt || die
193 + # it's /bin/ip not /sbin/ip
194 + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
195 + distutils-r1_python_prepare_all
196 +}
197 +
198 +python_install_all() {
199 + distutils-r1_python_install_all
200 + if use server; then
201 + newinitd "${FILESDIR}/neutron.initd" "neutron-server"
202 + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
203 + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
204 + fi
205 + if use dhcp; then
206 + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
207 + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
208 + fi
209 + if use l3; then
210 + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
211 + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
212 + fi
213 + if use metadata; then
214 + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
215 + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
216 + fi
217 + if use openvswitch; then
218 + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
219 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
220 + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
221 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
222 + fi
223 + if use linuxbridge; then
224 + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
225 + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
226 + fi
227 + diropts -m 755 -o neutron -g neutron
228 + dodir /var/log/neutron /var/lib/neutron
229 + keepdir /etc/neutron
230 + insinto /etc/neutron
231 + insopts -m 0640 -o neutron -g neutron
232 +
233 + doins etc/*
234 + # stupid renames
235 + insinto /etc/neutron
236 + doins -r "etc/neutron/plugins"
237 + insopts -m 0640 -o root -g root
238 + doins "etc/rootwrap.conf"
239 + doins -r "etc/neutron/rootwrap.d"
240 +
241 + #add sudoers definitions for user neutron
242 + insinto /etc/sudoers.d/
243 + insopts -m 0440 -o root -g root
244 + newins "${FILESDIR}/neutron.sudoersd" neutron
245 +
246 + # add generated configs
247 + cd "${D}/etc/neutron" || die
248 + unpack "neutron-configs-${PV}.tar.gz"
249 + cd "${D}/etc/neutron/plugins/ml2" || die
250 + unpack "neutron-ml2-plugins-${PV}.tar.gz"
251 +
252 + # correcting perms
253 + fowners neutron:neutron -R "/etc/neutron"
254 + fperms o-rwx -R "/etc/neutron/"
255 +
256 + #remove superfluous stuff
257 + rm -R "${D}/usr/etc/"
258 +}
259 +
260 +python_install() {
261 + distutils-r1_python_install
262 + # copy migration conf file (not coppied on install via setup.py script)
263 + insopts -m 0644
264 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
265 + doins -r "neutron/db/migration/alembic_migrations/versions"
266 +}
267 +
268 +pkg_postinst() {
269 + elog
270 + elog "neutron-server's conf.d file may need updating to include additional ini files"
271 + elog "We currently assume the ml2 plugin will be used but do not make assumptions"
272 + elog "on if you will use openvswitch or linuxbridge (or something else)"
273 + elog
274 + elog "Other conf.d files may need updating too, but should be good for the default use case"
275 + elog
276 +}
277
278 diff --git a/sys-cluster/neutron/neutron-14.0.2.ebuild b/sys-cluster/neutron/neutron-14.0.2.ebuild
279 new file mode 100644
280 index 00000000000..b1729a1febb
281 --- /dev/null
282 +++ b/sys-cluster/neutron/neutron-14.0.2.ebuild
283 @@ -0,0 +1,231 @@
284 +# Copyright 1999-2019 Gentoo Authors
285 +# Distributed under the terms of the GNU General Public License v2
286 +
287 +EAPI=7
288 +PYTHON_COMPAT=( python2_7 python3_{5,6,7} )
289 +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
290 +
291 +inherit distutils-r1 linux-info user
292 +
293 +DESCRIPTION="A virtual network service for Openstack"
294 +HOMEPAGE="https://launchpad.net/neutron"
295 +if [[ ${PV} == *9999 ]];then
296 + inherit git-r3
297 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
298 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
299 + EGIT_REPO_URI="https://github.com/openstack/neutron.git"
300 + EGIT_BRANCH="stable/stein"
301 +else
302 + SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
303 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
304 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
305 + KEYWORDS="~amd64 ~arm64 ~x86"
306 +fi
307 +
308 +LICENSE="Apache-2.0"
309 +SLOT="0"
310 +IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
311 +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
312 + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
313 + || ( openvswitch linuxbridge ) )"
314 +
315 +CDEPEND=">=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]"
316 +DEPEND="
317 + dev-python/setuptools[${PYTHON_USEDEP}]
318 + ${CDEPEND}
319 + app-admin/sudo"
320 +
321 +RDEPEND="
322 + ${CDEPEND}
323 + >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
324 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
325 + >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
326 + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
327 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
328 + !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
329 + >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
330 + >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
331 + >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
332 + >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
333 + >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
334 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
335 + >=dev-python/neutron-lib-1.25.0[${PYTHON_USEDEP}]
336 + >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
337 + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
338 + compute-only? (
339 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
340 + )
341 + sqlite? (
342 + >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
343 + )
344 + mysql? (
345 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
346 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
347 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
348 + )
349 + postgres? (
350 + >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
351 + >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
352 + )
353 + >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
354 + >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
355 + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
356 + >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
357 + >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
358 + >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
359 + >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
360 + >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
361 + >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
362 + >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
363 + >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
364 + >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
365 + >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
366 + >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
367 + >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
368 + >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
369 + >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
370 + >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
371 + >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
372 + !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
373 + >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
374 + !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
375 + >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
376 + >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
377 + >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
378 + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
379 + >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
380 + >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
381 + >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
382 + >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
383 + >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
384 + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
385 + >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
386 + >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
387 + >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
388 + dev-python/pyudev[${PYTHON_USEDEP}]
389 + sys-apps/iproute2
390 + net-misc/iputils[arping]
391 + net-misc/bridge-utils
392 + net-firewall/ipset
393 + net-firewall/iptables
394 + net-firewall/ebtables
395 + net-firewall/conntrack-tools
396 + haproxy? ( net-proxy/haproxy )
397 + openvswitch? ( net-misc/openvswitch )
398 + ipv6? (
399 + net-misc/radvd
400 + >=net-misc/dibbler-1.0.1
401 + )
402 + dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
403 +
404 +#PATCHES=(
405 +#)
406 +
407 +pkg_pretend() {
408 + linux-info_pkg_setup
409 + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
410 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
411 + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
412 + if linux_config_exists; then
413 + for module in ${CONFIG_CHECK_MODULES}; do
414 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
415 + done
416 + fi
417 +}
418 +
419 +pkg_setup() {
420 + enewgroup neutron
421 + enewuser neutron -1 -1 /var/lib/neutron neutron
422 +}
423 +
424 +pkg_config() {
425 + fperms 0700 /var/log/neutron
426 + fowners neutron:neutron /var/log neutron
427 +}
428 +
429 +src_prepare() {
430 + sed -i '/^hacking/d' test-requirements.txt || die
431 + # it's /bin/ip not /sbin/ip
432 + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
433 + distutils-r1_python_prepare_all
434 +}
435 +
436 +python_install_all() {
437 + distutils-r1_python_install_all
438 + if use server; then
439 + newinitd "${FILESDIR}/neutron.initd" "neutron-server"
440 + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
441 + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
442 + fi
443 + if use dhcp; then
444 + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
445 + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
446 + fi
447 + if use l3; then
448 + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
449 + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
450 + fi
451 + if use metadata; then
452 + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
453 + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
454 + fi
455 + if use openvswitch; then
456 + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
457 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
458 + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
459 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
460 + fi
461 + if use linuxbridge; then
462 + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
463 + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
464 + fi
465 + diropts -m 755 -o neutron -g neutron
466 + dodir /var/log/neutron /var/lib/neutron
467 + keepdir /etc/neutron
468 + insinto /etc/neutron
469 + insopts -m 0640 -o neutron -g neutron
470 +
471 + doins etc/*
472 + # stupid renames
473 + insinto /etc/neutron
474 + doins -r "etc/neutron/plugins"
475 + insopts -m 0640 -o root -g root
476 + doins "etc/rootwrap.conf"
477 + doins -r "etc/neutron/rootwrap.d"
478 +
479 + #add sudoers definitions for user neutron
480 + insinto /etc/sudoers.d/
481 + insopts -m 0440 -o root -g root
482 + newins "${FILESDIR}/neutron.sudoersd" neutron
483 +
484 + # add generated configs
485 + cd "${D}/etc/neutron" || die
486 + unpack "neutron-configs-${PV}.tar.gz"
487 + cd "${D}/etc/neutron/plugins/ml2" || die
488 + unpack "neutron-ml2-plugins-${PV}.tar.gz"
489 +
490 + # correcting perms
491 + fowners neutron:neutron -R "/etc/neutron"
492 + fperms o-rwx -R "/etc/neutron/"
493 +
494 + #remove superfluous stuff
495 + rm -R "${D}/usr/etc/"
496 +}
497 +
498 +python_install() {
499 + distutils-r1_python_install
500 + # copy migration conf file (not coppied on install via setup.py script)
501 + insopts -m 0644
502 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
503 + doins -r "neutron/db/migration/alembic_migrations/versions"
504 +}
505 +
506 +pkg_postinst() {
507 + elog
508 + elog "neutron-server's conf.d file may need updating to include additional ini files"
509 + elog "We currently assume the ml2 plugin will be used but do not make assumptions"
510 + elog "on if you will use openvswitch or linuxbridge (or something else)"
511 + elog
512 + elog "Other conf.d files may need updating too, but should be good for the default use case"
513 + elog
514 +}