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 Jun 2017 23:55:49
Message-Id: 1496361325.8ffc39b0ccd83d9bf2a2fb7a995c85e851b3d242.prometheanfire@gentoo
1 commit: 8ffc39b0ccd83d9bf2a2fb7a995c85e851b3d242
2 Author: Matthew Thode <prometheanfire <AT> gentoo <DOT> org>
3 AuthorDate: Thu Jun 1 23:31:44 2017 +0000
4 Commit: Matt Thode <prometheanfire <AT> gentoo <DOT> org>
5 CommitDate: Thu Jun 1 23:55:25 2017 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8ffc39b0
7
8 sys-cluster/neutron: bup 9.4.0 and 10.0.2
9
10 Package-Manager: Portage-2.3.5, Repoman-2.3.2
11
12 sys-cluster/neutron/Manifest | 6 +
13 sys-cluster/neutron/neutron-10.0.2.ebuild | 237 ++++++++++++++++++++++++++++++
14 sys-cluster/neutron/neutron-9.4.0.ebuild | 229 +++++++++++++++++++++++++++++
15 3 files changed, 472 insertions(+)
16
17 diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
18 index c659c0f8703..fa38e044e2f 100644
19 --- a/sys-cluster/neutron/Manifest
20 +++ b/sys-cluster/neutron/Manifest
21 @@ -1,10 +1,16 @@
22 DIST neutron-10.0.1.tar.gz 3139904 SHA256 1447feefdddbccb2ea2c778b75e5270513db8baa5ba32bd82108e7b58d3b411c SHA512 2d4d0416425e5b766993ccc3e263d2678af3325502b392b8d9cba075f9dfae64d2f2211a1a36e09b9bd43f102972491b737265844b81be03efcf3ee85b6896ac WHIRLPOOL 7a02c8185f77f260040fb05b932a478a8d3297b7e76087fc82a43429697d2674ba931a40af9444be4723bf36b5c330cdc7afea6f2f66360565f338da16434fc9
23 +DIST neutron-10.0.2.tar.gz 3113218 SHA256 b3f67bc97ee17a48990f2baccf0d9ae67e308896cca25fc58c8bf5453139242e SHA512 9f1fb60ab4508d84039419a1e0ce5459235a351846027d809da98f7de568de3d0a3fb962001afe8d93029d1da0087a7666b57e6d6cedc245c3dac120bf8cf677 WHIRLPOOL a648e9af2a5a47d88a52bf7ec102d4c050ef440f14cd6bd7b1b4653ed7ffd444696c8abc2a7c84b95ab82c77423cdcd48d06479b022ca20f031df10212e7e526
24 DIST neutron-9.3.1.tar.gz 3041444 SHA256 d74bf8bcc749fea569421a190d5b68180837e80482531521c5623184c2c601cf SHA512 651d2172d375c30832eb01e1fadbe12ffde57495690194b942e83318996066040091106f4d00dc826db41727330ef8453e14f193005b0ec9732bf5d8cee9cbe2 WHIRLPOOL 84244e1ace8fce30253ab47a9cf7e09bb4b759c48514761951546530ba6092821d95f864970a22e596ab07029c1d23f940b1f2c44a9708bcafdc677c4ff004f2
25 +DIST neutron-9.4.0.tar.gz 3050485 SHA256 b3290beaddb0554bb2fa248bbac199c91ef3a24677116100b89fcd3916a927ff SHA512 3f016bcefde149c9b46f8dc6a94c7b346aa734522e0c3966e85198b5e8b2afb0464b9b5964c1f4a7174717e406e79fd228c48a9bb65d85a51362f9ba75e7f385 WHIRLPOOL 8119c8bfd0b01ea132e61ecbcd0e4c04fb550e24387555de43a8fa2fd43738aa92750d0c7d78e54e321fdd454e673e1704e223fd3360b0ab368e910fa73d7953
26 DIST neutron-configs-10.0.1.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
27 +DIST neutron-configs-10.0.2.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
28 DIST neutron-configs-2016.2.9999.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601
29 DIST neutron-configs-2017.1.9999.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657
30 DIST neutron-configs-9.3.1.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601
31 +DIST neutron-configs-9.4.0.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601
32 DIST neutron-ml2-plugins-10.0.1.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
33 +DIST neutron-ml2-plugins-10.0.2.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
34 DIST neutron-ml2-plugins-2016.2.9999.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671
35 DIST neutron-ml2-plugins-2017.1.9999.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863
36 DIST neutron-ml2-plugins-9.3.1.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671
37 +DIST neutron-ml2-plugins-9.4.0.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671
38
39 diff --git a/sys-cluster/neutron/neutron-10.0.2.ebuild b/sys-cluster/neutron/neutron-10.0.2.ebuild
40 new file mode 100644
41 index 00000000000..3d7f813965c
42 --- /dev/null
43 +++ b/sys-cluster/neutron/neutron-10.0.2.ebuild
44 @@ -0,0 +1,237 @@
45 +# Copyright 1999-2017 Gentoo Foundation
46 +# Distributed under the terms of the GNU General Public License v2
47 +
48 +EAPI=6
49 +PYTHON_COMPAT=( python2_7 )
50 +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
51 +
52 +inherit distutils-r1 linux-info user
53 +
54 +DESCRIPTION="A virtual network service for Openstack"
55 +HOMEPAGE="https://launchpad.net/neutron"
56 +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz
57 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
58 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
59 +
60 +LICENSE="Apache-2.0"
61 +SLOT="0"
62 +KEYWORDS="~amd64 ~arm64 ~x86"
63 +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
64 +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
65 + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
66 + || ( openvswitch linuxbridge ) )"
67 +
68 +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
69 +DEPEND="
70 + dev-python/setuptools[${PYTHON_USEDEP}]
71 + ${CDEPEND}
72 + app-admin/sudo"
73 +
74 +RDEPEND="
75 + ${CDEPEND}
76 + dev-python/paste[${PYTHON_USEDEP}]
77 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
78 + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
79 + !~dev-python/routes-2.0[${PYTHON_USEDEP}]
80 + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
81 + !~dev-python/routes-2.3[${PYTHON_USEDEP}]
82 + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
83 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
84 + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
85 + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
86 + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
87 + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
88 + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
89 + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
90 + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
91 + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}]
92 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
93 + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}]
94 + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}]
95 + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}]
96 + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}]
97 + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}]
98 + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}]
99 + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
100 + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
101 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
102 + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}]
103 + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
104 + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
105 + >=dev-python/ryu-4.9[${PYTHON_USEDEP}]
106 + compute-only? (
107 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
108 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
109 + )
110 + sqlite? (
111 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
112 + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
113 + )
114 + mysql? (
115 + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
116 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
117 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
118 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
119 + )
120 + postgres? (
121 + >=dev-python/psycopg-2.5.0
122 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
123 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
124 + )
125 + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
126 + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}]
127 + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
128 + >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
129 + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
130 + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
131 + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
132 + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
133 + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
134 + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
135 + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}]
136 + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
137 + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}]
138 + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}]
139 + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
140 + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}]
141 + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
142 + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
143 + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
144 + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
145 + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
146 + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}]
147 + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
148 + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
149 + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}]
150 + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}]
151 + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
152 + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}]
153 + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}]
154 + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
155 + virtual/python-singledispatch[${PYTHON_USEDEP}]
156 + dev-python/pyudev[${PYTHON_USEDEP}]
157 + sys-apps/iproute2
158 + net-misc/iputils[arping]
159 + net-misc/bridge-utils
160 + net-firewall/ipset
161 + net-firewall/iptables
162 + net-firewall/ebtables
163 + net-firewall/conntrack-tools
164 + openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
165 + ipv6? (
166 + net-misc/radvd
167 + >=net-misc/dibbler-1.0.1
168 + )
169 + dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
170 +
171 +#PATCHES=(
172 +#)
173 +
174 +pkg_pretend() {
175 + linux-info_pkg_setup
176 + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
177 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
178 + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
179 + if linux_config_exists; then
180 + for module in ${CONFIG_CHECK_MODULES}; do
181 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
182 + done
183 + fi
184 +}
185 +
186 +pkg_setup() {
187 + enewgroup neutron
188 + enewuser neutron -1 -1 /var/lib/neutron neutron
189 +}
190 +
191 +pkg_config() {
192 + fperms 0700 /var/log/neutron
193 + fowners neutron:neutron /var/log neutron
194 +}
195 +
196 +src_prepare() {
197 + sed -i '/^hacking/d' test-requirements.txt || die
198 + # it's /bin/ip not /sbin/ip
199 + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
200 + distutils-r1_python_prepare_all
201 +}
202 +
203 +python_install_all() {
204 + distutils-r1_python_install_all
205 + if use server; then
206 + newinitd "${FILESDIR}/neutron.initd" "neutron-server"
207 + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
208 + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
209 + fi
210 + if use dhcp; then
211 + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
212 + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
213 + fi
214 + if use l3; then
215 + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
216 + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
217 + fi
218 + if use metadata; then
219 + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
220 + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
221 + fi
222 + if use openvswitch; then
223 + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
224 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
225 + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
226 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
227 + fi
228 + if use linuxbridge; then
229 + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
230 + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
231 + fi
232 + diropts -m 755 -o neutron -g neutron
233 + dodir /var/log/neutron /var/lib/neutron
234 + keepdir /etc/neutron
235 + insinto /etc/neutron
236 + insopts -m 0640 -o neutron -g neutron
237 +
238 + doins etc/*
239 + # stupid renames
240 + insinto /etc/neutron
241 + doins -r "etc/neutron/plugins"
242 + insopts -m 0640 -o root -g root
243 + doins "etc/rootwrap.conf"
244 + doins -r "etc/neutron/rootwrap.d"
245 +
246 + #add sudoers definitions for user neutron
247 + insinto /etc/sudoers.d/
248 + insopts -m 0440 -o root -g root
249 + newins "${FILESDIR}/neutron.sudoersd" neutron
250 +
251 + # add generated configs
252 + cd "${D}/etc/neutron" || die
253 + unpack "neutron-configs-${PV}.tar.gz"
254 + cd "${D}/etc/neutron/plugins/ml2" || die
255 + unpack "neutron-ml2-plugins-${PV}.tar.gz"
256 +
257 + # correcting perms
258 + fowners neutron:neutron -R "/etc/neutron"
259 + fperms o-rwx -R "/etc/neutron/"
260 +
261 + #remove superfluous stuff
262 + rm -R "${D}/usr/etc/"
263 +}
264 +
265 +python_install() {
266 + distutils-r1_python_install
267 + # copy migration conf file (not coppied on install via setup.py script)
268 + insopts -m 0644
269 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/"
270 + doins -r "neutron/db/migration/alembic_migrations/versions"
271 +}
272 +
273 +pkg_postinst() {
274 + elog
275 + elog "neutron-server's conf.d file may need updating to include additional ini files"
276 + elog "We currently assume the ml2 plugin will be used but do not make assumptions"
277 + elog "on if you will use openvswitch or linuxbridge (or something else)"
278 + elog
279 + elog "Other conf.d files may need updating too, but should be good for the default use case"
280 + elog
281 +}
282
283 diff --git a/sys-cluster/neutron/neutron-9.4.0.ebuild b/sys-cluster/neutron/neutron-9.4.0.ebuild
284 new file mode 100644
285 index 00000000000..f883ce813c2
286 --- /dev/null
287 +++ b/sys-cluster/neutron/neutron-9.4.0.ebuild
288 @@ -0,0 +1,229 @@
289 +# Copyright 1999-2017 Gentoo Foundation
290 +# Distributed under the terms of the GNU General Public License v2
291 +
292 +EAPI=6
293 +PYTHON_COMPAT=( python2_7 )
294 +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439
295 +
296 +inherit distutils-r1 linux-info user
297 +
298 +DESCRIPTION="A virtual network service for Openstack"
299 +HOMEPAGE="https://launchpad.net/neutron"
300 +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/configs.tar.gz -> neutron-configs-${PV}.tar.gz
301 + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/newton/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
302 + https://tarballs.openstack.org/${PN}/${P}.tar.gz"
303 +
304 +LICENSE="Apache-2.0"
305 +SLOT="0"
306 +KEYWORDS="~amd64 ~arm64 ~x86"
307 +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres"
308 +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
309 + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
310 + || ( openvswitch linuxbridge ) )"
311 +
312 +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
313 +DEPEND="
314 + dev-python/setuptools[${PYTHON_USEDEP}]
315 + ${CDEPEND}
316 + app-admin/sudo"
317 +
318 +RDEPEND="
319 + ${CDEPEND}
320 + dev-python/paste[${PYTHON_USEDEP}]
321 + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
322 + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}]
323 + !~dev-python/routes-2.0[${PYTHON_USEDEP}]
324 + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')]
325 + !~dev-python/routes-2.3[${PYTHON_USEDEP}]
326 + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
327 + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
328 + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
329 + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
330 + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
331 + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
332 + >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
333 + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
334 + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}]
335 + >=dev-python/jinja-2.8[${PYTHON_USEDEP}]
336 + >=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
337 + !=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
338 + !=dev-python/keystonemiddleware-4.5.0[${PYTHON_USEDEP}]
339 + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}]
340 + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
341 + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
342 + >=dev-python/neutron-lib-0.4.0[${PYTHON_USEDEP}]
343 + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}]
344 + >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
345 + !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
346 + >=dev-python/ryu-3.30[${PYTHON_USEDEP}]
347 + !~dev-python/ryu-4.1[${PYTHON_USEDEP}]
348 + !~dev-python/ryu-4.2[${PYTHON_USEDEP}]
349 + !~dev-python/ryu-4.2.1[${PYTHON_USEDEP}]
350 + !~dev-python/ryu-4.4[${PYTHON_USEDEP}]
351 + compute-only? (
352 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
353 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
354 + )
355 + sqlite? (
356 + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
357 + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}]
358 + )
359 + mysql? (
360 + >=dev-python/pymysql-0.6.2[${PYTHON_USEDEP}]
361 + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
362 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
363 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
364 + )
365 + postgres? (
366 + >=dev-python/psycopg-2.5.0
367 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
368 + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
369 + )
370 + >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
371 + >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
372 + >=dev-python/alembic-0.8.4[${PYTHON_USEDEP}]
373 + >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
374 + >=dev-python/stevedore-1.16.0[${PYTHON_USEDEP}]
375 + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}]
376 + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
377 + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}]
378 + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}]
379 + >=dev-python/oslo-db-4.10.0[${PYTHON_USEDEP}]
380 + !~dev-python/oslo-db-4.13.1[${PYTHON_USEDEP}]
381 + !~dev-python/oslo-db-4.13.2[${PYTHON_USEDEP}]
382 + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
383 + >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
384 + >=dev-python/oslo-messaging-5.2.0[${PYTHON_USEDEP}]
385 + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
386 + >=dev-python/oslo-policy-1.9.0[${PYTHON_USEDEP}]
387 + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
388 + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}]
389 + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
390 + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
391 + >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
392 + >=dev-python/oslo-versionedobjects-1.13.0[${PYTHON_USEDEP}]
393 + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
394 + >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}]
395 + >=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
396 + !~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
397 + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
398 + virtual/python-singledispatch[${PYTHON_USEDEP}]
399 + dev-python/pyudev[${PYTHON_USEDEP}]
400 + sys-apps/iproute2
401 + net-misc/iputils[arping]
402 + net-misc/bridge-utils
403 + net-firewall/ipset
404 + net-firewall/iptables
405 + net-firewall/ebtables
406 + net-firewall/conntrack-tools
407 + openvswitch? ( <=net-misc/openvswitch-2.6.9999 )
408 + ipv6? (
409 + net-misc/radvd
410 + >=net-misc/dibbler-1.0.1
411 + )
412 + dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
413 +
414 +#PATCHES=(
415 +#)
416 +
417 +pkg_setup() {
418 + linux-info_pkg_setup
419 + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
420 + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \
421 + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
422 + if linux_config_exists; then
423 + for module in ${CONFIG_CHECK_MODULES}; do
424 + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
425 + done
426 + fi
427 + enewgroup neutron
428 + enewuser neutron -1 -1 /var/lib/neutron neutron
429 +}
430 +
431 +pkg_config() {
432 + fperms 0700 /var/log/neutron
433 + fowners neutron:neutron /var/log neutron
434 +}
435 +
436 +src_prepare() {
437 + sed -i '/^hacking/d' test-requirements.txt || die
438 + # it's /bin/ip not /sbin/ip
439 + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
440 + distutils-r1_python_prepare_all
441 +}
442 +
443 +python_install() {
444 + distutils-r1_python_install
445 + if use server; then
446 + newinitd "${FILESDIR}/neutron.initd" "neutron-server"
447 + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
448 + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
449 + fi
450 + if use dhcp; then
451 + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
452 + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
453 + fi
454 + if use l3; then
455 + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
456 + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
457 + fi
458 + if use metadata; then
459 + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
460 + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
461 + fi
462 + if use openvswitch; then
463 + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
464 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
465 + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
466 + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
467 + fi
468 + if use linuxbridge; then
469 + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
470 + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
471 + fi
472 + diropts -m 755 -o neutron -g neutron
473 + dodir /var/log/neutron /var/lib/neutron
474 + keepdir /etc/neutron
475 + insinto /etc/neutron
476 + insopts -m 0640 -o neutron -g neutron
477 +
478 + doins etc/*
479 + # stupid renames
480 + insinto /etc/neutron
481 + doins -r "etc/neutron/plugins"
482 + insopts -m 0640 -o root -g root
483 + doins "etc/rootwrap.conf"
484 + doins -r "etc/neutron/rootwrap.d"
485 +
486 + insopts -m 0644
487 + insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
488 + doins -r "neutron/db/migration/alembic_migrations/versions"
489 +
490 + #add sudoers definitions for user neutron
491 + insinto /etc/sudoers.d/
492 + insopts -m 0440 -o root -g root
493 + newins "${FILESDIR}/neutron.sudoersd" neutron
494 +
495 + # add generated configs
496 + cd "${D}/etc/neutron" || die
497 + unpack "neutron-configs-${PV}.tar.gz"
498 + cd "${D}/etc/neutron/plugins/ml2" || die
499 + unpack "neutron-ml2-plugins-${PV}.tar.gz"
500 +
501 + # correcting perms
502 + fowners neutron:neutron -R "/etc/neutron"
503 + fperms o-rwx -R "/etc/neutron/"
504 +
505 + #remove superfluous stuff
506 + rm -R "${D}/usr/etc/"
507 +}
508 +
509 +pkg_postinst() {
510 + elog
511 + elog "neutron-server's conf.d file may need updating to include additional ini files"
512 + elog "We currently assume the ml2 plugin will be used but do not make assumptions"
513 + elog "on if you will use openvswitch or linuxbridge (or something else)"
514 + elog
515 + elog "Other conf.d files may need updating too, but should be good for the default use case"
516 + elog
517 +}