neutron: rip
part of openstack cleanup
This commit is contained in:
parent
71767ee3c7
commit
7d5692c9ed
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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'}
|
@ -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 { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user