summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Thode <prometheanfire@gentoo.org>2015-01-13 03:59:07 +0000
committerMatthew Thode <prometheanfire@gentoo.org>2015-01-13 03:59:07 +0000
commit7657092d70bdffe3665cfd52f216bf282ce47eae (patch)
treef0cf7088961036ba01b4e301a592493809c8b921 /sys-cluster
parentremoving old versions (icehosue) (diff)
downloadgentoo-2-7657092d70bdffe3665cfd52f216bf282ce47eae.tar.gz
gentoo-2-7657092d70bdffe3665cfd52f216bf282ce47eae.tar.bz2
gentoo-2-7657092d70bdffe3665cfd52f216bf282ce47eae.zip
bunch o fixes
removing old for old reasons removing badness for CVE-2014-7821 patching goodness for CVE-2014-8153 (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/ChangeLog15
-rw-r--r--sys-cluster/neutron/files/CVE-2014-8153-juno.patch120
-rw-r--r--sys-cluster/neutron/files/neutron-confd2
-rw-r--r--sys-cluster/neutron/files/neutron-confd-22
-rw-r--r--sys-cluster/neutron/files/neutron-initd60
-rw-r--r--sys-cluster/neutron/files/neutron-initd-260
-rw-r--r--sys-cluster/neutron/files/neutron-sudoers4
-rw-r--r--sys-cluster/neutron/files/nicira.patch164
-rw-r--r--sys-cluster/neutron/files/sphinx_mapping.patch16
-rw-r--r--sys-cluster/neutron/neutron-2014.2.1-r1.ebuild (renamed from sys-cluster/neutron/neutron-2014.2.1.ebuild)7
-rw-r--r--sys-cluster/neutron/neutron-2014.2.9999.ebuild6
-rw-r--r--sys-cluster/neutron/neutron-2014.2.ebuild222
-rw-r--r--sys-cluster/neutron/neutron-9999.ebuild216
13 files changed, 279 insertions, 615 deletions
diff --git a/sys-cluster/neutron/ChangeLog b/sys-cluster/neutron/ChangeLog
index 57e09db55bad..cf66286a9eeb 100644
--- a/sys-cluster/neutron/ChangeLog
+++ b/sys-cluster/neutron/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for sys-cluster/neutron
-# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.49 2014/12/09 01:38:10 prometheanfire Exp $
+# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/ChangeLog,v 1.50 2015/01/13 03:59:07 prometheanfire Exp $
+
+*neutron-2014.2.1-r1 (13 Jan 2015)
+
+ 13 Jan 2015; Matthew Thode <prometheanfire@gentoo.org>
+ +files/CVE-2014-8153-juno.patch, +neutron-2014.2.1-r1.ebuild,
+ -files/neutron-confd, -files/neutron-confd-2, -files/neutron-initd,
+ -files/neutron-initd-2, -files/neutron-sudoers, -files/nicira.patch,
+ -files/sphinx_mapping.patch, -neutron-2014.2.1.ebuild, -neutron-2014.2.ebuild,
+ neutron-2014.2.9999.ebuild, neutron-9999.ebuild:
+ bunch o fixes removing old for old reasons removing badness for CVE-2014-7821
+ patching goodness for CVE-2014-8153
*neutron-2014.2.1 (09 Dec 2014)
diff --git a/sys-cluster/neutron/files/CVE-2014-8153-juno.patch b/sys-cluster/neutron/files/CVE-2014-8153-juno.patch
new file mode 100644
index 000000000000..687eb3febca0
--- /dev/null
+++ b/sys-cluster/neutron/files/CVE-2014-8153-juno.patch
@@ -0,0 +1,120 @@
+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/files/neutron-confd b/sys-cluster/neutron/files/neutron-confd
deleted file mode 100644
index dae379e557c7..000000000000
--- a/sys-cluster/neutron/files/neutron-confd
+++ /dev/null
@@ -1,2 +0,0 @@
-#Don't touch this unless you know what you are doing
-PID_PATH=/run/quantum
diff --git a/sys-cluster/neutron/files/neutron-confd-2 b/sys-cluster/neutron/files/neutron-confd-2
deleted file mode 100644
index d7a9c043d327..000000000000
--- a/sys-cluster/neutron/files/neutron-confd-2
+++ /dev/null
@@ -1,2 +0,0 @@
-#Don't touch this unless you know what you are doing
-PID_PATH=/run/neutron
diff --git a/sys-cluster/neutron/files/neutron-initd b/sys-cluster/neutron/files/neutron-initd
deleted file mode 100644
index 348e62766c6d..000000000000
--- a/sys-cluster/neutron/files/neutron-initd
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-BASENAME=$(echo $SVCNAME | cut -d '-' -f 1)
-SERVERNAME=$(echo $SVCNAME | cut -d '-' -f 2)
-
-checkconfig() {
- if [ ! -r /etc/conf.d/$BASENAME ]; then
- eerror "No quantum conf.d file found: /etc/conf.d/$BASENAME)"
- return 1
- fi
- return 0
-}
-
-start() {
- checkconfig || return $?
- . /etc/conf.d/$BASENAME
-
- ebegin "Starting ${SVCNAME}"
-
- if [ ! -d ${PID_PATH} ]; then
- mkdir ${PID_PATH}
- fi
-
- start-stop-daemon --start \
- --user neutron:neutron \
- --quiet \
- --pidfile "${PID_PATH}/${SVCNAME}.pid" \
- --make-pidfile \
- --background \
- --exec /usr/bin/${SVCNAME} -- \
- --config-file /etc/quantum/quantum.conf \
- --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini \
- --log-file /var/log/quantum/server.log
-
- eend $? "Failed to start ${SVCNAME}"
-}
-
-stop() {
- checkconfig || return $?
- . /etc/conf.d/$BASENAME
-
- ebegin "Stopping ${SVCNAME}"
-
- start-stop-daemon --stop --user neutron --quiet --pidfile "${PID_PATH}/${SVCNAME}.pid" \
- --exec /usr/bin/${SVCNAME} -- \
- --config-file /etc/quantum/quantum.conf \
- --config-file /etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini \
- --log-file /var/log/quantum/server.log
- eend $? "Failed to stop ${SVCNAME}"
-}
-
-#restart() {
-#
-#}
diff --git a/sys-cluster/neutron/files/neutron-initd-2 b/sys-cluster/neutron/files/neutron-initd-2
deleted file mode 100644
index 192d153ccd52..000000000000
--- a/sys-cluster/neutron/files/neutron-initd-2
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- need net
-}
-
-BASENAME=$(echo $SVCNAME | cut -d '-' -f 1)
-SERVERNAME=$(echo $SVCNAME | cut -d '-' -f 2)
-
-checkconfig() {
- if [ ! -r /etc/conf.d/$BASENAME ]; then
- eerror "No neutron conf.d file found: /etc/conf.d/$BASENAME)"
- return 1
- fi
- return 0
-}
-
-start() {
- checkconfig || return $?
- . /etc/conf.d/$BASENAME
-
- ebegin "Starting ${SVCNAME}"
-
- if [ ! -d ${PID_PATH} ]; then
- mkdir ${PID_PATH}
- fi
-
- start-stop-daemon --start \
- --user neutron:neutron \
- --quiet \
- --pidfile "${PID_PATH}/${SVCNAME}.pid" \
- --make-pidfile \
- --background \
- --exec /usr/bin/${SVCNAME} -- \
- --config-file /etc/neutron/neutron.conf \
- --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini \
- --log-file /var/log/neutron/server.log
-
- eend $? "Failed to start ${SVCNAME}"
-}
-
-stop() {
- checkconfig || return $?
- . /etc/conf.d/$BASENAME
-
- ebegin "Stopping ${SVCNAME}"
-
- start-stop-daemon --stop --user neutron --quiet --pidfile "${PID_PATH}/${SVCNAME}.pid" \
- --exec /usr/bin/${SVCNAME} -- \
- --config-file /etc/neutron/neutron.conf \
- --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini \
- --log-file /var/log/neutron/server.log
- eend $? "Failed to stop ${SVCNAME}"
-}
-
-#restart() {
-#
-#}
diff --git a/sys-cluster/neutron/files/neutron-sudoers b/sys-cluster/neutron/files/neutron-sudoers
deleted file mode 100644
index 7d1d5a2be487..000000000000
--- a/sys-cluster/neutron/files/neutron-sudoers
+++ /dev/null
@@ -1,4 +0,0 @@
-Defaults:neutron !requiretty
-
-neutron ALL = (root) NOPASSWD: /usr/bin/quantum-rootwrap
-
diff --git a/sys-cluster/neutron/files/nicira.patch b/sys-cluster/neutron/files/nicira.patch
deleted file mode 100644
index 58461f91df87..000000000000
--- a/sys-cluster/neutron/files/nicira.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-https://review.openstack.org/gitweb?p=openstack%2Fneutron.git;a=commitdiff;h=a52ef6ecf19b8b015465ddda2a3ca087f0e12122
-index 04dbfef..77f233a 100755 (executable)
-
-
---- a/neutron/plugins/nicira/vshield/tasks/tasks.py
-+++ b/neutron/plugins/nicira/vshield/tasks/tasks.py
-@@ -15,8 +15,6 @@
- # License for the specific language governing permissions and limitations
- # under the License.
-
--from __future__ import print_function
--
- import collections
- import uuid
-
-@@ -167,6 +165,9 @@ class TaskManager():
- # A dict to store resource -> resource's tasks
- self._tasks = {}
-
-+ # Current task being executed in main thread
-+ self._main_thread_exec_task = None
-+
- # New request event
- self._req = event.Event()
-
-@@ -311,8 +312,10 @@ class TaskManager():
- continue
-
- try:
-+ self._main_thread_exec_task = task
- self._execute(task)
- finally:
-+ self._main_thread_exec_task = None
- if task.status is None:
- # The thread is killed during _execute(). To guarantee
- # the task been aborted correctly, put it to the queue.
-@@ -348,20 +351,19 @@ class TaskManager():
- self._thread = None
-
- def has_pending_task(self):
-- if self._tasks_queue:
-- return True
--
-- if self._tasks:
-+ if self._tasks_queue or self._tasks or self._main_thread_exec_task:
- return True
--
-- return False
-+ else:
-+ return False
-
- def show_pending_tasks(self):
- for task in self._tasks_queue:
-- print(str(task))
-+ LOG.info(str(task))
- for resource, tasks in self._tasks.iteritems():
- for task in tasks:
-- print(str(task))
-+ LOG.info(str(task))
-+ if self._main_thread_exec_task:
-+ LOG.info(str(self._main_thread_exec_task))
-
- def count(self):
- count = 0
-
-
-diff --git a/neutron/tests/unit/nicira/test_edge_router.py b/neutron/tests/unit/nicira/test_edge_router.py
-
-index 41efeed..a360b71 100644 (file)
-
-
---- a/neutron/tests/unit/nicira/test_edge_router.py
-+++ b/neutron/tests/unit/nicira/test_edge_router.py
-@@ -135,7 +135,8 @@ class ServiceRouterTest(test_nicira_plugin.NiciraL3NatTest,
- def tearDown(self):
- plugin = NeutronManager.get_plugin()
- manager = plugin.vcns_driver.task_manager
-- for i in range(20):
-+ # wait max ~10 seconds for all tasks to be finished
-+ for i in range(100):
- if not manager.has_pending_task():
- break
- greenthread.sleep(0.1)
-@@ -183,8 +184,8 @@ class ServiceRouterTestCase(ServiceRouterTest, NvpRouterTestCase):
- for k, v in expected_value_1:
- self.assertEqual(router['router'][k], v)
-
-- # wait ~1 seconds for router status update
-- for i in range(2):
-+ # wait max ~10 seconds for router status update
-+ for i in range(20):
- greenthread.sleep(0.5)
- res = self._show('routers', router['router']['id'])
- if res['router']['status'] == 'ACTIVE':
-
-
-diff --git a/neutron/tests/unit/nicira/test_vcns_driver.py b/neutron/tests/unit/nicira/test_vcns_driver.py
-
-index b0d69a4..ddc0c33 100644 (file)
-
-
---- a/neutron/tests/unit/nicira/test_vcns_driver.py
-+++ b/neutron/tests/unit/nicira/test_vcns_driver.py
-@@ -253,6 +253,31 @@ class VcnsDriverTaskManagerTestCase(base.BaseTestCase):
- def test_task_manager_stop_4(self):
- self._test_task_manager_stop(False, False, 1)
-
-+ def test_task_pending_task(self):
-+ def _exec(task):
-+ task.userdata['executing'] = True
-+ while not task.userdata['tested']:
-+ greenthread.sleep(0)
-+ task.userdata['executing'] = False
-+ return TaskStatus.COMPLETED
-+
-+ userdata = {
-+ 'executing': False,
-+ 'tested': False
-+ }
-+ manager = ts.TaskManager().start(100)
-+ task = ts.Task('name', 'res', _exec, userdata=userdata)
-+ manager.add(task)
-+
-+ while not userdata['executing']:
-+ greenthread.sleep(0)
-+ self.assertTrue(manager.has_pending_task())
-+
-+ userdata['tested'] = True
-+ while userdata['executing']:
-+ greenthread.sleep(0)
-+ self.assertFalse(manager.has_pending_task())
-+
-
- class VcnsDriverTestCase(base.BaseTestCase):
-
-@@ -298,6 +323,10 @@ class VcnsDriverTestCase(base.BaseTestCase):
- self.edge_id = None
- self.result = None
-
-+ def tearDown(self):
-+ self.vcns_driver.task_manager.stop()
-+ super(VcnsDriverTestCase, self).tearDown()
-+
- def _deploy_edge(self):
- task = self.vcns_driver.deploy_edge(
- 'router-id', 'myedge', 'internal-network', {}, wait_for_exec=True)
-@@ -355,12 +384,13 @@ class VcnsDriverTestCase(base.BaseTestCase):
- self.assertTrue(jobdata.get('edge_deploy_result'))
-
- def test_deploy_edge_fail(self):
-- self.vcns_driver.deploy_edge(
-+ task1 = self.vcns_driver.deploy_edge(
- 'router-1', 'myedge', 'internal-network', {}, wait_for_exec=True)
-- task = self.vcns_driver.deploy_edge(
-+ task2 = self.vcns_driver.deploy_edge(
- 'router-2', 'myedge', 'internal-network', {}, wait_for_exec=True)
-- task.wait(TaskState.RESULT)
-- self.assertEqual(task.status, TaskStatus.ERROR)
-+ task1.wait(TaskState.RESULT)
-+ task2.wait(TaskState.RESULT)
-+ self.assertEqual(task2.status, TaskStatus.ERROR)
-
- def test_get_edge_status(self):
- self._deploy_edge()
diff --git a/sys-cluster/neutron/files/sphinx_mapping.patch b/sys-cluster/neutron/files/sphinx_mapping.patch
deleted file mode 100644
index d7367d6a6e52..000000000000
--- a/sys-cluster/neutron/files/sphinx_mapping.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur neutron-2013.2.orig/doc/source/conf.py neutron-2013.2/doc/source/conf.py
---- doc/source/conf.py 2013-10-17 22:01:20.000000000 +0800
-+++ doc/source/conf.py 2013-11-15 19:42:42.701213324 +0800
-@@ -238,12 +238,3 @@
-
- # If false, no module index is generated.
- #latex_use_modindex = True
--
--# Example configuration for intersphinx: refer to the Python standard library.
--intersphinx_mapping = {'python': ('http://docs.python.org/', None),
-- 'nova': ('http://nova.openstack.org', None),
-- 'swift': ('http://swift.openstack.org', None),
-- 'glance': ('http://glance.openstack.org', None),
-- 'horizon': ('http://horizon.openstack.org', None),
-- 'keystone': ('http://keystone.openstack.org', None),
-- }
diff --git a/sys-cluster/neutron/neutron-2014.2.1.ebuild b/sys-cluster/neutron/neutron-2014.2.1-r1.ebuild
index f404e5bdcb95..c54efd98b2da 100644
--- a/sys-cluster/neutron/neutron-2014.2.1.ebuild
+++ b/sys-cluster/neutron/neutron-2014.2.1-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2014 Gentoo Foundation
+# 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.ebuild,v 1.1 2014/12/09 01:38:10 prometheanfire Exp $
+# $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 $
EAPI=5
PYTHON_COMPAT=( python2_7 )
@@ -116,6 +116,7 @@ RDEPEND="
dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
PATCHES=(
+ "${FILESDIR}/CVE-2014-8153-juno.patch"
)
pkg_setup() {
@@ -125,7 +126,7 @@ pkg_setup() {
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 built as module (builtin doesn't work)"
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
done
fi
enewgroup neutron
diff --git a/sys-cluster/neutron/neutron-2014.2.9999.ebuild b/sys-cluster/neutron/neutron-2014.2.9999.ebuild
index 517c68bba7f5..341c9b817b54 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-2014 Gentoo Foundation
+# 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.5 2014/12/09 01:38:10 prometheanfire Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.9999.ebuild,v 1.6 2015/01/13 03:59:07 prometheanfire Exp $
EAPI=5
PYTHON_COMPAT=( python2_7 )
@@ -126,7 +126,7 @@ pkg_setup() {
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 built as module (builtin doesn't work)"
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
done
fi
enewgroup neutron
diff --git a/sys-cluster/neutron/neutron-2014.2.ebuild b/sys-cluster/neutron/neutron-2014.2.ebuild
deleted file mode 100644
index 9314328cd979..000000000000
--- a/sys-cluster/neutron/neutron-2014.2.ebuild
+++ /dev/null
@@ -1,222 +0,0 @@
-# Copyright 1999-2014 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-cluster/neutron/neutron-2014.2.ebuild,v 1.4 2014/11/22 00:00:53 prometheanfire Exp $
-
-EAPI=5
-PYTHON_COMPAT=( python2_7 )
-
-inherit distutils-r1 linux-info user
-
-DESCRIPTION="A virtual network service for Openstack"
-HOMEPAGE="https://launchpad.net/neutron"
-SRC_URI="http://launchpad.net/${PN}/juno/${PV}/+download/${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-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/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-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 built as module (builtin doesn't work)"
- 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
-}
diff --git a/sys-cluster/neutron/neutron-9999.ebuild b/sys-cluster/neutron/neutron-9999.ebuild
index 5380f992caac..34c855963982 100644
--- a/sys-cluster/neutron/neutron-9999.ebuild
+++ b/sys-cluster/neutron/neutron-9999.ebuild
@@ -1,91 +1,134 @@
-# Copyright 1999-2014 Gentoo Foundation
+# 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.14 2014/08/10 20:20:58 slyfox Exp $
+# $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 user
+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 +server test sqlite mysql postgres"
+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.6[${PYTHON_USEDEP}]
+ >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
<dev-python/pbr-1.0[${PYTHON_USEDEP}]
app-admin/sudo
- test? ( >=dev-python/hacking-0.8.0[${PYTHON_USEDEP}]
- <dev-python/hacking-0.9[${PYTHON_USEDEP}]
- >=dev-python/cliff-1.4.3[${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[${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/amqplib-0.6.1-r1[${PYTHON_USEDEP}]
- >=dev-python/anyjson-0.3.3[${PYTHON_USEDEP}]
- >=dev-python/Babel-1.3[${PYTHON_USEDEP}]
- >=dev-python/eventlet-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
- >=dev-python/httplib2-0.7.5[${PYTHON_USEDEP}]
- >=dev-python/requests-1.1[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.9[${PYTHON_USEDEP}]
- dev-python/jsonrpclib[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/kombu-2.4.8[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.6[${PYTHON_USEDEP}]
- >=dev-python/python-neutronclient-2.3.4[${PYTHON_USEDEP}]
- <=dev-python/python-neutronclient-3.0.0[${PYTHON_USEDEP}]
- sqlite? (
- >=dev-python/sqlalchemy-0.8.0[sqlite,${PYTHON_USEDEP}]
- !~dev-python/sqlalchemy-0.9.5[sqlite,${PYTHON_USEDEP}]
- <=dev-python/sqlalchemy-0.9.99[sqlite,${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.0[${PYTHON_USEDEP}]
- !~dev-python/sqlalchemy-0.9.5[${PYTHON_USEDEP}]
- <=dev-python/sqlalchemy-0.9.99[${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.0[${PYTHON_USEDEP}]
- !~dev-python/sqlalchemy-0.9.5[${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.7.0[${PYTHON_USEDEP}]
- >=dev-python/alembic-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/six-1.5.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-0.14[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-1.2.0[${PYTHON_USEDEP}]
- dev-python/oslo-rootwrap[${PYTHON_USEDEP}]
- >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}]
- dev-python/pyudev[${PYTHON_USEDEP}]
- sys-apps/iproute2
- openvswitch? ( net-misc/openvswitch )
- dhcp? ( net-dns/dnsmasq[dhcp-tools] )"
-
-PATCHES=( "${FILESDIR}/sphinx_mapping.patch" )
+ )
+ >=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
}
@@ -122,39 +165,58 @@ python_test() {
python_install() {
distutils-r1_python_install
- newconfd "${FILESDIR}/neutron-confd" "neutron"
- newinitd "${FILESDIR}/neutron-initd" "neutron"
-
- use server && dosym /etc/init.d/neutron /etc/init.d/neutron-server
- use dhcp && dosym /etc/init.d/neutron /etc/init.d/neutron-dhcp-agent
- use l3 && dosym /etc/init.d/neutron /etc/init.d/neutron-l3-agent
- use metadata && dosym /etc/init.d/neutron /etc/init.d/neutron-metadata-agent
- use openvswitch && dosym /etc/init.d/neutron /etc/init.d/neutron-openvswitch-agent
-
- diropts -m 750
- dodir /var/log/neutron /var/log/neutron
- fowners neutron:neutron /var/log/neutron
+ 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/api-paste.ini"
- doins "etc/dhcp_agent.ini"
- doins "etc/l3_agent.ini"
- doins "etc/policy.json"
- doins "etc/neutron.conf"
+ 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"
- insinto /etc
- doins -r "etc/neutron/"
-
- #remove the etc stuff from usr...
- rm -R "${D}/usr/etc/"
+ 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/
- doins "${FILESDIR}/neutron-sudoers"
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
}
python_install_all() {