neutron: rip

part of openstack cleanup
This commit is contained in:
makefu 2017-12-13 18:24:29 +01:00
parent 71767ee3c7
commit 7d5692c9ed
No known key found for this signature in database
GPG Key ID: 36F7711F3FC0F225
4 changed files with 0 additions and 224 deletions

View File

@ -1,93 +0,0 @@
From 3aefdf4de76fdcdc02093bc631e339f9ecd4c707 Mon Sep 17 00:00:00 2001
From: James Page <james.page@ubuntu.com>
Date: Fri, 18 Sep 2015 16:38:47 +0100
Subject: Add compatibility with iproute2 >= 4.0
The ip netns list command adds additional id data in more recent
versions of iproute2 of the format:
qdhcp-35fc068a-750d-4add-b1d2-af392dbd8790 (id: 1)
Update parsing to deal with old and new formats.
Change-Id: I0d3fc4262284172f5ad31e4f2f78ae1fb33b4228
Closes-Bug: 1497309
---
neutron/agent/linux/ip_lib.py | 6 +++---
neutron/tests/functional/agent/test_l3_agent.py | 2 +-
neutron/tests/unit/agent/linux/test_ip_lib.py | 15 +++++++++++++++
3 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/neutron/agent/linux/ip_lib.py b/neutron/agent/linux/ip_lib.py
index 551341a..a717bf6 100644
--- a/neutron/agent/linux/ip_lib.py
+++ b/neutron/agent/linux/ip_lib.py
@@ -208,7 +208,7 @@ class IPWrapper(SubProcessBase):
@classmethod
def get_namespaces(cls):
output = cls._execute([], 'netns', ('list',))
- return [l.strip() for l in output.split('\n')]
+ return [l.split()[0] for l in output.splitlines()]
class IPDevice(SubProcessBase):
@@ -819,8 +819,8 @@ class IpNetnsCommand(IpCommandBase):
output = self._parent._execute(
['o'], 'netns', ['list'],
run_as_root=cfg.CONF.AGENT.use_helper_for_ns_read)
- for line in output.split('\n'):
- if name == line.strip():
+ for line in [l.split()[0] for l in output.splitlines()]:
+ if name == line:
return True
return False
diff --git a/neutron/tests/functional/agent/test_l3_agent.py b/neutron/tests/functional/agent/test_l3_agent.py
index ffa20e6..84b16df 100644
--- a/neutron/tests/functional/agent/test_l3_agent.py
+++ b/neutron/tests/functional/agent/test_l3_agent.py
@@ -790,7 +790,7 @@ class L3HATestFramework(L3AgentTestFramework):
get_ns_name = mock.patch.object(
namespaces.RouterNamespace, '_get_ns_name').start()
get_ns_name.return_value = "%s%s%s" % (
- namespaces.RouterNamespace._get_ns_name(router_info['id']),
+ 'qrouter-' + router_info['id'],
self.NESTED_NAMESPACE_SEPARATOR, self.agent.host)
router1 = self.manage_router(self.agent, router_info)
diff --git a/neutron/tests/unit/agent/linux/test_ip_lib.py b/neutron/tests/unit/agent/linux/test_ip_lib.py
index 2de408d..bdfc9d7 100644
--- a/neutron/tests/unit/agent/linux/test_ip_lib.py
+++ b/neutron/tests/unit/agent/linux/test_ip_lib.py
@@ -27,6 +27,11 @@ NETNS_SAMPLE = [
'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
'cccccccc-cccc-cccc-cccc-cccccccccccc']
+NETNS_SAMPLE_IPROUTE2_4 = [
+ '12345678-1234-5678-abcd-1234567890ab (id: 1)',
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb (id: 0)',
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc (id: 2)']
+
LINK_SAMPLE = [
'1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN \\'
'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 promiscuity 0',
@@ -279,6 +284,16 @@ class TestIpWrapper(base.BaseTestCase):
self.execute.assert_called_once_with([], 'netns', ('list',))
+ def test_get_namespaces_iproute2_4(self):
+ self.execute.return_value = '\n'.join(NETNS_SAMPLE_IPROUTE2_4)
+ retval = ip_lib.IPWrapper.get_namespaces()
+ self.assertEqual(retval,
+ ['12345678-1234-5678-abcd-1234567890ab',
+ 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb',
+ 'cccccccc-cccc-cccc-cccc-cccccccccccc'])
+
+ self.execute.assert_called_once_with([], 'netns', ('list',))
+
def test_add_tuntap(self):
ip_lib.IPWrapper().add_tuntap('tap0')
self.execute.assert_called_once_with([], 'tuntap',
--
cgit v0.11.2

View File

@ -1,69 +0,0 @@
{ stdenv, fetchurl, python2Packages, xmlsec, which, dnsmasq }:
python2Packages.buildPythonApplication rec {
name = "neutron-${version}";
version = "7.0.0";
namePrefix = "";
PBR_VERSION = "${version}";
src = fetchurl {
url = "https://github.com/openstack/neutron/archive/${version}.tar.gz";
sha256 = "02ll081xly7zfjmgkal81fy3aplbnn5zgx8xfy3yy1nv3kfnyi40";
};
# https://github.com/openstack/neutron/blob/stable/liberty/requirements.txt
propagatedBuildInputs = with python2Packages; [
pbr paste PasteDeploy routes debtcollector eventlet greenlet httplib2 requests
jinja2 keystonemiddleware netaddr retrying sqlalchemy webob alembic six
stevedore pecan ryu networking-hyperv MySQL_python
# clients
keystoneclient neutronclient novaclient
# oslo components
oslo-concurrency oslo-config oslo-context oslo-db oslo-i18n oslo-log oslo-messaging
oslo-middleware oslo-policy oslo-rootwrap oslo-serialization oslo-service oslo-utils
oslo-versionedobjects
];
# make sure we include migrations
prePatch = ''
echo "graft neutron" >> MANIFEST.in
substituteInPlace etc/neutron/rootwrap.d/dhcp.filters --replace "/sbin/dnsmasq" "${dnsmasq}/bin/dnsmasq"
'';
patches = [ ./neutron-iproute-4.patch ];
buildInputs = with python2Packages; [
cliff coverage fixtures mock subunit requests-mock oslosphinx testrepository
testtools testresources testscenarios webtest oslotest os-testr tempest-lib
ddt pep8
];
postInstall = ''
# requires extra optional dependencies
# TODO: package networking_mlnx, networking_vsphere, bsnstacklib, XenAPI
rm $out/bin/{neutron-mlnx-agent,neutron-ovsvapp-agent,neutron-restproxy-agent,neutron-rootwrap-xen-dom0}
# check all binaries don't crash
for i in $out/bin/*; do
case "$i" in
*neutron-pd-notify|*neutron-rootwrap-daemon|*neutron-rootwrap)
:
;;
*)
$i --help
esac
done
'';
meta = with stdenv.lib; {
homepage = http://neutron.openstack.org/;
description = "Virtual network service for Openstack";
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.linux;
# Marked as broken due to needing an update for security issues.
# See: https://github.com/NixOS/nixpkgs/issues/18856
broken = true;
};
}

View File

@ -1,61 +0,0 @@
From 6016d017004acaae288312b196ef07ea98e9962d Mon Sep 17 00:00:00 2001
From: Brant Knudson <bknudson@us.ibm.com>
Date: Mon, 12 Oct 2015 15:12:45 -0500
Subject: [PATCH] Remove oslo.policy implementation tests from keystone
oslo.policy 0.12.0 contains a change to use requests to do the http
check rather than urllib. This change caused keystone tests to fail
because the keystone tests were mocking urllib, making assumptions
about how oslo.policy is implemented. Keystone doesn't need to test
internal features of oslo.policy, so these tests are removed.
Change-Id: I9d6e4950b9fe75cbb94100c8effdcec002642027
Closes-Bug: 1505374
---
keystone/tests/unit/test_policy.py | 24 ------------------------
1 file changed, 24 deletions(-)
diff --git a/keystone/tests/unit/test_policy.py b/keystone/tests/unit/test_policy.py
index b2f0e52..686e2b7 100644
--- a/keystone/tests/unit/test_policy.py
+++ b/keystone/tests/unit/test_policy.py
@@ -16,10 +16,8 @@
import json
import os
-import mock
from oslo_policy import policy as common_policy
import six
-from six.moves.urllib import request as urlrequest
from testtools import matchers
from keystone import exception
@@ -118,28 +116,6 @@ def test_enforce_good_action(self):
action = "example:allowed"
rules.enforce(self.credentials, action, self.target)
- def test_enforce_http_true(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("True")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- result = rules.enforce(self.credentials, action, target)
- self.assertTrue(result)
-
- def test_enforce_http_false(self):
-
- def fakeurlopen(url, post_data):
- return six.StringIO("False")
-
- action = "example:get_http"
- target = {}
- with mock.patch.object(urlrequest, 'urlopen', fakeurlopen):
- self.assertRaises(exception.ForbiddenAction, rules.enforce,
- self.credentials, action, target)
-
def test_templatized_enforcement(self):
target_mine = {'project_id': 'fake'}
target_not_mine = {'project_id': 'another'}

View File

@ -16113,7 +16113,6 @@ with pkgs;
notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { };
# Open Stack
neutron = callPackage ../applications/virtualization/openstack/neutron.nix { };
nova-filters = callPackage ../applications/audio/nova-filters { };