diff options
author | Matthew Thode <prometheanfire@gentoo.org> | 2017-02-26 23:44:55 -0600 |
---|---|---|
committer | Matthew Thode <prometheanfire@gentoo.org> | 2017-02-26 23:45:42 -0600 |
commit | 2ecb07877533c4512eed1731960b3a1522ad57d3 (patch) | |
tree | 08ac0762fc2958d14a7f483d98c1be158c44a3ee /sys-cluster | |
parent | dev-python/python-designateclient: bup (diff) | |
download | gentoo-2ecb07877533c4512eed1731960b3a1522ad57d3.tar.gz gentoo-2ecb07877533c4512eed1731960b3a1522ad57d3.tar.bz2 gentoo-2ecb07877533c4512eed1731960b3a1522ad57d3.zip |
sys-cluster/neutron: OCATA
Package-Manager: Portage-2.3.3, Repoman-2.3.1
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/neutron/Manifest | 5 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-10.0.0.ebuild | 238 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-2017.1.9999.ebuild | 239 |
3 files changed, 482 insertions, 0 deletions
diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest index d4b7f6782122..21a2fd174dfe 100644 --- a/sys-cluster/neutron/Manifest +++ b/sys-cluster/neutron/Manifest @@ -1,13 +1,18 @@ +DIST neutron-10.0.0.tar.gz 3133746 SHA256 b90258d72230592eccf1f4f3f2dfe6e8a36f2bb0b5cba4c1da5d5ac879767d72 SHA512 02019952b7321524e531a8aaa34a90ab60d12b191de3714f4719dfea9f376e174908e748484b6365f023c1c712357fe75733bcc13a1d265ed283bf619eac151a WHIRLPOOL 0a0466e477890657d42528b15792ccd82b893407024dfe204e26693c5ca7034c6fcdbcfc10e18cd7ff4afdeecfe92722f7b76cc6e99b38cc0b5717ab9b29e129 DIST neutron-8.3.0.tar.gz 2839603 SHA256 f1ac7563ed12eb3a6d5679966df606183a8f133db7abc51d1edffb5aadf6306c SHA512 6f53d437430e819402d0911a0319f421024c052f5ab9cf23ef456087ed5a9e8177410bdebce3a135e823268a578a4fdd54ac81d3d8b4dcc7f6487692fa470a93 WHIRLPOOL 85234f790c684763c133e09b99f7d2b2a206dec76764f31fc9a65f27bbf3fa78dad907546355db650d5bd3f90bd930a86b2e5828fea494496397e0b7a024798a DIST neutron-9.1.1.tar.gz 3020682 SHA256 37842c0c23665c71015d61f0f0ac00e8d9cab332c38e188cf02665c84eb0a5a3 SHA512 d4d1f6051c0e94a7dae05703c0cf119986df954276363794fefa78fd1a31742f4a173e3260a56f982a1cb4f8e1895312c8a0a73f39c08565231b2e109099eebb WHIRLPOOL 428cc5928bb4cea125fbf0377bbd08ac91f9526e4016059a041f8ad4447778a5e315c0420ae6136540c5d8b60b1f5c048bbe648201ec1d568c85ca0cf36f3dc7 DIST neutron-9.2.0.tar.gz 3027332 SHA256 7314e5047b989fe85f2206a6460ad25509b03ca8e47c3fc79940d91550d87631 SHA512 c2ae881e5eacf977b6858cdbf008f42e2bba0b6fc5501cf9895a2b1a3ee4119393d894f2686e431936e50f365fffaae29421ab548f95ed6d3e797b6c77c6a539 WHIRLPOOL 3a1fde19109df8bfd7b32fd0927dc0097abe6a5c91cc70d69a8a6869439e7600f7116be8f6563e5e2d800b64cf349bbf08dbec931ceb3f67ea29af44e8f0b7e1 +DIST neutron-configs-10.0.0.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657 DIST neutron-configs-2016.1.9999.tar.gz 11523 SHA256 906229c66882eb05d782a749b53b9368df28ae69eb99179cbaed2640996dd227 SHA512 95ff31ce599977b8bbd7f8783ba41c1f760a30721e8a6ea84fc8f0ecfc4f429d624dad29728d5bc026f7d76a4da6e19c0f4718fd1b58b65c50ff0470a3cf8f2d WHIRLPOOL 38868696cb444cd7c4eaaf704bfb8e2efb6486aa67a99951afd43de1a8e8ca7224e8b8592a2c28e09a7a43c1a9cf0ca02e44e05a50cc370bb9dacee873022a6d DIST neutron-configs-2016.2.9999.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601 +DIST neutron-configs-2017.1.9999.tar.gz 25094 SHA256 7f210828b0c3fa9d859fca8c4735fd60aefad3cd5d0cf810b762af268df59269 SHA512 40ab9f2f4ea338c061c57d9aa5611ee3f3476ab8f5199ac50577f94fec032ccd27028bd072d9d9d0cc9f12327613e542b4d62a0403540730f9d6efbc4992a00d WHIRLPOOL dbdaff979a40e33cd171390657e39fb9b2a311c972e8d018e301af5361b0224ba62972241febfc4991a06bf9f16390e5c779de86823ed94eaebbee610c8c6657 DIST neutron-configs-8.3.0.tar.gz 11523 SHA256 906229c66882eb05d782a749b53b9368df28ae69eb99179cbaed2640996dd227 SHA512 95ff31ce599977b8bbd7f8783ba41c1f760a30721e8a6ea84fc8f0ecfc4f429d624dad29728d5bc026f7d76a4da6e19c0f4718fd1b58b65c50ff0470a3cf8f2d WHIRLPOOL 38868696cb444cd7c4eaaf704bfb8e2efb6486aa67a99951afd43de1a8e8ca7224e8b8592a2c28e09a7a43c1a9cf0ca02e44e05a50cc370bb9dacee873022a6d DIST neutron-configs-9.1.1.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601 DIST neutron-configs-9.2.0.tar.gz 13458 SHA256 111e940f7da24c18673794188f348285997a0e1f250446076700902bab101f71 SHA512 42f9a685f0869c491610c66f5bc5f952b959a0a8514687007814e0ca97e27fb491460bc64eaf8fc47e982c8519b1dc9b5e2b4a3c047535b52521b3325ba38d44 WHIRLPOOL bcceb81f46d69aa02876f2d2a76c642f9b48b472dc3e6217bef48649ecfa64d535c2361d224889f31f21b7fb40bb97930ab93443abe6d9cddfd56f19d84f5601 +DIST neutron-ml2-plugins-10.0.0.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863 DIST neutron-ml2-plugins-2016.1.9999.tar.gz 2031 SHA256 af1f0436924a64d9a07f0770f06d0a2e48457b45389e1ab90e42c7157797557b SHA512 b0c194ad29d7e7a44c04b74a109523044cf268ebd8cb91965759a5cbba7cef47c252f7d0ab49bf888a74b1776891b99402dd54d45fd6099734fa03afd519350d WHIRLPOOL c279518f1868c54409a28dea03f32aa60a413af9dc3ce4387034aaab6387f1c96a937c370bcab3e6e96474a12f19f3794e7b3e0482cb067fb2b060ad09faabad DIST neutron-ml2-plugins-2016.2.9999.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671 +DIST neutron-ml2-plugins-2017.1.9999.tar.gz 6811 SHA256 6ad759c8720563e502602fc32a72569884bdaad1443f4b8d23c8e9d240071f70 SHA512 51c01eab8f424b871f55b7dc45bbae6300d477e8bc7be4587c4945f75a4fc65f622ed69dbfe0c63db7fced2118987730204d259bce53e353a6b4d24df89dadcb WHIRLPOOL 5e4bf872895e8354fa9e6d7bb071f3d973f28c22297ea414f1bfc8f1bb3ae3102609ff61f19efda59f9d9d7a515fb8ae8216347a2935af64e4bdeeb6ec610863 DIST neutron-ml2-plugins-8.3.0.tar.gz 2031 SHA256 af1f0436924a64d9a07f0770f06d0a2e48457b45389e1ab90e42c7157797557b SHA512 b0c194ad29d7e7a44c04b74a109523044cf268ebd8cb91965759a5cbba7cef47c252f7d0ab49bf888a74b1776891b99402dd54d45fd6099734fa03afd519350d WHIRLPOOL c279518f1868c54409a28dea03f32aa60a413af9dc3ce4387034aaab6387f1c96a937c370bcab3e6e96474a12f19f3794e7b3e0482cb067fb2b060ad09faabad DIST neutron-ml2-plugins-9.1.1.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671 DIST neutron-ml2-plugins-9.2.0.tar.gz 2073 SHA256 1e12e81673168860a2d7c5172deb00a7301d0a698014113dfcfba74759ba444d SHA512 bcde3a4d5e041c0080503cdf8f60c83e1c09f873010e78f4bc9066f57b17cf69394cf71cedbb8d3819a62d9cfdd545b102f16b53c0e3deb44b1d03136c14d711 WHIRLPOOL 099e19f4ec98fb54187e100af057711db3df3f86ae117a03f38afe37b6c5135666330aeb05867331cc015e8f14bee6e34942d1cb5aec63f92e01e7d6ae69f671 diff --git a/sys-cluster/neutron/neutron-10.0.0.ebuild b/sys-cluster/neutron/neutron-10.0.0.ebuild new file mode 100644 index 000000000000..3474d2af6fe5 --- /dev/null +++ b/sys-cluster/neutron/neutron-10.0.0.ebuild @@ -0,0 +1,238 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz + https://tarballs.openstack.org/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.9[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} diff --git a/sys-cluster/neutron/neutron-2017.1.9999.ebuild b/sys-cluster/neutron/neutron-2017.1.9999.ebuild new file mode 100644 index 000000000000..24498c6862b3 --- /dev/null +++ b/sys-cluster/neutron/neutron-2017.1.9999.ebuild @@ -0,0 +1,239 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +# still no 34 :( https://bugs.launchpad.net/neutron/+bug/1630439 + +inherit distutils-r1 git-r3 linux-info user + +DESCRIPTION="A virtual network service for Openstack" +HOMEPAGE="https://launchpad.net/neutron" +SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/configs.tar.gz -> neutron-configs-${PV}.tar.gz + https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/ocata/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz" +EGIT_REPO_URI="https://github.com/openstack/neutron.git" +EGIT_BRANCH="stable/ocata" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="" +IUSE="compute-only dhcp ipv6 l3 metadata openvswitch linuxbridge server sqlite mysql postgres" +REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) ) + compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server + || ( openvswitch linuxbridge ) )" + +CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + ${CDEPEND} + app-admin/sudo" + +RDEPEND=" + ${CDEPEND} + dev-python/paste[${PYTHON_USEDEP}] + >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}] + >=dev-python/routes-1.12.3[${PYTHON_USEDEP}] + !~dev-python/routes-2.0[${PYTHON_USEDEP}] + !~dev-python/routes-2.1[$(python_gen_usedep 'python2_7')] + !~dev-python/routes-2.3[${PYTHON_USEDEP}] + >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}] + >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}] + >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}] + !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}] + !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}] + >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] + >=dev-python/requests-2.10.0[${PYTHON_USEDEP}] + !~dev-python/requests-2.12.2[${PYTHON_USEDEP}] + >=dev-python/jinja-2.8[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.0[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.1[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.2[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.3[${PYTHON_USEDEP}] + !~dev-python/jinja-2.9.4[${PYTHON_USEDEP}] + >=dev-python/keystonemiddleware-4.12.0[${PYTHON_USEDEP}] + >=dev-python/netaddr-0.7.13[${PYTHON_USEDEP}] + !~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}] + >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}] + >=dev-python/neutron-lib-1.1.0[${PYTHON_USEDEP}] + >=dev-python/python-neutronclient-5.1.0[${PYTHON_USEDEP}] + >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}] + >=dev-python/ryu-4.9[${PYTHON_USEDEP}] + compute-only? ( + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + sqlite? ( + >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[sqlite,${PYTHON_USEDEP}] + ) + mysql? ( + >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}] + !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}] + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + postgres? ( + >=dev-python/psycopg-2.5.0 + >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}] + <dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}] + ) + >=dev-python/webob-1.6.0[${PYTHON_USEDEP}] + >=dev-python/keystoneauth-2.18.0[${PYTHON_USEDEP}] + >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}] + >=dev-python/six-1.9.0[${PYTHON_USEDEP}] + >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}] + >=dev-python/oslo-cache-1.5.0[${PYTHON_USEDEP}] + >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}] + >=dev-python/oslo-config-3.14.0[${PYTHON_USEDEP}] + !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-context-2.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-db-4.15.0[${PYTHON_USEDEP}] + >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}] + >=dev-python/oslo-log-3.11.0[${PYTHON_USEDEP}] + >=dev-python/oslo-messaging-5.14.0[${PYTHON_USEDEP}] + >=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-policy-1.17.0[${PYTHON_USEDEP}] + >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}] + >=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}] + >=dev-python/oslo-rootwrap-5.0.0[${PYTHON_USEDEP}] + >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}] + >=dev-python/oslo-utils-3.18.0[${PYTHON_USEDEP}] + >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}] + >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}] + >=dev-python/ovs-2.6.1[${PYTHON_USEDEP}] + >=dev-python/pyroute2-0.4.12[${PYTHON_USEDEP}] + >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')] + >=dev-python/python-novaclient-6.0.0[${PYTHON_USEDEP}] + !~dev-python/python-novaclient-7.0.0[${PYTHON_USEDEP}] + >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}] + virtual/python-singledispatch[${PYTHON_USEDEP}] + dev-python/pyudev[${PYTHON_USEDEP}] + sys-apps/iproute2 + net-misc/iputils[arping] + net-misc/bridge-utils + net-firewall/ipset + net-firewall/iptables + net-firewall/ebtables + net-firewall/conntrack-tools + openvswitch? ( <=net-misc/openvswitch-2.6.9999 ) + ipv6? ( + net-misc/radvd + >=net-misc/dibbler-1.0.1 + ) + dhcp? ( net-dns/dnsmasq[dhcp-tools] )" + +#PATCHES=( +#) + +pkg_pretend() { + linux-info_pkg_setup + CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \ + IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ + NF_NAT_IPV4 NF_NAT NF_CONNTRACK IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES" + if linux_config_exists; then + for module in ${CONFIG_CHECK_MODULES}; do + linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel" + done + fi +} + +pkg_setup() { + enewgroup neutron + enewuser neutron -1 -1 /var/lib/neutron neutron +} + +pkg_config() { + fperms 0700 /var/log/neutron + fowners neutron:neutron /var/log neutron +} + +src_prepare() { + sed -i '/^hacking/d' test-requirements.txt || die + # it's /bin/ip not /sbin/ip + sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die + distutils-r1_python_prepare_all +} + +python_install_all() { + distutils-r1_python_install_all + if use server; then + newinitd "${FILESDIR}/neutron.initd" "neutron-server" + newconfd "${FILESDIR}/neutron-server.confd" "neutron-server" + dosym /etc/neutron/plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini + fi + if use dhcp; then + newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent" + newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent" + fi + if use l3; then + newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent" + newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent" + fi + if use metadata; then + newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent" + newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent" + fi + if use openvswitch; then + newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent" + newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup" + newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup" + fi + if use linuxbridge; then + newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent" + newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent" + fi + diropts -m 755 -o neutron -g neutron + dodir /var/log/neutron /var/lib/neutron + keepdir /etc/neutron + insinto /etc/neutron + insopts -m 0640 -o neutron -g neutron + + doins etc/* + # stupid renames + insinto /etc/neutron + doins -r "etc/neutron/plugins" + insopts -m 0640 -o root -g root + doins "etc/rootwrap.conf" + doins -r "etc/neutron/rootwrap.d" + + #add sudoers definitions for user neutron + insinto /etc/sudoers.d/ + insopts -m 0440 -o root -g root + newins "${FILESDIR}/neutron.sudoersd" neutron + + # add generated configs + cd "${D}/etc/neutron" || die + unpack "neutron-configs-${PV}.tar.gz" + cd "${D}/etc/neutron/plugins/ml2" || die + unpack "neutron-ml2-plugins-${PV}.tar.gz" + + # correcting perms + fowners neutron:neutron -R "/etc/neutron" + fperms o-rwx -R "/etc/neutron/" + + #remove superfluous stuff + rm -R "${D}/usr/etc/" +} + +python_install() { + distutils-r1_python_install + # copy migration conf file (not coppied on install via setup.py script) + insopts -m 0644 + insinto "/$(python_get_sitedir)/neutron/db/migration/alembic_migrations/" + doins -r "neutron/db/migration/alembic_migrations/versions" +} + +pkg_postinst() { + elog + elog "neutron-server's conf.d file may need updating to include additional ini files" + elog "We currently assume the ml2 plugin will be used but do not make assumptions" + elog "on if you will use openvswitch or linuxbridge (or something else)" + elog + elog "Other conf.d files may need updating too, but should be good for the default use case" + elog +} |