sys-cluster/neutron: MITAKA

Package-Manager: portage-2.2.26
This commit is contained in:
Matthew Thode
2016-03-25 22:19:55 -05:00
parent 3f270dd565
commit 1666308004
2 changed files with 215 additions and 0 deletions

View File

@@ -1,3 +1,5 @@
DIST neutron-7.0.1.tar.gz 2500003 SHA256 99d9f2d05b225777f521a88849bd42691408e7986af76a6d76a18eeac736c19e SHA512 a072e7c44c55c00d4bcf1d17e0de8801b729849d354003c2eac2a14033fa9c81a5d7f83411bc235bdce070c55c1b76bbb86a836336eb17c3c04f00c2358ac953 WHIRLPOOL ce8ef78b8f0df852b561b336812b9101708cc8a036c28ccf8c7f7eee16d52ba0a61179f519f9ec469935e4920dacb7e9cdc6c3f37a8d71997885d29b7df58ba9
DIST neutron-7.0.2.tar.gz 2512153 SHA256 6e6988b301b87f21cc470c2ca7dd6fb91586860b477f958aba1be77c79afe51a SHA512 841e2e7aad0585a0f906aef90f67168ba9d95b4afdc94be0ac415fc1b975141c3488d31ae3096fc6d3eb47ef67d93d5e1e7980d9b95ea53e720aa0e08091d476 WHIRLPOOL 5a690ddbb0030df2d97e42c559c614b0d0eb003b814f8d0fd43cb62ac684109cd4b0b010a5cd827508fe83a14b0d580be32ab0ff775328b5666aa41b1515160e
DIST neutron-7.0.3.tar.gz 2522096 SHA256 07bc7ae4ef28937d371426c9dafb7a11e1233b1b4d1c7b2ce13c5751b76bb2f7 SHA512 a32623a65eba761ca4d10e5db817dd3253310d5b00babd6f2a54ff671296fde25802d35adbb9dc6c221752b1ad41bc5b210d40ec6f6f3dfac2835b58bda1160d WHIRLPOOL c7b633774af24ca143d7f991e55ce4f262274ca4912073db9e6d9b48be2f0420d3f621063018fa81f27daacf8ae8407dd8224b899b244a24c011da84b4539d74
DIST neutron-configs-2016.1.9999.tar.gz 11523 SHA256 906229c66882eb05d782a749b53b9368df28ae69eb99179cbaed2640996dd227 SHA512 95ff31ce599977b8bbd7f8783ba41c1f760a30721e8a6ea84fc8f0ecfc4f429d624dad29728d5bc026f7d76a4da6e19c0f4718fd1b58b65c50ff0470a3cf8f2d WHIRLPOOL 38868696cb444cd7c4eaaf704bfb8e2efb6486aa67a99951afd43de1a8e8ca7224e8b8592a2c28e09a7a43c1a9cf0ca02e44e05a50cc370bb9dacee873022a6d
DIST neutron-ml2-plugins-2016.1.9999.tar.gz 2031 SHA256 af1f0436924a64d9a07f0770f06d0a2e48457b45389e1ab90e42c7157797557b SHA512 b0c194ad29d7e7a44c04b74a109523044cf268ebd8cb91965759a5cbba7cef47c252f7d0ab49bf888a74b1776891b99402dd54d45fd6099734fa03afd519350d WHIRLPOOL c279518f1868c54409a28dea03f32aa60a413af9dc3ce4387034aaab6387f1c96a937c370bcab3e6e96474a12f19f3794e7b3e0482cb067fb2b060ad09faabad

View File

@@ -0,0 +1,213 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python2_7 python3_4 )
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/mitaka/configs.tar.gz -> neutron-configs-${PV}.tar.gz
https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/mitaka/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
EGIT_REPO_URI="https://github.com/openstack/neutron.git"
EGIT_BRANCH="stable/mitaka"
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.2[${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/greenlet-0.3.2[${PYTHON_USEDEP}]
>=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
>=dev-python/requests-2.8.1[${PYTHON_USEDEP}]
!~dev-python/requests-2.9.0[${PYTHON_USEDEP}]
>=dev-python/jinja-2.8[${PYTHON_USEDEP}]
>=dev-python/keystonemiddleware-4.0.0[${PYTHON_USEDEP}]
!=dev-python/keystonemiddleware-4.1.0[${PYTHON_USEDEP}]
>=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
!~dev-python/netaddr-0.7.16[${PYTHON_USEDEP}]
>=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
>=dev-python/neutron-lib-0.0.1[${PYTHON_USEDEP}]
>=dev-python/python-neutronclient-2.6.0[${PYTHON_USEDEP}]
!~dev-python/python-neutronclient-4.1.0[${PYTHON_USEDEP}]
>=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
!~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
>=dev-python/ryu-3.30[${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/mysql-python
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
)
postgres? (
dev-python/psycopg:2
>=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
<dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
)
>=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
>=dev-python/keystoneauth-2.1.0[${PYTHON_USEDEP}]
>=dev-python/alembic-0.8.0[${PYTHON_USEDEP}]
>=dev-python/six-1.9.0[${PYTHON_USEDEP}]
>=dev-python/stevedore-1.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-concurrency-3.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-config-3.7.0[${PYTHON_USEDEP}]
>=dev-python/oslo-context-0.2.0[${PYTHON_USEDEP}]
>=dev-python/oslo-db-4.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
>=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
>=dev-python/oslo-messaging-4.0.0[${PYTHON_USEDEP}]
>=dev-python/oslo-middleware-3.0.0[${PYTHON_USEDEP}]
>=dev-python/oslo-policy-0.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-reports-0.6.0[${PYTHON_USEDEP}]
>=dev-python/oslo-rootwrap-2.0.0[${PYTHON_USEDEP}]
>=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
>=dev-python/oslo-service-1.0.0[${PYTHON_USEDEP}]
>=dev-python/oslo-utils-3.5.0[${PYTHON_USEDEP}]
>=dev-python/oslo-versionedobjects-1.5.0[${PYTHON_USEDEP}]
>=dev-python/ovs-2.4.0[$(python_gen_usedep 'python2_7')]
>=dev-python/python-novaclient-2.29.0[${PYTHON_USEDEP}]
!~dev-python/python-novaclient-2.33.0[${PYTHON_USEDEP}]
>=dev-python/python-designateclient-1.5.0[${PYTHON_USEDEP}]
dev-python/pyudev[${PYTHON_USEDEP}]
sys-apps/iproute2
net-misc/bridge-utils
net-firewall/ipset
net-firewall/iptables
net-firewall/ebtables
openvswitch? ( <=net-misc/openvswitch-2.5.9999 )
ipv6? ( net-misc/radvd )
dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
#PATCHES=(
#)
pkg_setup() {
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
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() {
distutils-r1_python_install
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.liberty" "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"
insopts -m 0644
insinto "/usr/lib64/python2.7/site-packages/neutron/db/migration/alembic_migrations/"
doins -r "neutron/db/migration/alembic_migrations/versions"
#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/"
}
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
}