summaryrefslogtreecommitdiff
path: root/sys-cluster/neutron
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-11-03 16:06:58 +0000
commitbd4aeefe33e63f613512604e47bfca7b2187697d (patch)
treeadb35b5a9a00ee7ea591ab0c987f70167c23b597 /sys-cluster/neutron
parent48ece6662cbd443015f5a57ae6d8cbdbd69ef37c (diff)
gentoo resync : 03.11.2019
Diffstat (limited to 'sys-cluster/neutron')
-rw-r--r--sys-cluster/neutron/Manifest11
-rw-r--r--sys-cluster/neutron/neutron-14.0.3.ebuild230
-rw-r--r--sys-cluster/neutron/neutron-15.0.0.ebuild233
-rw-r--r--sys-cluster/neutron/neutron-2019.2.9999.ebuild233
4 files changed, 707 insertions, 0 deletions
diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
index a004fe358ee3..90442e4a900e 100644
--- a/sys-cluster/neutron/Manifest
+++ b/sys-cluster/neutron/Manifest
@@ -8,16 +8,27 @@ AUX neutron.initd 530 BLAKE2B 48900bdde5770a0b0db90490d6ae8541dafc96e3fa2aa1c8d7
AUX neutron.sudoersd 117 BLAKE2B 30e903fd3d681b779ad7e4758b56bfd78df6165ae030f0a5017dccd1873570db450efd3e7b232f77d6d2e3fcb81cb64d9d44901802310ebe2d88f882d334acda SHA512 143f8a1faa7650bc66b2566d0bd62f71eb743231b9efc4c7df265e53d664418b23182e3f271b86845ed76c537b7f60157e87af59413cf659379f367924d14366
DIST neutron-13.0.4.tar.gz 10609216 BLAKE2B 4e9da9796d66ac5f9b7be98f29338a9191a12c93ff2d5dcb6f98358fe491262d4f874b4defbdbb572319d0226f2bf4ea21af485aec404a7c76d879139aa6483b SHA512 a8276fba604ed7c2a047cb3a9c16286d760b17191cd650b8bbc2153f49a68ac3a16edde35c6631f538807d463cbd91d4d722a081b373eca0f34d0883624c1bc6
DIST neutron-14.0.2.tar.gz 10734311 BLAKE2B fea60def53a82bddf0815701d0f4998a51acc1e8fea6c589761852605c3a30b0f9c31656dc251f53698fe633befe40eb6eb32225e1ea6412f71fc6550d3698b5 SHA512 ab58e0fdf501e279532b78f02326e56722a81a8baa0800e2c28bf2d46ef7d9f20fc4516a8b8f84f2738aaaef83997b096223d3abbc07c6f712ca4d4fd587c731
+DIST neutron-14.0.3.tar.gz 10747068 BLAKE2B 47cbb470408781ab98573c6f3398e1d42e8005be3cdfbe7e4dd26ec50924cbc2c073b0198e578c7de88f3859ec010373f426712d78efaa39c898e22802790c55 SHA512 f3a65d43c13d80715709f355926ecb712a9c18c579c1bbc7b05e4efd38cdef13305c3c2cc317437eebc648a57115a109ff32d54a0819322e78b74fb40412c1ae
+DIST neutron-15.0.0.tar.gz 10512007 BLAKE2B a0cbd9a9279daf89ac6c162063c1e1f706335a53c24d9cdc946be2f44c42fc62c4755ad0c8414b5c67c26c916656491e24dcf398c670588815155a498a0cee56 SHA512 911cddb5521b8f3758895f91f638f28adeda8e5b2154376dd99eb78e189f8fd77074fbec8b9805b75db7002a71442630380f0aa37cd8a2e3c13d38c10f9dbcef
DIST neutron-configs-13.0.4.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
DIST neutron-configs-14.0.2.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-14.0.3.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-15.0.0.tar.gz 23546 BLAKE2B df706681e63e4f36b54be33a6619da15d642803f40afe737bd31426f9b3643a6a032cb8bfcb95899d1e67b759155fd14bb45f41460cefdc7d9f91d3377a90d5d SHA512 ef4555be50dfb81a0558ed28eb917a1d0634d913a2b0b58deeae3132a0e3c61521074b21d195e51e348a08b55c21919b537ac3c7122f4d5524ead824642292fe
DIST neutron-configs-2018.2.9999.tar.gz 26109 BLAKE2B 5de3b90dcb6f8c86ce659b3ab439a79dd920aaf57b66a1e1b29f1b0d0fd433b222335a634dca01ce2b0e07acc3011ff6bf25983071dc0ff00e78ac847ee3fdd6 SHA512 498f41ffec6c14597e9785da9a36c2d906138215b34017aa93f56d051078682279bcce05288d2534ff7ab8208b8251c9f721256488f6850173210e41bc6dd51c
DIST neutron-configs-2019.1.9999.tar.gz 22973 BLAKE2B f454ccc2569ec1e586d88b410d3acbe557f25894c5f4d06558aa242f3d14971b791eca0d827f22400ef02db9899fdb2a501b1b745a531c0f6577318a28c58278 SHA512 dce4a1fd8880d9ffbde9014dffdbb67f69a798a834f9cc6ac6ccd34d520c21b468b16093b3c54fbb472ded501305775b0b31da3c62a860cf19c4486a30c1da2b
+DIST neutron-configs-2019.2.9999.tar.gz 23546 BLAKE2B df706681e63e4f36b54be33a6619da15d642803f40afe737bd31426f9b3643a6a032cb8bfcb95899d1e67b759155fd14bb45f41460cefdc7d9f91d3377a90d5d SHA512 ef4555be50dfb81a0558ed28eb917a1d0634d913a2b0b58deeae3132a0e3c61521074b21d195e51e348a08b55c21919b537ac3c7122f4d5524ead824642292fe
DIST neutron-ml2-plugins-13.0.4.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
DIST neutron-ml2-plugins-14.0.2.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-14.0.3.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-15.0.0.tar.gz 8669 BLAKE2B 3c34a857c0e7dd4e5313f5f9a1bb22384aeae6d1e43e719c50eab8dc3e842e98f202eb12cbb788127603931292deeed802f0592bad232e6a05121939e3b26fe0 SHA512 0e6858425ee3d3e2233c8ebf19aa8e62b5ff849532a2fdceb953f384f3b33432137537afbb2878f23ec5eb57e185eda36a6d6ff71d8be5f32b43abcb5c186082
DIST neutron-ml2-plugins-2018.2.9999.tar.gz 7068 BLAKE2B fa27bd84c1d67bd36c7c7e47b6e8f98dd100e09c7a3bfa7aec615ed24e3dadf240f8ef44874c868ff92f79452afbf4a21fba46b1b9aec191bad53a62767b1861 SHA512 add4697c78c592dfe5ebadd3b0cf9b9c2a2c33bd05130a8e1422abf7456d8a0cc926a0d46f6b49ceee87017304d7c9c3486c975086e46f178e3bc142844f836f
DIST neutron-ml2-plugins-2019.1.9999.tar.gz 8642 BLAKE2B 71d945504f3e2185bffddb94956f019fa38bdd4a8782e936de2b8753e2a934374b6f0ed11ea0cdc9d454a80544b2e225e70ff987acbb971d756ae940cf4d7d16 SHA512 399e3f0cd8daaaf18e36d47aa105cf71d70e3ed5f707093e2292e480e3a0868818ee0ee68ca7a8eeb8e28cec51721e2508ed75815f04a415eb42dfe56708fce2
+DIST neutron-ml2-plugins-2019.2.9999.tar.gz 8669 BLAKE2B 3c34a857c0e7dd4e5313f5f9a1bb22384aeae6d1e43e719c50eab8dc3e842e98f202eb12cbb788127603931292deeed802f0592bad232e6a05121939e3b26fe0 SHA512 0e6858425ee3d3e2233c8ebf19aa8e62b5ff849532a2fdceb953f384f3b33432137537afbb2878f23ec5eb57e185eda36a6d6ff71d8be5f32b43abcb5c186082
EBUILD neutron-13.0.4.ebuild 8347 BLAKE2B 329f7e858f922aaf211dcd925fefcbd61418f5198d63b644a109634765aef14142b99cd68e7a8436eba730078ae0f21179819b121c020ecd3d2d7e743ae305a5 SHA512 57d8d5f18f1d45d23418f4599770fb35b757c4ca1e584d559e64d839308a9d71928db37a7276abf074294718b54c83f7e485d6c88978ec7f2bf26de29aacb46a
EBUILD neutron-14.0.2.ebuild 8388 BLAKE2B 3716d11d139f7ecee31b49009e07f2b5219c6a953a83a375d933aa6fb67c961a697341cdbe13da38bf09819607eafd07e3df6a106e41cfa1eccd38fc209a30c1 SHA512 42759d4cb73245f0fd5ce6a75d8c659e06eb552dc58b7c1723ebc37a1e49f56e74dce78e0b74d5befa8dae0389ed5b089e1c9c4bae5eeeb4025ab5daf12c3fa2
+EBUILD neutron-14.0.3.ebuild 8390 BLAKE2B bcebc5151fa3acece8a94a35a25ee7cac43bc07a1bc23bb1aae30cbd6fc1200ea3d72667cb07f2ba1a3b71499c6c96ff877e69055c17ec7fd7cdf16851147e1b SHA512 02719097608bee0047a392f0a01df294b7a3dbcee9366d1e1a9356748c91be05bdc5eabd5abdd8cc54547fa696d854984f4abd99640271042ed84a7af4c1dc98
+EBUILD neutron-15.0.0.ebuild 8537 BLAKE2B 24b377e69afcb69349d7ec540c865db6067a378c2ee9c7f030a1ed72ab6fb1560f335716eee0db53bb7f357db473378698a5dfcf422d0e7b8746436d58aa427b SHA512 641a48216feabc2601d5f1a1bf21a78a67fc55243f88f29ebff0980deaedc1737564ffa493288790e4f487d792a8042bf10485676fc22a8751e6f0598c56f398
EBUILD neutron-2018.2.9999.ebuild 8350 BLAKE2B 40303975455b8e20a9b55d228b0653104ddaa8f1a20000188d86da895af95c7030b3931b1d71c3038235cac8efd37dfe547ee8da0a57611fedc2de743f388a96 SHA512 c9240d19364c27113ec1e63893f86c2a5df66af5e5610becf53d6366868ebe6777d20f4324905a5a502cfe224dd05a3820255b016b1cbdd3b30ac8678092e224
EBUILD neutron-2019.1.9999.ebuild 8391 BLAKE2B 6182fa27064f390f6dc459d7a0d6b926ff1e1ad43d380e654e6ef5ed63fa91e130bed6fdc93a815e0c7eca598848a61596766e9fedca44439a2b99b589757224 SHA512 56d78135fed5fbbd23c789ce9037bcaa805ab42da39492dc2d41b5256d1f7139db92f119ab6c03b74a898e18a5e20ba8295ca54b17fcf2629d8f8ca06bb4777b
+EBUILD neutron-2019.2.9999.ebuild 8537 BLAKE2B 24b377e69afcb69349d7ec540c865db6067a378c2ee9c7f030a1ed72ab6fb1560f335716eee0db53bb7f357db473378698a5dfcf422d0e7b8746436d58aa427b SHA512 641a48216feabc2601d5f1a1bf21a78a67fc55243f88f29ebff0980deaedc1737564ffa493288790e4f487d792a8042bf10485676fc22a8751e6f0598c56f398
MISC metadata.xml 1619 BLAKE2B 462b212e519778c98632ec3230e5f0d1a006a229edef034ed0d462559cb0c1763dafb997198241cca4f9c7cb056ebada214c82745dce35b269c2c27d554145a4 SHA512 8f9075719eeec3c3a939e8a1b05a5604bc1e801b227feb5775bfa9f2812e67c41165dc0b2b377685645d9fd9988523356ac77a8db8e73139ab3f035ae59b70ce
diff --git a/sys-cluster/neutron/neutron-14.0.3.ebuild b/sys-cluster/neutron/neutron-14.0.3.ebuild
new file mode 100644
index 000000000000..7993274f2a78
--- /dev/null
+++ b/sys-cluster/neutron/neutron-14.0.3.ebuild
@@ -0,0 +1,230 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,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"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/stein"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/stein/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+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-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${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/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.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.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${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 )
+ 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)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "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-15.0.0.ebuild b/sys-cluster/neutron/neutron-15.0.0.ebuild
new file mode 100644
index 000000000000..db6f89678c2c
--- /dev/null
+++ b/sys-cluster/neutron/neutron-15.0.0.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,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"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+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-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${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/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.29.1[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.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.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${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 )
+ 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)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "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-2019.2.9999.ebuild b/sys-cluster/neutron/neutron-2019.2.9999.ebuild
new file mode 100644
index 000000000000..db6f89678c2c
--- /dev/null
+++ b/sys-cluster/neutron/neutron-2019.2.9999.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python2_7 python3_{5,6,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"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/train"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/train/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+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-4.0.0[${PYTHON_USEDEP}]"
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/paste-2.0.2[${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/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.29.1[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.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.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.3[${PYTHON_USEDEP}]
+ >=dev-python/weakrefmethod-1.0.2[$(python_gen_usedep 'python2_7')]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${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 )
+ 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)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "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
+}