sys-cluster/neutron: 11.0.3 bup
authorMatthew Thode <prometheanfire@gentoo.org>
Mon, 19 Mar 2018 17:42:22 +0000 (12:42 -0500)
committerMatthew Thode <prometheanfire@gentoo.org>
Mon, 19 Mar 2018 17:45:04 +0000 (12:45 -0500)
Package-Manager: Portage-2.3.24, Repoman-2.3.6

sys-cluster/neutron/Manifest
sys-cluster/neutron/neutron-11.0.3.ebuild [new file with mode: 0644]
sys-cluster/neutron/neutron-2017.2.9999.ebuild

index e0914300aa69b93e0b64a9ebb5181e94dca01816..7dbab5d726eb6d227c6eed8c384d0f7630718f60 100644 (file)
@@ -1,10 +1,13 @@
 DIST neutron-11.0.2.tar.gz 10481255 BLAKE2B 3e2ca3e7e24f21d92823b3d2e44d3fabe17d40cac493797a960b7c20fd906f3bd8ca946ca0729f8e03079f6615e2094f9228a01c2fc1e79ab2cf63bd2a8a5b36 SHA512 ba86e6448d0ae6e95dd4caa41888ee3d4ceeb4353b655b20912871e05cc2440f7d54bef7b119e1cec98da8fe3b9f22966ca8ad05dc3a5931b66b776bef9240cf
+DIST neutron-11.0.3.tar.gz 10504129 BLAKE2B 2c72bf33d8f8d11423c868f88c63ca65af399e9f2bbda86fcabef831252bcc000658dc5e4a12da8e3defdf8fe2ce1c54799c748ee2b60625b1d7f98e32098824 SHA512 ba55f119c29b1367e5c72fcd1357dda8cc40c63207aa2408890bd6986301b4859389b489a60a0f1bd6ff7f22cf2ec68824eb503bbf33e786b5a463c8db353eed
 DIST neutron-12.0.0.tar.gz 10473897 BLAKE2B ba40e72e98f29294c0ef1ecf39987b9b8c6f9b2ed3da62a30a3fa28c7187497b6e0aba22b0393db1b111f61519ed24b139e898c5cec7307445ff1ad10e8db2ff SHA512 407a5cd62c3279336082f7357c6b4660795e6a03dbffca9b972639fed511b394acc65b1470b9b7d05329fbee20450ab737c36469cee025cd23d2a52ea527048c
 DIST neutron-configs-11.0.2.tar.gz 25030 BLAKE2B 6ca7507571983cdf576cb943bb2981623351c3de4220ccf990ba478147bcbaea06f4d5218ba6ad65c98f2a0c60c820be03429e8a22a624cf10339b80fcf17bbd SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a
+DIST neutron-configs-11.0.3.tar.gz 25030 BLAKE2B 6ca7507571983cdf576cb943bb2981623351c3de4220ccf990ba478147bcbaea06f4d5218ba6ad65c98f2a0c60c820be03429e8a22a624cf10339b80fcf17bbd SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a
 DIST neutron-configs-12.0.0.tar.gz 26252 BLAKE2B c1493e313dc590445e60dcf8df9fc2b89a8e96e57ce072577b3a73fe247218a9ef9805ca9c61b79d2bd4c7aa088933762389258c1184e4572975db03c1674869 SHA512 05c8774d142a59da3e294f2351f1cc89f8cd275aedf3771c11d8176305ceec472980673f0ed07b3f4219a8ff4b4bb6e79f836a1f11ddd8e003d1ccd49051e5ac
 DIST neutron-configs-2017.2.9999.tar.gz 25030 BLAKE2B 6ca7507571983cdf576cb943bb2981623351c3de4220ccf990ba478147bcbaea06f4d5218ba6ad65c98f2a0c60c820be03429e8a22a624cf10339b80fcf17bbd SHA512 d82abfcfe5c911dc8a0689e23aaad810bb3aacaf64bd35439220f41390a71958e7cd34e60500580c24ea9e8b55a6fb0441ce4e5612fad9aba2e48d6f14d4d87a
 DIST neutron-configs-2018.1.9999.tar.gz 26252 BLAKE2B c1493e313dc590445e60dcf8df9fc2b89a8e96e57ce072577b3a73fe247218a9ef9805ca9c61b79d2bd4c7aa088933762389258c1184e4572975db03c1674869 SHA512 05c8774d142a59da3e294f2351f1cc89f8cd275aedf3771c11d8176305ceec472980673f0ed07b3f4219a8ff4b4bb6e79f836a1f11ddd8e003d1ccd49051e5ac
 DIST neutron-ml2-plugins-11.0.2.tar.gz 6885 BLAKE2B c953d7222932d09c545dcfe01923f77cbc9e76157f78e5cb85a8e3bb03c8f3b4ab2bcc7eb2fc213578f71cf70543c4182c98bc6e5947fc1a0cbffe3d845bce20 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd
