summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2015-02-08 02:31:21 +0000
committerMatthew Thode <prometheanfire@gentoo.org>2015-02-08 02:31:21 +0000
commit449f01f74836e4a8164cbabd1cf6ebc81f0e4c75 (patch)
treee60678cca4b4be7167f6599a424a92e21beeb132 /sys-cluster
parentbup (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--sys-cluster/neutron/files/CVE-2014-8153-juno.patch120
-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.ebuild52
-rw-r--r--sys-cluster/neutron/neutron-9999.ebuild225
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
-}