diff options
author | Matthew Thode <prometheanfire@gentoo.org> | 2015-02-08 02:31:21 +0000 |
---|---|---|
committer | Matthew Thode <prometheanfire@gentoo.org> | 2015-02-08 02:31:21 +0000 |
commit | 449f01f74836e4a8164cbabd1cf6ebc81f0e4c75 (patch) | |
tree | e60678cca4b4be7167f6599a424a92e21beeb132 /sys-cluster | |
parent | bup (diff) | |
download | gentoo-2-449f01f74836e4a8164cbabd1cf6ebc81f0e4c75.tar.gz gentoo-2-449f01f74836e4a8164cbabd1cf6ebc81f0e4c75.tar.bz2 gentoo-2-449f01f74836e4a8164cbabd1cf6ebc81f0e4c75.zip |
bup
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 0x33ED3FD25AFC78BA)
Diffstat (limited to 'sys-cluster')
-rw-r--r-- | sys-cluster/neutron/ChangeLog | 9 | ||||
-rw-r--r-- | sys-cluster/neutron/files/CVE-2014-8153-juno.patch | 120 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-2014.2.2.ebuild (renamed from sys-cluster/neutron/neutron-2014.2.1-r1.ebuild) | 91 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-2014.2.9999.ebuild | 52 | ||||
-rw-r--r-- | sys-cluster/neutron/neutron-9999.ebuild | 225 |
5 files changed, 71 insertions, 426 deletions
diff --git a/sys-cluster/neutron/ChangeLog b/sys-cluster/neutron/ChangeLog index 4e1f760ff4cd..9f060ab3d29f 100644 --- a/sys-cluster/neutron/ChangeLog +++ b/sys-cluster/neutron/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-cluster/neutron # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.51 2015/02/01 05:54:46 prometheanfire Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.52 2015/02/08 02:31:21 prometheanfire Exp $ + +*neutron-2014.2.2 (08 Feb 2015) + + 08 Feb 2015; Matthew Thode <prometheanfire@gentoo.org> + +neutron-2014.2.2.ebuild, -files/CVE-2014-8153-juno.patch, + -neutron-2014.2.1-r1.ebuild, -neutron-9999.ebuild, neutron-2014.2.9999.ebuild: + bup 01 Feb 2015; Matthew Thode <prometheanfire@gentoo.org> neutron-2014.2.9999.ebuild: diff --git a/sys-cluster/neutron/files/CVE-2014-8153-juno.patch b/sys-cluster/neutron/files/CVE-2014-8153-juno.patch deleted file mode 100644 index 687eb3febca0..000000000000 --- a/sys-cluster/neutron/files/CVE-2014-8153-juno.patch +++ /dev/null @@ -1,120 +0,0 @@ -From 6c490a984af690e732f8b96a18493ac1afef892f Mon Sep 17 00:00:00 2001 -From: Ihar Hrachyshka <ihrachys@redhat.com> -Date: Wed, 3 Dec 2014 12:44:57 +0100 -Subject: [PATCH] radvd: pass -m syslog to avoid thread lock for radvd 2.0+ - -Since radvd 2.0, the daemon does not use daemon_fork() function from -libdaemon, but instead calls Linux daemon() function directly. It also -passes (1, 1) arguments when logging method (-m) is either stderr (the -default) or stderr_syslog. The second argument's value = 1 means that -stderr is not closed and left there for (some) log messages. - -For neutron, it means that corresponding execute() call that spawns -radvd and expects the invoked process to close stderr does not ever get -completed. The current thread that spawned radvd is locked waiting for -radvd to exit, which does not ever occur unless the process crashes or -receives a signal. - -Since L3 agent gives exclusive access to updates queue for each router -to one of processing threads only, it means that the thread that got to -serve a radvd-powered subnet will not proceed and not update any new -ports or other changes to the router anymore. - -Passing -m syslog makes radvd 2.0+ close stderr and return to execute() -caller, proceeding with router update processing. The same arguments -should work for old (pre 2.0) versions of radvd too, so passing them -unconditionally. - -We could instead use -m logfile and pass appropriate -l <logfile> -argument to radvd to make it log to a log file located in router's -namespace storage path. Though that would be not in line with what -dnsmasq processes currently do for dhcp agent, where we log all messages -to syslog, so sticking to syslog for radvd for consistency. - -Juno changes: -- tests: we need to construct RouterInfo to get router namespace name. - -Change-Id: I131db0639bc46d332ed48faa2bbe68a214264062 -Closes-Bug: #1398779 -(cherry picked from commit 72d41174765540bb7672b545c336fb7aaad075e8) ---- - neutron/agent/linux/ra.py | 8 +++++++- - neutron/tests/unit/test_l3_agent.py | 34 ++++++++++++++++++++++++++++++++++ - 2 files changed, 41 insertions(+), 1 deletion(-) - -diff --git a/neutron/agent/linux/ra.py b/neutron/agent/linux/ra.py -index 66fa012..6bdfea5 100644 ---- a/neutron/agent/linux/ra.py -+++ b/neutron/agent/linux/ra.py -@@ -82,9 +82,15 @@ def _generate_radvd_conf(router_id, router_ports, dev_name_helper): - - def _spawn_radvd(router_id, radvd_conf, router_ns, root_helper): - def callback(pid_file): -+ # we need to use -m syslog and f.e. not -m stderr (the default) -+ # or -m stderr_syslog so that radvd 2.0+ will close stderr and -+ # exit after daemonization; otherwise, the current thread will -+ # be locked waiting for result from radvd that won't ever come -+ # until the process dies - radvd_cmd = ['radvd', - '-C', '%s' % radvd_conf, -- '-p', '%s' % pid_file] -+ '-p', '%s' % pid_file, -+ '-m', 'syslog'] - return radvd_cmd - - radvd = external_process.ProcessManager(cfg.CONF, -diff --git a/neutron/tests/unit/test_l3_agent.py b/neutron/tests/unit/test_l3_agent.py -index 6fda182..f5b2ca4 100644 ---- a/neutron/tests/unit/test_l3_agent.py -+++ b/neutron/tests/unit/test_l3_agent.py -@@ -27,6 +27,7 @@ from neutron.agent.common import config as agent_config - from neutron.agent import l3_agent - from neutron.agent import l3_ha_agent - from neutron.agent.linux import interface -+from neutron.agent.linux import ra - from neutron.common import config as base_config - from neutron.common import constants as l3_constants - from neutron.common import exceptions as n_exc -@@ -2350,6 +2351,39 @@ vrrp_instance VR_1 { - self.assertFalse(nat.add_rule.called) - nat.clear_rules_by_tag.assert_called_once_with('floating_ip') - -+ def test_spawn_radvd(self): -+ router = prepare_router_data() -+ ri = l3_agent.RouterInfo(router['id'], self.conf.root_helper, -+ self.conf.use_namespaces, router=router) -+ -+ conffile = '/fake/radvd.conf' -+ pidfile = '/fake/radvd.pid' -+ -+ # we don't want the whole process manager to be mocked to be -+ # able to catch execute() calls -+ self.external_process_p.stop() -+ self.ip_cls_p.stop() -+ -+ get_pid_file_name = ('neutron.agent.linux.external_process.' -+ 'ProcessManager.get_pid_file_name') -+ with mock.patch('neutron.agent.linux.utils.execute') as execute: -+ with mock.patch(get_pid_file_name) as get_pid: -+ get_pid.return_value = pidfile -+ ra._spawn_radvd(router['id'], -+ conffile, -+ ri.ns_name, -+ self.conf.root_helper) -+ cmd = execute.call_args[0][0] -+ -+ self.assertIn('radvd', cmd) -+ -+ _join = lambda *args: ' '.join(args) -+ -+ cmd = _join(*cmd) -+ self.assertIn(_join('-C', conffile), cmd) -+ self.assertIn(_join('-p', pidfile), cmd) -+ self.assertIn(_join('-m', 'syslog'), cmd) -+ - - class TestL3AgentEventHandler(base.BaseTestCase): - --- -2.0.5 - diff --git a/sys-cluster/neutron/neutron-2014.2.1-r1.ebuild b/sys-cluster/neutron/neutron-2014.2.2.ebuild index c54efd98b2da..4dd83f677216 100644 --- a/sys-cluster/neutron/neutron-2014.2.1-r1.ebuild +++ b/sys-cluster/neutron/neutron-2014.2.2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.1-r1.ebuild,v 1.1 2015/01/13 03:59:07 prometheanfire Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.2.ebuild,v 1.1 2015/02/08 02:31:21 prometheanfire Exp $ EAPI=5 PYTHON_COMPAT=( python2_7 ) @@ -17,29 +17,32 @@ KEYWORDS="~amd64 ~x86" IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres" REQUIRED_USE="|| ( mysql postgres sqlite )" -#the cliff dep is as below because it depends on pyparsing, which only has 2.7 OR 3.2, not both -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/pbr-0.8[${PYTHON_USEDEP}] - <dev-python/pbr-1.0[${PYTHON_USEDEP}] - app-admin/sudo - test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}] - <dev-python/hacking-0.10[${PYTHON_USEDEP}] - >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}] - >=dev-python/coverage-3.6[${PYTHON_USEDEP}] - >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] - >=dev-python/mock-1.0[${PYTHON_USEDEP}] - >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}] - dev-python/ordereddict[${PYTHON_USEDEP}] - >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}] - >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] - !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}] - <dev-python/sphinx-1.3[${PYTHON_USEDEP}] - >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] - >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] - >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] - !~dev-python/testtools-1.4.0[${PYTHON_USEDEP}] - >=dev-python/webtest-2.0[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] )" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/pbr-0.8[${PYTHON_USEDEP}] + <dev-python/pbr-1.0[${PYTHON_USEDEP}] + app-admin/sudo + test? ( + ${RDEPEND} + >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}] + <dev-python/hacking-0.10[${PYTHON_USEDEP}] + >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}] + >=dev-python/coverage-3.6[${PYTHON_USEDEP}] + >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] + >=dev-python/mock-1.0[${PYTHON_USEDEP}] + >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}] + dev-python/ordereddict[${PYTHON_USEDEP}] + >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}] + >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] + !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}] + <dev-python/sphinx-1.3[${PYTHON_USEDEP}] + >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] + >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] + >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] + !~dev-python/testtools-1.4.0[${PYTHON_USEDEP}] + >=dev-python/webtest-2.0[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + )" RDEPEND=" dev-python/paste[${PYTHON_USEDEP}] @@ -49,6 +52,7 @@ RDEPEND=" >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}] >=dev-python/Babel-1.3[${PYTHON_USEDEP}] >=dev-python/eventlet-0.15.1[${PYTHON_USEDEP}] + <dev-python/eventlet-0.16.0[${PYTHON_USEDEP}] >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] >=dev-python/requests-1.2.1[${PYTHON_USEDEP}] @@ -61,42 +65,18 @@ RDEPEND=" >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] <=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}] sqlite? ( - || ( - ( - >=dev-python/sqlalchemy-0.8.4[sqlite,${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[sqlite,${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}] - ) - ) + >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}] ) mysql? ( dev-python/mysql-python - || ( - ( - >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] - ) - ) + >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] ) postgres? ( dev-python/psycopg:2 - || ( - ( - >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] - ) - ) + >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] + <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] ) >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}] @@ -105,8 +85,10 @@ RDEPEND=" >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}] >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}] >=dev-python/oslo-db-1.0.0[${PYTHON_USEDEP}] + <dev-python/oslo-db-1.1.0[${PYTHON_USEDEP}] >=dev-python/oslo-messaging-1.4.0[${PYTHON_USEDEP}] !~dev-python/oslo-messaging-1.5.0[${PYTHON_USEDEP}] + <dev-python/oslo-messaging-1.6.0[${PYTHON_USEDEP}] >=dev-python/oslo-rootwrap-1.3.0[${PYTHON_USEDEP}] >=dev-python/python-novaclient-2.18.0[${PYTHON_USEDEP}] dev-python/pyudev[${PYTHON_USEDEP}] @@ -116,7 +98,6 @@ RDEPEND=" dhcp? ( net-dns/dnsmasq[dhcp-tools] )" PATCHES=( - "${FILESDIR}/CVE-2014-8153-juno.patch" ) pkg_setup() { diff --git a/sys-cluster/neutron/neutron-2014.2.9999.ebuild b/sys-cluster/neutron/neutron-2014.2.9999.ebuild index e386460fff4e..0d02aad09be9 100644 --- a/sys-cluster/neutron/neutron-2014.2.9999.ebuild +++ b/sys-cluster/neutron/neutron-2014.2.9999.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.9999.ebuild,v 1.7 2015/02/01 05:54:46 prometheanfire Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.9999.ebuild,v 1.8 2015/02/08 02:31:21 prometheanfire Exp $ EAPI=5 PYTHON_COMPAT=( python2_7 ) @@ -18,29 +18,32 @@ KEYWORDS="" IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres" REQUIRED_USE="|| ( mysql postgres sqlite )" -#the cliff dep is as below because it depends on pyparsing, which only has 2.7 OR 3.2, not both -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/pbr-0.8[${PYTHON_USEDEP}] - <dev-python/pbr-1.0[${PYTHON_USEDEP}] - test? ( - >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}] - <dev-python/hacking-0.10[${PYTHON_USEDEP}] - >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}] - >=dev-python/coverage-3.6[${PYTHON_USEDEP}] - >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] - >=dev-python/mock-1.0[${PYTHON_USEDEP}] - >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}] - dev-python/ordereddict[${PYTHON_USEDEP}] - >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}] - >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] - !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}] - <dev-python/sphinx-1.3[${PYTHON_USEDEP}] - >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] - >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] - >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] - !~dev-python/testtools-1.4.0[${PYTHON_USEDEP}] - >=dev-python/webtest-2.0[${PYTHON_USEDEP}] - )" +DEPEND=" + dev-python/setuptools[${PYTHON_USEDEP}] + >=dev-python/pbr-0.8[${PYTHON_USEDEP}] + <dev-python/pbr-1.0[${PYTHON_USEDEP}] + app-admin/sudo + test? ( + ${RDEPEND} + >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}] + <dev-python/hacking-0.10[${PYTHON_USEDEP}] + >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}] + >=dev-python/coverage-3.6[${PYTHON_USEDEP}] + >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] + >=dev-python/mock-1.0[${PYTHON_USEDEP}] + >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}] + dev-python/ordereddict[${PYTHON_USEDEP}] + >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}] + >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] + !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}] + <dev-python/sphinx-1.3[${PYTHON_USEDEP}] + >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] + >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] + >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] + !~dev-python/testtools-1.4.0[${PYTHON_USEDEP}] + >=dev-python/webtest-2.0[${PYTHON_USEDEP}] + dev-python/configobj[${PYTHON_USEDEP}] + )" RDEPEND=" dev-python/paste[${PYTHON_USEDEP}] @@ -89,7 +92,6 @@ RDEPEND=" <dev-python/oslo-messaging-1.6.0[${PYTHON_USEDEP}] >=dev-python/oslo-rootwrap-1.3.0[${PYTHON_USEDEP}] >=dev-python/python-novaclient-2.18.0[${PYTHON_USEDEP}] - app-admin/sudo dev-python/pyudev[${PYTHON_USEDEP}] sys-apps/iproute2 net-firewall/ipset diff --git a/sys-cluster/neutron/neutron-9999.ebuild b/sys-cluster/neutron/neutron-9999.ebuild deleted file mode 100644 index 34c855963982..000000000000 --- a/sys-cluster/neutron/neutron-9999.ebuild +++ /dev/null @@ -1,225 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-9999.ebuild,v 1.15 2015/01/13 03:59:07 prometheanfire Exp $ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit distutils-r1 git-2 linux-info user - -DESCRIPTION="A virtual network service for Openstack" -HOMEPAGE="https://launchpad.net/neutron" -EGIT_REPO_URI="https://github.com/openstack/neutron.git" -EGIT_BRANCH="master" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="" -IUSE="dhcp doc l3 metadata openvswitch linuxbridge server test sqlite mysql postgres" -REQUIRED_USE="|| ( mysql postgres sqlite )" - -#the cliff dep is as below because it depends on pyparsing, which only has 2.7 OR 3.2, not both -DEPEND="dev-python/setuptools[${PYTHON_USEDEP}] - >=dev-python/pbr-0.8[${PYTHON_USEDEP}] - <dev-python/pbr-1.0[${PYTHON_USEDEP}] - app-admin/sudo - test? ( >=dev-python/hacking-0.9.2[${PYTHON_USEDEP}] - <dev-python/hacking-0.10[${PYTHON_USEDEP}] - >=dev-python/cliff-1.7.0[${PYTHON_USEDEP}] - >=dev-python/coverage-3.6[${PYTHON_USEDEP}] - >=dev-python/fixtures-0.3.14[${PYTHON_USEDEP}] - >=dev-python/mock-1.0[${PYTHON_USEDEP}] - >=dev-python/subunit-0.0.18[${PYTHON_USEDEP}] - dev-python/ordereddict[${PYTHON_USEDEP}] - >=dev-python/requests-mock-0.4.0[${PYTHON_USEDEP}] - >=dev-python/sphinx-1.1.2[${PYTHON_USEDEP}] - !~dev-python/sphinx-1.2.0[${PYTHON_USEDEP}] - <dev-python/sphinx-1.3[${PYTHON_USEDEP}] - >=dev-python/oslo-sphinx-2.2.0[${PYTHON_USEDEP}] - >=dev-python/testrepository-0.0.18[${PYTHON_USEDEP}] - >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}] - !~dev-python/testtools-1.4.0[${PYTHON_USEDEP}] - >=dev-python/webtest-2.0[${PYTHON_USEDEP}] - dev-python/configobj[${PYTHON_USEDEP}] )" - -RDEPEND=" - 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/anyjson-0.3.3[${PYTHON_USEDEP}] - >=dev-python/Babel-1.3[${PYTHON_USEDEP}] - >=dev-python/eventlet-0.15.1[${PYTHON_USEDEP}] - >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}] - >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}] - >=dev-python/requests-1.2.1[${PYTHON_USEDEP}] - !~dev-python/requests-2.4.0[${PYTHON_USEDEP}] - >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}] - dev-python/jsonrpclib[${PYTHON_USEDEP}] - dev-python/jinja[${PYTHON_USEDEP}] - >=dev-python/keystonemiddleware-1.0.0[${PYTHON_USEDEP}] - >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}] - >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] - <=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}] - sqlite? ( - || ( - ( - >=dev-python/sqlalchemy-0.8.4[sqlite,${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[sqlite,${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[sqlite,${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[sqlite,${PYTHON_USEDEP}] - ) - ) - ) - mysql? ( - dev-python/mysql-python - || ( - ( - >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] - ) - ) - ) - postgres? ( - dev-python/psycopg:2 - || ( - ( - >=dev-python/sqlalchemy-0.8.4[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.8.99[${PYTHON_USEDEP}] - ) - ( - >=dev-python/sqlalchemy-0.9.7[${PYTHON_USEDEP}] - <=dev-python/sqlalchemy-0.9.99[${PYTHON_USEDEP}] - ) - ) - ) - >=dev-python/webob-1.2.3[${PYTHON_USEDEP}] - >=dev-python/python-keystoneclient-0.10.0[${PYTHON_USEDEP}] - >=dev-python/alembic-0.6.4[${PYTHON_USEDEP}] - >=dev-python/six-1.7.0[${PYTHON_USEDEP}] - >=dev-python/stevedore-1.0.0[${PYTHON_USEDEP}] - >=dev-python/oslo-config-1.4.0[${PYTHON_USEDEP}] - >=dev-python/oslo-db-1.0.0[${PYTHON_USEDEP}] - >=dev-python/oslo-messaging-1.4.0[${PYTHON_USEDEP}] - !~dev-python/oslo-messaging-1.5.0[${PYTHON_USEDEP}] - >=dev-python/oslo-rootwrap-1.3.0[${PYTHON_USEDEP}] - >=dev-python/python-novaclient-2.18.0[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - sys-apps/iproute2 - net-firewall/ipset - openvswitch? ( net-misc/openvswitch ) - dhcp? ( net-dns/dnsmasq[dhcp-tools] )" - -PATCHES=( -) - -pkg_setup() { - linux-info_pkg_setup - CONFIG_CHECK_MODULES="8021Q IP6TABLE_FILTER IP6_TABLES IPT_REJECT \ - IPTABLE_MANGLE IPT_MASQUERADE IPTABLE_NAT NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 \ - NF_NAT_IPV4 NF_NAT NF_CONNTRACK IPTABLE_FILTER IP_TABLES X_TABLES" - 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() { - #it's /bin/ip not /sbin/ip - sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* - distutils-r1_src_prepare -} - -python_compile_all() { - use doc && make -C doc html -} - -python_test() { - # https://bugs.launchpad.net/neutron/+bug/1234857 - # https://bugs.launchpad.net/swift/+bug/1249727 - # https://bugs.launchpad.net/neutron/+bug/1251657 - # turn multiprocessing off, testr will use it --parallel - local DISTUTILS_NO_PARALLEL_BUILD=1 - # Move tests out that attempt net connection, have failures - mv $(find . -name test_ovs_tunnel.py) . || die - sed -e 's:test_app_using_ipv6_and_ssl:_&:' \ - -e 's:test_start_random_port_with_ipv6:_&:' \ - -i neutron/tests/unit/test_wsgi.py || die - testr init - testr run --parallel || die "failed testsuite under python2.7" -} - -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" "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 - rm "${D}etc/neutron/quantum" - 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" - - 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 - - #remove superfluous stuff - rm -R "${D}/usr/etc/" -} - -python_install_all() { - use doc && local HTML_DOCS=( doc/build/html/. ) - distutils-r1_python_install_all -} |