+DIST neutron-ml2-plugins-11.0.3.tar.gz 6885 BLAKE2B c953d7222932d09c545dcfe01923f77cbc9e76157f78e5cb85a8e3bb03c8f3b4ab2bcc7eb2fc213578f71cf70543c4182c98bc6e5947fc1a0cbffe3d845bce20 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd
 DIST neutron-ml2-plugins-12.0.0.tar.gz 7060 BLAKE2B 7690218233971ab50623900e01fe4311e2b599661838a232616cdc4b56bff1a7fd6e6c3b7fe77f79c78c024eb571525b0e21a306c18fd884bd0dfdd6b814f2b4 SHA512 259db5513c014c6dda97432834f90744dec3732292a2de71d488e537f0f660959ea09890cf3dd3d22206295b259dad83440a60ee28e84a5b125547f869e0016b
 DIST neutron-ml2-plugins-2017.2.9999.tar.gz 6885 BLAKE2B c953d7222932d09c545dcfe01923f77cbc9e76157f78e5cb85a8e3bb03c8f3b4ab2bcc7eb2fc213578f71cf70543c4182c98bc6e5947fc1a0cbffe3d845bce20 SHA512 e5acaed2fc370e99c9c8b54040cdc994cd35bfbd3d74682d3c03c381568c89b316a6a87356aa6ae538a19c2ae83b6b3c512095afcc778525c2885b9b6bef04bd
 DIST neutron-ml2-plugins-2018.1.9999.tar.gz 7060 BLAKE2B 7690218233971ab50623900e01fe4311e2b599661838a232616cdc4b56bff1a7fd6e6c3b7fe77f79c78c024eb571525b0e21a306c18fd884bd0dfdd6b814f2b4 SHA512 259db5513c014c6dda97432834f90744dec3732292a2de71d488e537f0f660959ea09890cf3dd3d22206295b259dad83440a60ee28e84a5b125547f869e0016b
diff --git a/sys-cluster/neutron/neutron-11.0.3.ebuild b/sys-cluster/neutron/neutron-11.0.3.ebuild
new file mode 100644 (file)
index 0000000..31873ce
--- /dev/null
@@ -0,0 +1,255 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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/pike/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+       https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/pike/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 haproxy 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-2.0.0[${PYTHON_USEDEP}]
+       !~dev-python/pbr-2.1.0"
+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-2.3.1[${PYTHON_USEDEP}]
+       >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+       >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+       !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+       <dev-python/eventlet-0.21.0[${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/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.9.0[${PYTHON_USEDEP}]
+       >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+       >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+       >=dev-python/ryu-4.14[${PYTHON_USEDEP}]
+       compute-only? (
+               >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+       )
+       sqlite? (
+               >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.8[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.5[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+       )
+       postgres? (
+               >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+               >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+               !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+       )
+       >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+       >=dev-python/keystoneauth-3.1.0[${PYTHON_USEDEP}]
+       >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+       >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+       >=dev-python/stevedore-1.20.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-4.0.0[${PYTHON_USEDEP}]
+       !~dev-python/oslo-config-4.3.0[${PYTHON_USEDEP}]
+       !~dev-python/oslo-config-4.4.0[${PYTHON_USEDEP}]
+       !~dev-python/oslo-config-3.18.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-db-4.24.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+       !~dev-python/oslo-i18n-3.15.2[${PYTHON_USEDEP}]
+       >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-messaging-5.24.2[${PYTHON_USEDEP}]
+       !~dev-python/oslo-messaging-5.25.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-middleware-3.27.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-policy-1.23.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-privsep-1.9.0[${PYTHON_USEDEP}]
+       !~dev-python/oslo-privsep-1.17.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-serialization-2.19.1[${PYTHON_USEDEP}]
+       >=dev-python/oslo-service-1.10.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+       >=dev-python/oslo-versionedobjects-1.17.0[${PYTHON_USEDEP}]
+       >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+       >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}]
+       >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}]
+       >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+       >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}]
+       >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+       >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
+       >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
+       >=dev-python/os-xenapi-0.2.0[${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
+       haproxy? ( net-proxy/haproxy )
+       openvswitch? ( <=net-misc/openvswitch-2.8.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
+}
index 1c8d9ba8c3aae6109981f6c135d8e91337b63d81..70ec425c1af4a1430a3d5c857d0a450de2be1c2a 100644 (file)
@@ -122,7 +122,7 @@ RDEPEND="
        >=dev-python/ovs-2.7.0[${PYTHON_USEDEP}]
        >=dev-python/ovsdbapp-0.4.0[${PYTHON_USEDEP}]
        >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
-       >=dev-python/pyroute2-0.4.17[${PYTHON_USEDEP}]
+       >=dev-python/pyroute2-0.4.21[${PYTHON_USEDEP}]
        >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
        >=dev-python/python-novaclient-9.0.0[${PYTHON_USEDEP}]
        >=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]