Merge lp:~corey.bryant/ubuntu/trusty/neutron/revert-sql-alchemy-patch into lp:ubuntu/trusty/neutron

Proposed by Corey Bryant
Status: Needs review
Proposed branch: lp:~corey.bryant/ubuntu/trusty/neutron/revert-sql-alchemy-patch
Merge into: lp:ubuntu/trusty/neutron
Diff against target: 4002 lines (+3501/-0) (has conflicts)
99 files modified
debian/NEWS (+8/-0)
debian/changelog (+752/-0)
debian/compat (+1/-0)
debian/control (+667/-0)
debian/copyright (+37/-0)
debian/cron.d/neutron-dhcp-agent-netns-cleanup (+4/-0)
debian/cron.d/neutron-l3-agent-netns-cleanup (+4/-0)
debian/cron.d/neutron-lbaas-agent-netns-cleanup (+4/-0)
debian/mans/neutron-linuxbridge-agent.8 (+11/-0)
debian/mans/neutron-nec-agent.8 (+11/-0)
debian/mans/neutron-openvswitch-agent.8 (+11/-0)
debian/mans/neutron-rootwrap.8 (+11/-0)
debian/mans/neutron-ryu-agent.8 (+11/-0)
debian/mans/neutron-server.8 (+11/-0)
debian/neutron-common.dirs (+5/-0)
debian/neutron-common.install (+14/-0)
debian/neutron-common.postinst (+31/-0)
debian/neutron-dhcp-agent.install (+4/-0)
debian/neutron-dhcp-agent.logrotate (+7/-0)
debian/neutron-dhcp-agent.upstart (+22/-0)
debian/neutron-l3-agent.install (+4/-0)
debian/neutron-l3-agent.logrotate (+7/-0)
debian/neutron-l3-agent.upstart (+22/-0)
debian/neutron-lbaas-agent.install (+4/-0)
debian/neutron-lbaas-agent.logrotate (+7/-0)
debian/neutron-lbaas-agent.upstart (+17/-0)
debian/neutron-metadata-agent.install (+3/-0)
debian/neutron-metadata-agent.logrotate (+7/-0)
debian/neutron-metadata-agent.upstart (+19/-0)
debian/neutron-plugin-bigswitch.install (+1/-0)
debian/neutron-plugin-brocade.install (+1/-0)
debian/neutron-plugin-cisco.install (+1/-0)
debian/neutron-plugin-hyperv.install (+2/-0)
debian/neutron-plugin-linuxbridge-agent.install (+2/-0)
debian/neutron-plugin-linuxbridge-agent.logrotate (+7/-0)
debian/neutron-plugin-linuxbridge-agent.manpages (+1/-0)
debian/neutron-plugin-linuxbridge-agent.upstart (+17/-0)
debian/neutron-plugin-linuxbridge.install (+1/-0)
debian/neutron-plugin-metaplugin.install (+1/-0)
debian/neutron-plugin-metering-agent.install (+2/-0)
debian/neutron-plugin-metering-agent.upstart (+19/-0)
debian/neutron-plugin-midonet.install (+1/-0)
debian/neutron-plugin-ml2.install (+1/-0)
debian/neutron-plugin-mlnx-agent.install (+2/-0)
debian/neutron-plugin-mlnx-agent.upstart (+19/-0)
debian/neutron-plugin-nec-agent.install (+2/-0)
debian/neutron-plugin-nec-agent.logrotate (+7/-0)
debian/neutron-plugin-nec-agent.manpages (+1/-0)
debian/neutron-plugin-nec-agent.upstart (+17/-0)
debian/neutron-plugin-nec.install (+1/-0)
debian/neutron-plugin-nicira.install (+3/-0)
debian/neutron-plugin-openvswitch-agent.install (+2/-0)
debian/neutron-plugin-openvswitch-agent.logrotate (+7/-0)
debian/neutron-plugin-openvswitch-agent.manpages (+1/-0)
debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart (+13/-0)
debian/neutron-plugin-openvswitch-agent.upstart (+17/-0)
debian/neutron-plugin-openvswitch.install (+1/-0)
debian/neutron-plugin-plumgrid.install (+1/-0)
debian/neutron-plugin-ryu-agent.install (+2/-0)
debian/neutron-plugin-ryu-agent.logrotate (+7/-0)
debian/neutron-plugin-ryu-agent.manpages (+1/-0)
debian/neutron-plugin-ryu-agent.upstart (+17/-0)
debian/neutron-plugin-ryu.install (+1/-0)
debian/neutron-plugin-vpn-agent.install (+2/-0)
debian/neutron-plugin-vpn-agent.upstart (+19/-0)
debian/neutron-server.default (+5/-0)
debian/neutron-server.install (+1/-0)
debian/neutron-server.logrotate (+7/-0)
debian/neutron-server.manpages (+2/-0)
debian/neutron-server.upstart (+23/-0)
debian/neutron_sudoers (+3/-0)
debian/patches/disable-failing-cisco-test.patch (+25/-0)
debian/patches/disable-failing-metaplugin-tests.patch (+67/-0)
debian/patches/disable-udev-tests.patch (+1008/-0)
debian/patches/fix-quantum-configuration.patch (+48/-0)
debian/patches/series (+7/-0)
debian/patches/skip-ipv6-tests.patch (+22/-0)
debian/patches/skip-lb-test.patch (+14/-0)
debian/patches/sql-alchemy-0.8.3-compat.patch (+67/-0)
debian/pydist-overrides (+3/-0)
debian/python-neutron.install (+1/-0)
debian/rules (+31/-0)
debian/source/format (+1/-0)
debian/tests/bigswitch-plugin (+19/-0)
debian/tests/brocade-plugin (+19/-0)
debian/tests/cisco-plugin (+19/-0)
debian/tests/control (+6/-0)
debian/tests/hyperv-plugin (+19/-0)
debian/tests/linuxbridge-plugin (+19/-0)
debian/tests/midonet-plugin (+19/-0)
debian/tests/nec-plugin (+19/-0)
debian/tests/neutron-daemons (+14/-0)
debian/tests/nicira-plugin (+19/-0)
debian/tests/openvswitch-plugin (+19/-0)
debian/tests/plumgrid-plugin (+19/-0)
debian/tests/python-neutron (+14/-0)
debian/tests/ryu-plugin (+19/-0)
debian/tests/test_import_neutron.py (+4/-0)
debian/watch (+3/-0)
Conflict adding file debian.  Moved existing file to debian.moved.
To merge this branch: bzr merge lp:~corey.bryant/ubuntu/trusty/neutron/revert-sql-alchemy-patch
Reviewer Review Type Date Requested Status
Chuck Short Pending
Review via email: mp+207703@code.launchpad.net

Description of the change

debian/patches/sql-alchemy-0.8.3-compat.patch: Revert prior drop

To post a comment you must log in.

Unmerged revisions

236. By Corey Bryant

debian/patches/sql-alchemy-0.8.3-compat.patch: Revert prior drop.

235. By Chuck Short

debian/patches/bump-sqlalchemy-version.patch: Dropped no longer needed.

234. By Chuck Short

debian/patches/sql-alchemy-0.8.3-compat.patch: Dropped no longer needed.

233. By Chuck Short

Disable patch

232. By Chuck Short

debian/patches/requirements.patch: Dropped no longer needed.

231. By Chuck Short

debian/rules: Re-enabled tests.

230. By Chuck Short

releasing package neutron version 1:2014.1~b2-0ubuntu6

229. By Chuck Short

releasing package neutron version 1:2014.1~b2-0ubuntu6

228. By Chuck Short

Fix up changelog

227. By Chuck Short

debian/rules: Really run_tests.sh.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'debian'
2=== renamed directory 'debian' => 'debian.moved'
3=== added file 'debian/NEWS'
4--- debian/NEWS 1970-01-01 00:00:00 +0000
5+++ debian/NEWS 2014-02-21 16:49:36 +0000
6@@ -0,0 +1,8 @@
7+neutron (1:2013.2~b2-0ubuntu1) saucy; urgency=low
8+
9+ Quantum has been renamed to Neutron during the Havana development cycle.
10+
11+ Please review changed configuration in /etc/quantum and apply to new
12+ configuration files in /etc/neutron.
13+
14+ -- James Page <james.page@ubuntu.com> Thu, 18 Jul 2013 10:07:15 +0100
15
16=== added file 'debian/changelog'
17--- debian/changelog 1970-01-01 00:00:00 +0000
18+++ debian/changelog 2014-02-21 16:49:36 +0000
19@@ -0,0 +1,752 @@
20+neutron (1:2014.1~b2-0ubuntu7) UNRELEASED; urgency=medium
21+
22+ [ Chuck Short ]
23+ * debian/rules: Re-enabled tests.
24+ * debian/patches/requirements.patch: Dropped no longer needed.
25+ * debian/patches/sql-alchemy-0.8.3-compat.patch: Dropped no longer needed.
26+ * debian/patches/bump-sqlalchemy-version.patch: Dropped no longer needed.
27+
28+ [ Corey Bryant ]
29+ * debian/patches/sql-alchemy-0.8.3-compat.patch: Revert prior drop.
30+
31+ -- Corey Bryant <corey.bryant@canonical.com> Fri, 21 Feb 2014 11:09:33 -0500
32+
33+neutron (1:2014.1~b2-0ubuntu6) trusty; urgency=medium
34+
35+ * debian/rules: Temporarily disable testsuite due to upstream breakage.
36+
37+ -- Chuck Short <zulcss@ubuntu.com> Thu, 06 Feb 2014 08:33:08 -0500
38+
39+neutron (1:2014.1~b2-0ubuntu5) trusty; urgency=medium
40+
41+ * debian/patches/disable-udev-tests.patch: Skip more tests
42+ because of udev failures.
43+ * debian/patches/skip-ipv6-tests.patch: Skip tests that fail
44+ on the buildds due to ipv6.
45+
46+ -- Chuck Short <zulcss@ubuntu.com> Mon, 03 Feb 2014 09:02:45 -0500
47+
48+neutron (1:2014.1~b2-0ubuntu4) trusty; urgency=medium
49+
50+ * debian/rules: Really run_tests.sh.
51+
52+ -- Chuck Short <zulcss@ubuntu.com> Thu, 30 Jan 2014 11:44:21 -0500
53+
54+neutron (1:2014.1~b2-0ubuntu3) trusty; urgency=medium
55+
56+ * debian/rules: Switch back to run_test.sh since locking
57+ issues have been fixed.
58+
59+ -- Chuck Short <zulcss@ubuntu.com> Thu, 30 Jan 2014 10:49:22 -0500
60+
61+neutron (1:2014.1~b2-0ubuntu2) trusty; urgency=medium
62+
63+ * debian/patches/skip-lb-test.patch: Skipped lb configuration
64+ test.
65+
66+ -- Chuck Short <zulcss@ubuntu.com> Mon, 27 Jan 2014 12:01:50 -0500
67+
68+neutron (1:2014.1~b2-0ubuntu1) trusty; urgency=low
69+
70+ [ James Page ]
71+ * Switch to using Modular Layer 2 plugin by default:
72+ - d/control,neutron-plugin-ml2.install: Add ML2 plugin package
73+ (LP: #1243147).
74+ - d/p/fix-quantum-configuration,d/control,d/neutron-server.default:
75+ Switch to using the ML2 plugin by default.
76+ - d/control,neutron-plugin-openvswitch-agent:
77+ Use neutron-plugin-ml2 and configuration for openvswitch-agent.
78+ * d/neutron-plugin-mlnx-agent.upstart: Reference correct configuration
79+ file (LP: #1257732).
80+ * Add neutron-ovs-cleanup upstart configuration for OVS plugin
81+ (LP: #1249708):
82+ - d/rules: Install new configuration in neutron-plugin-openvswitch-agent
83+ package, don't restart on install/upgrade (only needed for reboots).
84+ - d/neutron-plugin-openvswitch-agent.upstart: Ensure startup happens
85+ after neutron-ovs-cleanup.
86+ - d/neutron-{l3|dhcp}-agent.upstart: If neutron-ovs-cleanup job is
87+ installed, wait for it to reach running state prior to starting
88+ agents.
89+ * d/control: Add versioned BD/Depends on python-psutil >= 0.6.1.
90+ * d/p/requirements.patch: Drop upper version boundary for psutil for
91+ compatibility with Trusty.
92+ * d/p/requirements.patch: Lift upper boundary for WebOb to < 1.4.
93+ * d/p/disable-failing-metaplugin-tests.patch: Disable metaplugin tests that
94+ are currently failing.
95+ * d/p/disable-ml2-notification-tests.patch: Dropped, tests now pass.
96+ * d/rules: Fail package build on unit test failures.
97+ * d/p/disable-failing-cisco-test.patch: Disable failing Cisco mechanism test.
98+ * d/control,d/p/remove-jsonrpclib.patch: Add BD on python-jsonrpclib and drop
99+ patch that excludes it from requirements.txt.
100+
101+ [ Chuck Short ]
102+ * New upstream release.
103+ * debian/rules: Run testr directly
104+ * debian/patches/sql-alchemy-0.8.3-compat.patch: Fix tests sqlalchemy 0.8.3
105+ compat.
106+ * debian/neturon-nicira.install: Add usr/bin/neutron-check-nsx-config.
107+
108+ -- Chuck Short <zulcss@ubuntu.com> Fri, 24 Jan 2014 09:17:12 -0500
109+
110+neutron (1:2014.1~b1-0ubuntu1) trusty; urgency=low
111+
112+ [ Chuck Short ]
113+ * New upstream release.
114+ * debian/control: open icehouse release.
115+
116+ [ James Page ]
117+ * debian/patches: Refresh patches against upstream master.
118+ * debian/control: Drop quantum-* transitional packages, no longer needed.
119+
120+ -- Chuck Short <zulcss@ubuntu.com> Thu, 05 Dec 2013 11:40:39 -0500
121+
122+neutron (1:2013.2-0ubuntu1) saucy; urgency=low
123+
124+ * New upstream release (LP: #1236462).
125+
126+ -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Oct 2013 10:52:39 -0400
127+
128+neutron (1:2013.2~rc3-0ubuntu1) saucy; urgency=low
129+
130+ * New upstream release candidate (LP: #1240665).
131+
132+ -- Chuck Short <zulcss@ubuntu.com> Wed, 16 Oct 2013 15:37:02 -0400
133+
134+neutron (1:2013.2~rc2-0ubuntu1) saucy; urgency=low
135+
136+ * New upstream release candidate (LP: #1239156).
137+
138+ -- James Page <james.page@ubuntu.com> Sat, 12 Oct 2013 16:51:28 +0100
139+
140+neutron (1:2013.2~rc1-0ubuntu2) saucy; urgency=low
141+
142+ * d/tests/control,neutron-server: Limit neutron-server tests to core
143+ neutron daemons to avoid tests failures for plugin agents which don't
144+ start correctly without additional configuration.
145+
146+ -- James Page <james.page@ubuntu.com> Thu, 03 Oct 2013 23:05:05 +0100
147+
148+neutron (1:2013.2~rc1-0ubuntu1) saucy; urgency=low
149+
150+ [ Yolanda Robla ]
151+ * debian/tests: added testing agents
152+
153+ [ Chuck Short ]
154+ * debian/patches/disable-udev-tests.patch: Refreshed.
155+ * debian/patches/disable-ml2-notification-tests.patch: Refreshed.
156+ * debian/control:
157+ - Dropped python-setuptools-git python-netifaces, and python-nose from
158+ build dependencies.
159+ - Dropped python-configobj, python-gflags from binary dependencies.
160+ - Added build python-requests python-six, and python-jinja2 build
161+ dependencies.
162+ - Added versioned dependencies for python-amqplib,
163+ python-pbr, python-novaclient, python-cliff,
164+ python-testtools, and python-eventlet.
165+ - Bumped versioned depends for python-stevedore, pyhton-novaclient,
166+ python-oslo.config, and testrepository
167+
168+ [ James Page ]
169+ * New upstream release candidate:
170+ - d/patches: Refreshed.
171+ * d/rules: unpatch/patch neutron.conf around test execution to ensure that
172+ as many tests as possible actually pass.
173+
174+ -- James Page <james.page@ubuntu.com> Thu, 03 Oct 2013 15:18:04 +0100
175+
176+neutron (1:2013.2~b3-0ubuntu6) saucy; urgency=low
177+
178+ * debian/rules: Dont ftbfs the tests if they fail.
179+
180+ -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 20:37:18 -0400
181+
182+neutron (1:2013.2~b3-0ubuntu5) saucy; urgency=low
183+
184+ * debian/tests/neutron-daemons: Fix typo.
185+ * debian/rules: FTBFS if testsuite fails.
186+
187+ -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 17:27:25 -0400
188+
189+neutron (1:2013.2~b3-0ubuntu4) saucy; urgency=low
190+
191+ * debian/patches/remove_jsonrpclib.patch: Remove jsonrpclib
192+ its not needed other than the arista driver.
193+
194+ -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 15:19:22 -0400
195+
196+neutron (1:2013.2~b3-0ubuntu3) saucy; urgency=low
197+
198+ * debian/tests: Fixed autopkg tests.
199+
200+ -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 12:10:05 -0400
201+
202+neutron (1:2013.2~b3-0ubuntu2) saucy; urgency=low
203+
204+ * debian/control, debian/neutron-plugin-vpn-agent.install,
205+ debian/neutron-plugin-vpn-agent.install: Add vpn agent.
206+ * debian/control, debian/usr/bin/neutron-metering-agent.install,
207+ debian/usr/bin/neutron-metering-agent.install: Add metering agent.
208+
209+ -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Sep 2013 22:35:59 -0400
210+
211+neutron (1:2013.2~b3-0ubuntu1) saucy; urgency=low
212+
213+ [ Chuck Short ]
214+ * New upstream release.
215+ * debian/patches/fix-quantum-configuration.patch: Refreshed.
216+ * debian/patches/neutron-conf.patch: Dropped.
217+ * debian/patches/ignore-quantum-binaries.patch: Dropped
218+ * debian/control: Add python-babel as a build depends.
219+ * debian/neutron-common.install: Add neutron-usage-audit binary.
220+ * debian/rules: Pass the tests even if it fails, temporary measure
221+ until we figure out why the tests fail.
222+
223+ [ Adam Gandelman ]
224+ * debian/rules: Limit testr concurrency to 1 CPU.
225+ * debian/patches: Refresh.
226+
227+ [ James Page ]
228+ * d/*.upstart: Added respawn stanza (LP: #1170393), tidied
229+ descriptions and rationalized stop on stanzas to be consistent.
230+ * d/neutron-dhcp-agent.install: Drop neutron-dhcp-agent-dnsmasq-lease-
231+ update inline with upstream.
232+ * d/rules: Ignore deprecated quantum binaries when checking for
233+ missing files.
234+ * d/control: Update/add versioned depends for upgrades:
235+ - python-anyjson >= 0.3.3
236+ - python-stevedore >= 0.9
237+ - python-oslo.config >= 1:1.2.0
238+ - python-keystoneclient >= 1:0.2.0
239+ * d/*: Wrap and sort.
240+
241+ -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Sep 2013 13:12:57 -0400
242+
243+neutron (1:2013.2~b2-0ubuntu3) saucy; urgency=low
244+
245+ * d/p/neutron-conf.patch: Cherry picked commit from upstream VCS which
246+ fixes a number of 'quantum' references across all configuration files.
247+ * d/neutron_sudoers: Remove typo to re-enable passwordless sudo for neutron.
248+ * d/p/fix-quantum-conf.patch: Enable use of neutron-rootwrap by default,
249+ fixup problem with use of /var/lib/quantum for keystone signing_dir.
250+
251+ -- James Page <james.page@ubuntu.com> Wed, 24 Jul 2013 16:09:08 +0100
252+
253+neutron (1:2013.2~b2-0ubuntu2) saucy; urgency=low
254+
255+ * d/neutron-server.upstart: Execute correct server binary, fixup
256+ use of flags in /etc/default/neutron-server.
257+ * d/p/bump-sqlalchemy-version.patch: Support SQLAlchemy >= 0.8 until
258+ upstream catches up.
259+ * Re-jig test disablement patches:
260+ - d/p/disable-udev-tests.patch: Disable tests that use udev as it
261+ is not always available.
262+ - d/p/disable-ml2-notification-tests.patch: Disable failing ML2 plugin
263+ tests pending further investigation.
264+ * d/p/fix-quantum-configuration.patch: Remove rej and orig cruft, re-added
265+ missing default core_plugin configuration.
266+ * d/control: Drop pep8 from BD's, no longer required.
267+
268+ -- James Page <james.page@ubuntu.com> Wed, 24 Jul 2013 11:41:56 +0100
269+
270+neutron (1:2013.2~b2-0ubuntu1) saucy; urgency=low
271+
272+ [ Chuck Short ]
273+ * New upstream version.
274+ * debian/patches/fix-quantum-configuration.patch: Refreshed
275+ * Renamed quantum -> neutron inline with upstream:
276+ - debian/neutron*.install: Update paths and files for rename.
277+ - debian/cron.d: Update for new neutron names.
278+ - debian/control:
279+ + Add transtional packages.
280+ + Add breaks/replaces with previous versions of quantum.
281+ * debian/patches/fix-ubuntu-tests.patch: Refreshed
282+ * debian/patches/ignore-quantum-binaries.patch: Don't install quantum
283+ binaries.
284+ * Add new mlnx agent package.
285+
286+ [ James Page ]
287+ * d/control: Update VCS fields for new branch locations.
288+ * d/NEWS: Let users know they need to migrate configuration manually as part
289+ of the quantum->neutron rename.
290+ * d/neutron-common.install: Include rootwrap for Xen dom0 installs.
291+
292+ [ Adam Gandelman ]
293+ * debian/control: Set minimum python-kombu version >= 2.5.12.
294+
295+ -- Chuck Short <zulcss@ubuntu.com> Fri, 19 Jul 2013 12:11:18 -0400
296+
297+quantum (1:2013.2~b1-0ubuntu2) saucy; urgency=low
298+
299+ [ Adam Gandelman ]
300+ * debian/control:
301+ - Add version requirement to python-stevedore (>= 0.8), also add to
302+ python-quantum depends.
303+ - Add version requirement to python-fixtures (>= 0.3.12).
304+ * debian/patches/*: Refreshed.
305+
306+ [ Yolanda Robla ]
307+ * debian/tests: added autopkg tests
308+
309+ [Chuck Short]
310+ * debian/patches/fix-ubuntu-tests.patch: Rediff to skip tests
311+ that were randomly failing in the PPAS or locally.
312+
313+ -- Chuck Short <zulcss@ubuntu.com> Wed, 19 Jun 2013 12:06:15 -0500
314+
315+quantum (1:2013.2~b1-0ubuntu1) saucy; urgency=low
316+
317+ * New upstream release.
318+ * debian/patches/fix-quantum-configuration.patch: Refreshed
319+ * debian/control: Add testrepository.
320+ * debian/control: Add subunit.
321+ * debian/control: Add python-d21o1 and python-pbr as build-depends.
322+ * debian/control: Add python-stevedore.
323+
324+ -- Chuck Short <zulcss@ubuntu.com> Fri, 31 May 2013 09:37:25 -0500
325+
326+quantum (1:2013.1-0ubuntu2) raring; urgency=low
327+
328+ * Fix invalid multi-line cron jobs (LP: #1170312):
329+ - d/cron.d/*: Consolidate jobs into a single command line, set syntax
330+ highlighting to type 'crontab'.
331+
332+ -- James Page <james.page@ubuntu.com> Mon, 22 Apr 2013 15:58:12 +0100
333+
334+quantum (1:2013.1-0ubuntu1) raring; urgency=low
335+
336+ * New upstream release.
337+
338+ -- Chuck Short <zulcss@ubuntu.com> Thu, 04 Apr 2013 14:03:41 -0500
339+
340+quantum (1:2013.1~rc2-0ubuntu1) raring; urgency=low
341+
342+ * New upstream release.
343+
344+ -- Chuck Short <zulcss@ubuntu.com> Tue, 26 Mar 2013 08:33:56 -0500
345+
346+quantum (1:2013.1~rc1-0ubuntu1) raring; urgency=low
347+
348+ [ Chuck Short ]
349+ * debian/patches/fix-quantum-configuration.patch: Refreshed
350+ * debian/control: Add python-testtools and python-fixtures a build-dep.
351+ * debian/control: Drop python-gflags no longer needed.
352+ * debian/control: Drop python-unittest2 no longer needed.
353+
354+ [ James Page ]
355+ * New upstream release candidate.
356+ * d/watch: Update uversionmangle to deal with upstream versioning
357+ changes, remove tarballs.openstack.org.
358+ * d/rules: Disable PEP-8 tests until fixed upstream.
359+ * d/control,quantum-plugin-midonet.install: Added plugin package for
360+ Midonet.
361+ * d/control,quantum-lbaas-*: Added Load Balancing as-a Service agent
362+ package.
363+ * d/control: Bumped Standards-Version, no changes.
364+ * d/p/fix-quantum-configuration.patch: Added midonet sqlite path to
365+ patch, fixed up linuxbridge path.
366+ * d/p/fix-ubuntu-tests.patch: Re-added skipTest for linuxbridge tests
367+ that attempt to setup udev monitors.
368+ * d/quantum-metadata-agent.*: Refactor metadata-agent into separate
369+ package and add Depends from quantum-l3-agent and quantum-dhcp-agent.
370+ * d/quantum-plugin-nicira.install: Add quantum-check-nvp-config binary.
371+ * d/control: Add iputils-arping to quantum-l3-agent Depends (LP: #1153066).
372+ * d/control: python-oslo-config -> python-oslo.config.
373+ * d/control: Bump python-quantumclient >= 1:2.2.0 inline with upstream.
374+
375+ -- James Page <james.page@ubuntu.com> Fri, 15 Mar 2013 09:37:28 +0000
376+
377+quantum (2013.1.g3-0ubuntu1) raring; urgency=low
378+
379+ [ Adam Gandelman ]
380+ * debian/patches/fix-quantum-configuration.patch: Refreshed and update to
381+ reflect new global root_wrap configuration defined only in
382+ /etc/quantum/quantum.conf.
383+ * debian/patches/fix-ubuntu-tests.patch: Refreshed, added skipTests for
384+ linuxbridge tests that attempt to setup udev monitors.
385+ * debian/{control, quantum-server.install}: Drop quantum-ns-metadata-proxy,
386+ quantum-metadata-agent, quantum-debug from quantum-server package and set a
387+ Break/Replaces on the last quantum-server package that shipped them.
388+ (LP: #1112203)
389+ * debian/{control, quantum-plugin-nec.install}: Drop rootwrap filters,
390+ only install /w the agent.
391+ * debian/control: Add Breaks/Replaces between quantum-plugin-nec and new
392+ quantum-plugin-nec-agent.
393+
394+ [ Yolanda Robla ]
395+ * debian/patches: refreshed patches
396+
397+ [ James Page ]
398+ * d/p/fix-quantum-configuration.patch: Add root_wrap helper to AGENT
399+ section of /etc/quantum/quantum.conf to support new global configuration.
400+ * d/control,quantum-plugin-{bigswitch,brocade,plumgrid}.install: Add new
401+ plugin packages for BigSwitch, Brocade, Hyper-V and PLUMgrid.
402+ * d/p/fix-quantum-configuration.patch: Set sqlite location for new plugins.
403+ * d/control,quantum-plugin-nec-agent.*: Add new plugin agent package for NEC.
404+ * d/quantum-common.install: Added new binaries and common rootwrap.d config.
405+ * d/control: Removed VCS fields, updated maintainer.
406+ * Wrapped and sorted debian/*.
407+ * d/control: Add BD on python-oslo-config.
408+ * d/control: Add BD on python-netifaces to fix RYU unit tests.
409+
410+ [ Chuck Short ]
411+ * New upstream release.
412+
413+ -- Chuck Short <zulcss@ubuntu.com> Fri, 22 Feb 2013 09:54:36 -0600
414+
415+quantum (2013.1~g2-0ubuntu1) raring; urgency=low
416+
417+ [ Chuck Short ]
418+ * New upstream version.
419+ * debian/patches/fix-quantum-configuration.patch: Refreshed.
420+
421+ [ Yolanda Robla ]
422+ * debian/quantum-l3-agent.quantum-metadata-agent.upstart: Add
423+ upstart configuration for Metadata Agent.
424+ * debian/quantum-l3-agent.install: Added quantum-ns-metadata-proxy,
425+ quantum-metadata-agent and metadata_agent.ini.
426+ * debian/patches/fix-quantum-configuration.patch: Update rootwrap
427+ configuration in metadata_agent.ini file.
428+ * debian/changelog: Updated package version
429+ * d/p/fix-quantum-configuration.patch: refresh patches
430+ * debian/patches/fix-ubuntu-tests.patch: Refreshed.
431+ * debian/control: added python-novaclient dependency
432+
433+ [ James Page ]
434+ * d/*.install: Install entry points from bin directory instead
435+ of easy-install ones generated during the package build process
436+ (LP: #1085038).
437+ * d/control: Drop BD on python-dev-all; its not required.
438+ * d/rules: Install multiple upstart configurations for quantum-l3-agent.
439+ * d/control: Tidy package descriptions.
440+ * d/*.postrm: Drop as debhelper will generate update-rc.d calls in
441+ maintainer scripts if required.
442+ * d/quantum-common.postinst: Tweak permissions setting so that /etc/quantum
443+ is not owned/writable by the quantum user, ensure that /etc/quantum/rootwrap*
444+ is owned by root:root.
445+ * d/*agent*.postinst: Dropped as permissions now correctly set in
446+ quantum-common.
447+ * d/patches/fix-quantum-configuration.patch: Re-add dropped fixes rootwrap and
448+ sqlite defaults for all plugins.
449+ * d/control: Added new BD on alembic (>= 0.4.1~), version python-mock >= 1.0b1.
450+
451+ [ Maru Newby ]
452+ * debian/control: Remove unnecessary openvswitch-vswitch dependency
453+ from quantum-plugin-openvswitch (LP: #1076747).
454+
455+ -- Yolanda Robla <yolanda.robla@canonical.com> Tue, 22 Jan 2013 11:40:00 +0100
456+
457+quantum (2013.1~g1-0ubuntu1) raring; urgency=low
458+
459+ [ Adam Gandelman ]
460+ * debian/patches/*: Refreshed for opening of Grizzly.
461+
462+ [ Chuck Short ]
463+ * New upstream release.
464+ * debian/rules: FTFBS if there is missing binaries.
465+ * debian/quantum-server.install: Add quantum-debug.
466+
467+ -- Chuck Short <zulcss@ubuntu.com> Fri, 23 Nov 2012 09:43:14 -0600
468+
469+quantum (2012.2-0ubuntu1) quantal; urgency=low
470+
471+ [ Chuck Short ]
472+ * New upstream release.
473+
474+ [ Adam Gandelman ]
475+ * debian/cron.d/quantum-{l3, dhcp]-agent-netns-cleanup: Schedule hourly
476+ cleanups of leaked Quantum network namespsaces using the
477+ quantum-netns-cleanup utility.
478+
479+ -- Chuck Short <zulcss@ubuntu.com> Thu, 27 Sep 2012 13:19:33 -0500
480+
481+quantum (2012.2~rc3-0ubuntu1) quantal; urgency=low
482+
483+ * New upstream release.
484+
485+ -- Chuck Short <zulcss@ubuntu.com> Wed, 26 Sep 2012 15:14:31 -0500
486+
487+quantum (2012.2~rc2-0ubuntu1) quantal; urgency=low
488+
489+ [ Adam Gandelman ]
490+ * debian/quantum-server.{default, upstart}: Use default file to specify
491+ path to plugin config, which is passed to quantum-server as
492+ '--config-file' during startup. (LP: #1009294)
493+ * debian/control:
494+ - Remove quantum-server's dependency on 'quantum-plugin'.
495+ - Specify >= 1:0.1.0.1-0ubuntu1 requirement for python-quantumclient.
496+ - Add dnsmasq dependencies to quantum-dhcp-agent Depends.
497+
498+ [ Chuck Short ]
499+ * New upstream version.
500+ * debian/patches/fix-ubuntu-tests.patch: Refreshed.
501+
502+ -- Chuck Short <zulcss@ubuntu.com> Fri, 21 Sep 2012 13:01:18 -0500
503+
504+quantum (2012.2~rc1-0ubuntu1) quantal; urgency=low
505+
506+ [ Adam Gandelman ]
507+ * debain/*.postrm: Fix argument-less calls to update-rc.d, redirect
508+ to /dev/null. (LP: #1047560)
509+ * debian/quantum-server.upstart: Invoke start-stop-daemon properly.
510+ (LP: #1047404)
511+ * debain/*.postrm, *.upstart: Ensure files are named for corresponding
512+ agent package, not plugin package.
513+ * debian/control:
514+ - Group agents with plugins.
515+ - Fix some copy/paste mistakes.
516+ - Set dependencies between agents and corresponding plugins.
517+ - Recommend quantum-plugin-openvswitch for quantum-server.
518+ - Require the same version of quantum-common and python-quantum.
519+ - Add quantum-netns-cleanup utility to quantum-common.
520+ * debian/patches/fix-quantum-configuration.patch: Use correct database
521+ for linuxbridge plugin, use OVS plugin by default, call quantum-rootwrap
522+ correctly. (LP: #1048668)
523+ * Fix all use of /usr/sbin, things should go in /usr/bin.
524+ * Remove dhcp and l3 plugins, they are not actually plugins.
525+ * Rename packages quantum-plugin-{l3, dhcp}-agent to
526+ quantum-{l3, dhcp}-agent.
527+ * debain/quantum-*-agent.upstart: Specify config files as a
528+ parameter to --config-file, specify log files for all.
529+ * debian/*.logrotate: Add logrotate configs for server and agents.
530+ * Install quantum_sudoers with quantum-common, not quantum-server.
531+ * Install rootwrap filters only with the packages that require them.
532+ * debian/*-agent.upstart: Specify --config-file=/etc/quantum/quantum.conf
533+ in addition to plugin-specific config. Specify log files for all agents.
534+ * Allow group 'adm' read access to /var/log/quantum.
535+ * debian/quantum-server.postinst: Drop, all has been moved to quantum-common.
536+ * Add packaging for quantum-plugin-nec.
537+
538+ [ Chuck Short ]
539+ * New usptream release.
540+
541+ -- Chuck Short <zulcss@ubuntu.com> Wed, 12 Sep 2012 13:41:20 -0500
542+
543+quantum (2012.2~rc1~20120907.1154-0ubuntu1) quantal; urgency=low
544+
545+ [ Adam Gandelman ]
546+ * debian/control: Add missing python-keystone dependency.
547+ * wrap-and-sort.
548+
549+ [ Chuck Short ]
550+ * debian/rules:
551+ - Run testsuite on build.
552+ - Use get-orig-source.
553+ - Add python-amqplib, python-anyjson, python-httplib2, python-iso8601,
554+ python-kombu, python-lxml, python-netadr, python-pyudev to build depends
555+ and run time deps.
556+ - Add python-mock, python-mox, and python-unitest2 to build deps.
557+ - Add adduser as a dep to quantum-common.
558+ * debian/control: Bump standards version to 3.9.3
559+ * debian/quantum-common.install: Add missing configuration files.
560+ (LP: #988999)
561+ * debian/quantum-plugin-linuxbridge.install: Make isntallable.
562+ * Add manpages: gratitously ripped from debian.
563+ * Fix up lintian warnings. (LP: #1025203), (LP: #1021921)
564+ * Add metaplugin plugin.
565+ * debian/patches/fix-namespace.patch: Dropped it was causing
566+ python namespace issues.
567+ (LP: #1045064)
568+ * debian/*.upstart:
569+ - Specify configuration file and log directory.
570+ - Start on the right transition.
571+ * debian/rules:
572+ - Allow to disable testsuite.
573+ - Dont fail if the testsuite fails.
574+ * debian/patches/fix-quantum-configuration.patch: Fix configuration files.
575+ * Add packaging for quantum-plugin-l3 and quantum-plugin-l3-agent
576+ * Add packaging for quantum-plugin-dhcp-agent and quantum-plugin-dchp-agent
577+ * debian/patches/fix-ubuntu-tests.patch: Fix testsuite failures.
578+
579+ [ Soren Hansen ]
580+ * Update debian/watch to account for symbolically named tarballs and
581+ use newer URL.
582+ * Add python-configobj as a build and run time dependency. Recently added
583+ tests need it, and the Cisco plugin has needed it for a while.
584+ * Fix Launchpad URLs in debian/watch.
585+
586+ -- Chuck Short <zulcss@ubuntu.com> Fri, 07 Sep 2012 18:50:09 -0500
587+
588+quantum (2012.2~f3-0ubuntu1~cloud0) precise-folsom; urgency=low
589+
590+ * New upstream release.
591+
592+ -- Chuck Short <zulcss@ubuntu.com> Fri, 17 Aug 2012 10:42:58 -0500
593+
594+quantum (2012.2~f2-0ubuntu1~cloud0) precise-folsom; urgency=low
595+
596+ [ Chuck Short ]
597+ * New upstream release.
598+
599+ [ Adam Gandelman ]
600+ * debian/control, pydist-overrides: Add python-setuptools-git as a
601+ Build-Depends, override as necessary.
602+
603+ -- Chuck Short <zulcss@ubuntu.com> Fri, 06 Jul 2012 12:41:43 -0400
604+
605+quantum (2012.2~f1-0ubuntu1~cloud0) precise-folsom; urgency=low
606+
607+ [ Chuck Short ]
608+ * New upstream release.
609+ * Add missing upsart jobs for agents.
610+ * Add sudo wrapper for quantum-rootwrap. (LP: #999142)
611+
612+ [ Adam Gandelman ]
613+ * debian/control: Fix spacing issues that cause mk-build-deps to fail.
614+ * debian/quantum-server.install: Install new plugins config directory
615+ instead of old .ini.
616+
617+ -- Chuck Short <zulcss@ubuntu.com> Fri, 22 Jun 2012 12:49:23 -0400
618+
619+quantum (2012.1-0ubuntu1) precise; urgency=low
620+
621+ [Adam Gandelman]
622+ * Open precise-folsom-proposed.
623+ * Merge with current precise-folsom-folsom-proposed.
624+
625+ [Chuck Short]
626+ * New upstream release.
627+ * Add missing upsart jobs for agents.
628+ * Add sudo wrapper for quantum-rootwrap. (LP: #999142)
629+
630+ -- Chuck Short <zulcss@ubuntu.com> Fri, 01 Jun 2012 10:26:49 -0400
631+
632+quantum (2012.1-0ubuntu4) precise; urgency=low
633+
634+ * debian/control: Add breaks replaces since files have moved around.
635+ * Fix typo in upstart job.
636+
637+ -- Chuck Short <zulcss@ubuntu.com> Mon, 23 Apr 2012 11:23:38 -0400
638+
639+quantum (2012.1-0ubuntu3) precise; urgency=low
640+
641+ * Split out agents into its own packages. (LP: #979192)
642+ Thanks to Ghe Rivero.
643+ * Add upstart job. (LP: #979190)
644+ * Fix installation issues. (LP: #979159)
645+
646+ -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Apr 2012 13:39:06 -0400
647+
648+quantum (2012.1-0ubuntu2) precise; urgency=low
649+
650+ * Fix lintian warnings about empty packages.
651+
652+ -- Chuck Short <zulcss@ubuntu.com> Fri, 06 Apr 2012 22:14:42 -0400
653+
654+quantum (2012.1-0ubuntu1) precise; urgency=low
655+
656+ * New upstream release.
657+
658+ -- Chuck Short <zulcss@ubuntu.com> Thu, 05 Apr 2012 11:07:46 -0400
659+
660+quantum (2012.1~rc2-0ubuntu1) precise; urgency=low
661+
662+ * New upstream release:
663+ - debian/quantum-plugin-{ryu,openvswitch}.install:
664+ Install agents.
665+
666+ -- Chuck Short <zulcss@ubuntu.com> Tue, 03 Apr 2012 20:29:11 -0400
667+
668+quantum (2012.1~rc1-0ubuntu5) precise; urgency=low
669+
670+ * Add missing files. (LP: #972019, LP: #971981, LP: #960731)
671+
672+ -- Chuck Short <zulcss@ubuntu.com> Mon, 02 Apr 2012 20:29:29 -0400
673+
674+quantum (2012.1~rc1-0ubuntu4) precise; urgency=low
675+
676+ * Make quantum installable again (LP: #965551):
677+ - debian/control: quantum-server depends on quantum-common.
678+ - debian/control: Add python-quantumclient dependency.
679+ - debian/upstart: Rename and update upstart job.
680+ - Fix typos in debian/quantum-common.postinst.
681+
682+ -- Chuck Short <zulcss@ubuntu.com> Fri, 30 Mar 2012 14:14:42 -0400
683+
684+quantum (2012.1~rc1-0ubuntu3) precise; urgency=low
685+
686+ * debian/control: Fix spelling typos. (LP: #960713)
687+
688+ -- Paolo Rotolo <paolorotolo@ubuntu-it.org> Fri, 23 Mar 2012 21:35:54 +0100
689+
690+quantum (2012.1~rc1-0ubuntu2) precise; urgency=low
691+
692+ * debian/control: Fix spelling typos.
693+ * debian/upstart: Fix typo in upstart job
694+ * debian/control: Rename quantum to quantum-server again.
695+ * debian/control: Fix empty plugins.
696+ * debian/upstart: use start-stop-daemon in upstart job.
697+ * debian/patches/fix-namespace.patch: Fix namespace patch
698+ * debian/control: Update vcs info. (LP: #960690)
699+
700+ -- Chuck Short <zulcss@ubuntu.com> Tue, 20 Mar 2012 13:58:24 -0400
701+
702+quantum (2012.1~rc1~20120316.764-0ubuntu1) precise; urgency=low
703+
704+ * New upstream release.
705+ * debian/watch: Watch correct URL
706+
707+ -- Adam Gandelman <adamg@canonical.com> Fri, 16 Mar 2012 12:04:48 -0700
708+
709+quantum (2012.1~e4-0ubuntu1) precise; urgency=low
710+
711+ * New upstream release.
712+ * debian/rules: Take in account the new build changes.
713+ * debian/quantum-server.install: Install the right files due to
714+ build changes.
715+ * Client no longer is a part of quantum.
716+ * debian/control: Add python-lxml
717+ * Add ryu and niciria plugins.
718+ * debian/rules: Run right tests script.
719+
720+ -- Chuck Short <zulcss@ubuntu.com> Mon, 05 Mar 2012 09:47:22 -0500
721+
722+quantum (2012.1~e2+git20120112-0ubuntu1) precise; urgency=low
723+
724+ * New upstream release.
725+ * debian/rules:
726+ - Fix git snapshot creation.
727+ - Fix running test suite during the build.
728+ * debian/control: Add adduser for quantum-server.
729+ * debian/quantum-plugin-{cisco,openvswitch}.install: Install
730+ everything needed for the plugins.
731+
732+ -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Jan 2012 04:19:33 -0500
733+
734+quantum (2012.1~e2-0ubuntu2) precise; urgency=low
735+
736+ * debian/control: Build for architecture all.
737+
738+ -- Chuck Short <zulcss@ubuntu.com> Mon, 19 Dec 2011 10:28:16 -0500
739+
740+quantum (2012.1~e2-0ubuntu1) precise; urgency=low
741+
742+ * New upstream release.
743+ * debian/rules: Add alternate get-orig-source.
744+ * debian/patches/fix-version.patch: Removed no longer needed.
745+ * Fix lintian warnings.
746+
747+ -- Chuck Short <zulcss@ubuntu.com> Fri, 16 Dec 2011 15:26:41 -0500
748+
749+quantum (2012.1~e2~20111209.f8152-0ubuntu1) precise; urgency=low
750+
751+ * New upstream release.
752+ * debian/rules, debian/README.Source: Add support fo generating
753+ new tarballs from git since tarball snapshots are not available
754+ from jenkins yet.
755+ * debian/rules: Update for new build system.
756+ * debian/rules: Clean up files when running clean.
757+ * debian/quantum-server.install, debian/quantum-server.dirs,
758+ debian/quantum-plugins.*: Update for build system changes.
759+ * debian/quantum-server.postinst: Fix user creation.
760+ * debian/rules: Enable testsuite when building.
761+ * Fix lintian errors (LP: #899352)
762+ * debian/patches/fix-quantum-version.patch: Fix generating *.pyc
763+ when trying to build.
764+
765+ -- Chuck Short <zulcss@ubuntu.com> Fri, 09 Dec 2011 15:31:35 -0500
766+
767+quantum (2012.1~e1-0ubuntu1) precise; urgency=low
768+
769+ * Initial release.
770+
771+ -- Chuck Short <zulcss@ubuntu.com> Fri, 18 Nov 2011 15:29:53 -0500
772
773=== added file 'debian/compat'
774--- debian/compat 1970-01-01 00:00:00 +0000
775+++ debian/compat 2014-02-21 16:49:36 +0000
776@@ -0,0 +1,1 @@
777+8
778
779=== added file 'debian/control'
780--- debian/control 1970-01-01 00:00:00 +0000
781+++ debian/control 2014-02-21 16:49:36 +0000
782@@ -0,0 +1,667 @@
783+Source: neutron
784+Section: net
785+Priority: optional
786+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
787+XSBC-Original-Maintainer: Chuck Short <zulcss@ubuntu.com>
788+Build-Depends: debhelper (>= 8.0.0), python-all (>= 2.6)
789+Build-Depends-Indep:
790+ alembic (>= 0.4.1),
791+ python-amqplib (>= 0.6.1),
792+ python-anyjson (>= 0.3.3),
793+ python-babel,
794+ python-cliff (>= 1.4),
795+ python-configobj,
796+ python-coverage,
797+ python-d2to1,
798+ python-eventlet (>= 0.13.0),
799+ python-fixtures (>= 0.3.12),
800+ python-greenlet (>= 0.3.2),
801+ python-httplib2,
802+ python-iso8601,
803+ python-jinja2,
804+ python-jsonrpclib,
805+ python-keystoneclient (>= 1:0.2.0),
806+ python-kombu (>= 2.5.12),
807+ python-lxml,
808+ python-mock (>= 1.0b1),
809+ python-mox,
810+ python-netaddr,
811+ python-neutronclient (>= 1:2.2.3),
812+ python-novaclient (>= 2.12.0),
813+ python-oslo.config (>= 1:1.2.0a3),
814+ python-paste,
815+ python-pastedeploy,
816+ python-pbr (>= 0.5.21),
817+ python-psutil (>= 0.6.1),
818+ python-pyudev,
819+ python-requests (>= 1.1),
820+ python-routes,
821+ python-setuptools,
822+ python-simplejson,
823+ python-six,
824+ python-sqlalchemy,
825+ python-stevedore (>= 0.10),
826+ python-testtools (>= 0.9.32),
827+ python-webob,
828+ python-webtest,
829+ subunit,
830+ testrepository ( >= 0.0.17)
831+XS-Python-Version: >= 2.6
832+Standards-Version: 3.9.4
833+Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/neutron/icehouse/files
834+Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/neutron/icehouse
835+XS-Testsuite: autopkgtest
836+
837+Package: neutron-server
838+Architecture: all
839+Depends:
840+ adduser,
841+ neutron-common (= ${source:Version}),
842+ ${misc:Depends},
843+ ${python:Depends},
844+ ${shlibs:Depends}
845+Breaks: quantum-server ( << 1:2013.2~b2-0ubuntu1~ )
846+Replaces: quantum-server ( << 1:2013.2~b2-0ubuntu1~ )
847+Recommends: neutron-plugin-ml2
848+Description: Neutron is a virtual network service for Openstack - server
849+ Neutron is a virtual network service for Openstack, and a part of
850+ Netstack. Just like OpenStack Nova provides an API to dynamically
851+ request and configure virtual servers, Neutron provides an API to
852+ dynamically request and configure virtual networks. These networks
853+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
854+ from Nova VMs). The Neutron API supports extensions to provide
855+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
856+ etc.)
857+ .
858+ This package provides the Neutron server
859+
860+Package: neutron-common
861+Architecture: all
862+Depends:
863+ adduser,
864+ python-neutron (= ${source:Version}),
865+ ${misc:Depends},
866+ ${python:Depends}
867+Breaks: quantum-common ( << 1:2013.2~b2-0ubuntu1~ )
868+Replaces: quantum-common ( << 1:2013.2~b2-0ubuntu1~ )
869+Description: Neutron is a virtual network service for Openstack - common
870+ Neutron is a virtual network service for Openstack, and a part of
871+ Netstack. Just like OpenStack Nova provides an API to dynamically
872+ request and configure virtual servers, Neutron provides an API to
873+ dynamically request and configure virtual networks. These networks
874+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
875+ from Nova VMs). The Neutron API supports extensions to provide
876+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
877+ etc.)
878+ .
879+ This package provides the common files.
880+
881+Package: neutron-plugin-cisco
882+Architecture: all
883+Provides: neutron-plugin
884+Depends:
885+ neutron-common (= ${source:Version}),
886+ ${misc:Depends},
887+ ${python:Depends},
888+ ${shlibs:Depends}
889+Breaks: quantum-plugin-cisco ( << 1:2013.2~b2-0ubuntu1~ )
890+Replaces: quantum-plugin-cisco ( << 1:2013.2~b2-0ubuntu1~ )
891+Description: Neutron is a virtual network service for Openstack - Cisco plugin
892+ Neutron is a virtual network service for Openstack, and a part of
893+ Netstack. Just like OpenStack Nova provides an API to dynamically
894+ request and configure virtual servers, Neutron provides an API to
895+ dynamically request and configure virtual networks. These networks
896+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
897+ from Nova VMs). The Neutron API supports extensions to provide
898+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
899+ etc.)
900+ .
901+ This package provides the Cisco plugin.
902+
903+Package: neutron-plugin-nec
904+Architecture: all
905+Provides: neutron-plugin
906+Depends:
907+ neutron-common (= ${source:Version}),
908+ ${misc:Depends},
909+ ${python:Depends},
910+ ${shlibs:Depends}
911+Breaks: quantum-plugin-nec ( << 1:2013.2~b2-0ubuntu1~ )
912+Replaces: quantum-plugin-nec ( << 1:2013.2~b2-0ubuntu1~ )
913+Description: Neutron is a virtual network service for Openstack - NEC plugin
914+ Neutron is a virtual network service for Openstack, and a part of
915+ Netstack. Just like OpenStack Nova provides an API to dynamically
916+ request and configure virtual servers, Neutron provides an API to
917+ dynamically request and configure virtual networks. These networks
918+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
919+ from Nova VMs). The Neutron API supports extensions to provide
920+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
921+ etc.)
922+ .
923+ This package provides the NEC plugin.
924+
925+Package: neutron-plugin-nec-agent
926+Architecture: all
927+Depends:
928+ neutron-common (= ${source:Version}),
929+ neutron-plugin-nec,
930+ openvswitch-switch,
931+ ${misc:Depends},
932+ ${python:Depends},
933+ ${shlibs:Depends}
934+Breaks: quantum-plugin-nec-agent ( << 1:2013.2~b2-0ubuntu1~ )
935+Replaces: quantum-plugin-nec-agent ( << 1:2013.2~b2-0ubuntu1~ )
936+Description: Neutron is a virtual network service for Openstack - NEC plugin agent
937+ Neutron is a virtual network service for Openstack, and a part of
938+ Netstack. Just like OpenStack Nova provides an API to dynamically
939+ request and configure virtual servers, Neutron provides an API to
940+ dynamically request and configure virtual networks. These networks
941+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
942+ from Nova VMs). The Neutron API supports extensions to provide
943+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
944+ etc.)
945+ .
946+ This package provides the NEC plugin agent.
947+
948+Package: neutron-plugin-bigswitch
949+Architecture: all
950+Provides: neutron-plugin
951+Depends:
952+ neutron-common (= ${source:Version}),
953+ ${misc:Depends},
954+ ${python:Depends},
955+ ${shlibs:Depends}
956+Breaks: quantum-plugin-bigswitch ( << 1:2013.2~b2-0ubuntu1~ )
957+Replaces: quantum-plugin-bigswitch ( << 1:2013.2~b2-0ubuntu1~ )
958+Description: Neutron is a virtual network service for Openstack - BigSwitch plugin
959+ Neutron is a virtual network service for Openstack, and a part of
960+ Netstack. Just like OpenStack Nova provides an API to dynamically
961+ request and configure virtual servers, Neutron provides an API to
962+ dynamically request and configure virtual networks. These networks
963+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
964+ from Nova VMs). The Neutron API supports extensions to provide
965+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
966+ etc.)
967+ .
968+ This package provides the BigSwitch plugin.
969+
970+Package: neutron-plugin-hyperv
971+Architecture: all
972+Provides: neutron-plugin
973+Depends:
974+ neutron-common (= ${source:Version}),
975+ ${misc:Depends},
976+ ${python:Depends},
977+ ${shlibs:Depends}
978+Breaks: quantum-plugin-hyperv ( << 1:2013.2~b2-0ubuntu1~ )
979+Replaces: quantum-plugin-hyperv ( << 1:2013.2~b2-0ubuntu1~ )
980+Description: Neutron is a virtual network service for Openstack - Hyper-V plugin
981+ Neutron is a virtual network service for Openstack, and a part of
982+ Netstack. Just like OpenStack Nova provides an API to dynamically
983+ request and configure virtual servers, Neutron provides an API to
984+ dynamically request and configure virtual networks. These networks
985+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
986+ from Nova VMs). The Neutron API supports extensions to provide
987+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
988+ etc.)
989+ .
990+ This package provides the Hyper-V plugin.
991+
992+Package: neutron-plugin-brocade
993+Architecture: all
994+Provides: neutron-plugin
995+Depends:
996+ neutron-common (= ${source:Version}),
997+ ${misc:Depends},
998+ ${python:Depends},
999+ ${shlibs:Depends}
1000+Breaks: quantum-plugin-brocade ( << 1:2013.2~b2-0ubuntu1~ )
1001+Replaces: quantum-plugin-brocade ( << 1:2013.2~b2-0ubuntu1~ )
1002+Description: Neutron is a virtual network service for Openstack - Brocade plugin
1003+ Neutron is a virtual network service for Openstack, and a part of
1004+ Netstack. Just like OpenStack Nova provides an API to dynamically
1005+ request and configure virtual servers, Neutron provides an API to
1006+ dynamically request and configure virtual networks. These networks
1007+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1008+ from Nova VMs). The Neutron API supports extensions to provide
1009+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1010+ etc.)
1011+ .
1012+ This package provides the Brocade plugin.
1013+
1014+Package: neutron-plugin-plumgrid
1015+Architecture: all
1016+Provides: neutron-plugin
1017+Depends:
1018+ neutron-common (= ${source:Version}),
1019+ ${misc:Depends},
1020+ ${python:Depends},
1021+ ${shlibs:Depends}
1022+Breaks: quantum-plugin-plumgrid ( << 1:2013.2~b2-0ubuntu1~ )
1023+Replaces: quantum-plugin-plumgrid ( << 1:2013.2~b2-0ubuntu1~ )
1024+Description: Neutron is a virtual network service for Openstack - PLUMgrid plugin
1025+ Neutron is a virtual network service for Openstack, and a part of
1026+ Netstack. Just like OpenStack Nova provides an API to dynamically
1027+ request and configure virtual servers, Neutron provides an API to
1028+ dynamically request and configure virtual networks. These networks
1029+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1030+ from Nova VMs). The Neutron API supports extensions to provide
1031+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1032+ etc.)
1033+ .
1034+ This package provides the PLUMgrid plugin.
1035+
1036+Package: neutron-plugin-metaplugin
1037+Architecture: all
1038+Provides: neutron-plugin
1039+Depends:
1040+ neutron-common (= ${source:Version}),
1041+ ${misc:Depends},
1042+ ${python:Depends},
1043+ ${shlibs:Depends}
1044+Breaks: quantum-plugin-metaplugin ( << 1:2013.2~b2-0ubuntu1~ )
1045+Replaces: quantum-plugin-metaplugin ( << 1:2013.2~b2-0ubuntu1~ )
1046+Description: Neutron is a virtual network service for Openstack - Metaplugin plugin
1047+ Neutron is a virtual network service for Openstack, and a part of
1048+ Netstack. Just like OpenStack Nova provides an API to dynamically
1049+ request and configure virtual servers, Neutron provides an API to
1050+ dynamically request and configure virtual networks. These networks
1051+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1052+ from Nova VMs). The Neutron API supports extensions to provide
1053+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1054+ etc.)
1055+ .
1056+ This package provides the Metaplugin plugin.
1057+
1058+Package: neutron-plugin-nicira
1059+Architecture: all
1060+Provides: neutron-plugin
1061+Depends:
1062+ neutron-common (= ${source:Version}),
1063+ ${misc:Depends},
1064+ ${python:Depends},
1065+ ${shlibs:Depends}
1066+Breaks: quantum-plugin-nicira ( << 1:2013.2~b2-0ubuntu1~ )
1067+Replaces: quantum-plugin-nicira ( << 1:2013.2~b2-0ubuntu1~ )
1068+Description: Neutron is a virtual network service for Openstack - Nicira plugin
1069+ Neutron is a virtual network service for Openstack, and a part of
1070+ Netstack. Just like OpenStack Nova provides an API to dynamically
1071+ request and configure virtual servers, Neutron provides an API to
1072+ dynamically request and configure virtual networks. These networks
1073+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1074+ from Nova VMs). The Neutron API supports extensions to provide
1075+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1076+ etc.)
1077+ .
1078+ This package provides the Nicira NVP plugin
1079+
1080+Package: neutron-l3-agent
1081+Architecture: all
1082+Depends:
1083+ iputils-arping,
1084+ neutron-common (= ${source:Version}),
1085+ neutron-metadata-agent (= ${source:Version}),
1086+ ${misc:Depends},
1087+ ${python:Depends},
1088+ ${shlibs:Depends}
1089+Breaks: quantum-l3-agent ( << 1:2013.2~b2-0ubuntu1~ )
1090+Replaces: quantum-l3-agent ( << 1:2013.2~b2-0ubuntu1~ )
1091+Description: Neutron is a virtual network service for Openstack - l3 agent
1092+ Neutron is a virtual network service for Openstack, and a part of
1093+ Netstack. Just like OpenStack Nova provides an API to dynamically
1094+ request and configure virtual servers, Neutron provides an API to
1095+ dynamically request and configure virtual networks. These networks
1096+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1097+ from Nova VMs). The Neutron API supports extensions to provide
1098+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1099+ etc.)
1100+ .
1101+ This package provides the layer 3 routing agent.
1102+
1103+Package: neutron-dhcp-agent
1104+Architecture: all
1105+Depends:
1106+ dnsmasq-base,
1107+ dnsmasq-utils,
1108+ neutron-common (= ${source:Version}),
1109+ neutron-metadata-agent (= ${source:Version}),
1110+ ${misc:Depends},
1111+ ${python:Depends},
1112+ ${shlibs:Depends}
1113+Breaks: quantum-dhcp-agent ( << 1:2013.2~b2-0ubuntu1~ )
1114+Replaces: quantum-dhcp-agent ( << 1:2013.2~b2-0ubuntu1~ )
1115+Description: Neutron is a virtual network service for Openstack - DHCP agent
1116+ Neutron is a virtual network service for Openstack, and a part of
1117+ Netstack. Just like OpenStack Nova provides an API to dynamically
1118+ request and configure virtual servers, Neutron provides an API to
1119+ dynamically request and configure virtual networks. These networks
1120+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1121+ from Nova VMs). The Neutron API supports extensions to provide
1122+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1123+ etc.)
1124+ .
1125+ This package provides the DHCP agent.
1126+
1127+Package: neutron-metadata-agent
1128+Architecture: all
1129+Depends:
1130+ neutron-common (= ${source:Version}),
1131+ ${misc:Depends},
1132+ ${python:Depends},
1133+ ${shlibs:Depends}
1134+Breaks: quantum-metadata-agent ( << 1:2013.2~b2-0ubuntu1~ )
1135+Replaces: quantum-metadata-agent ( << 1:2013.2~b2-0ubuntu1~ )
1136+Description: Neutron is a virtual network service for Openstack - metadata agent
1137+ Neutron is a virtual network service for Openstack, and a part of
1138+ Netstack. Just like OpenStack Nova provides an API to dynamically
1139+ request and configure virtual servers, Neutron provides an API to
1140+ dynamically request and configure virtual networks. These networks
1141+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1142+ from Nova VMs). The Neutron API supports extensions to provide
1143+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1144+ etc.)
1145+ .
1146+ This package provides the metadata proxy agent.
1147+
1148+Package: neutron-lbaas-agent
1149+Architecture: all
1150+Depends:
1151+ haproxy,
1152+ neutron-common (= ${source:Version}),
1153+ ${misc:Depends},
1154+ ${python:Depends},
1155+ ${shlibs:Depends}
1156+Breaks: quantum-lbaas-agent ( << 1:2013.2~b2-0ubuntu1~ )
1157+Replaces: quantum-lbass-agent ( << 1:2013.2~b2-0ubuntu1~ )
1158+Description: Neutron is a virtual network service for Openstack - LBaaS agent
1159+ Neutron is a virtual network service for Openstack, and a part of
1160+ Netstack. Just like OpenStack Nova provides an API to dynamically
1161+ request and configure virtual servers, Neutron provides an API to
1162+ dynamically request and configure virtual networks. These networks
1163+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1164+ from Nova VMs). The Neutron API supports extensions to provide
1165+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1166+ etc.)
1167+ .
1168+ This package provides the Load Balancing as-a Service (LBaaS) agent.
1169+
1170+Package: python-neutron
1171+Architecture: all
1172+Section: python
1173+Depends:
1174+ alembic (>= 0.6.0),
1175+ python-amqplib (>= 0.6.1),
1176+ python-anyjson (>= 0.3.3),
1177+ python-babel,
1178+ python-eventlet (>= 0.13.0),
1179+ python-greenlet (>= 0.3.12),
1180+ python-httplib2,
1181+ python-iso8601,
1182+ python-jinja2,
1183+ python-keystoneclient (>= 1:0.3.0),
1184+ python-kombu (>= 2.5.12),
1185+ python-netaddr,
1186+ python-neutronclient (>= 1:2.2.3),
1187+ python-oslo.config (>= 1:1.2.0a3),
1188+ python-paste,
1189+ python-pastedeploy,
1190+ python-psutil (>= 0.6.1),
1191+ python-requests (>= 1.1),
1192+ python-routes,
1193+ python-six,
1194+ python-sqlalchemy (>= 0.8.2),
1195+ python-stevedore (>= 0.10),
1196+ python-webob,
1197+ ${misc:Depends},
1198+ ${python:Depends}
1199+Provides: ${python:Provides}
1200+XB-Python-Version: ${python:Versions}
1201+Breaks: python-quantum ( << 1:2013.2~b2-0ubuntu1~ )
1202+Replaces: python-quantum ( << 1:2013.2~b2-0ubuntu1~ )
1203+Description: Neutron is a virutal network service for Openstack - Python library
1204+ Neutron is a virtual network service for Openstack, and a part of
1205+ Netstack. Just like OpenStack Nova provides an API to dynamically
1206+ request and configure virtual servers, Neutron provides an API to
1207+ dynamically request and configure virtual networks. These networks
1208+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1209+ from Nova VMs). The Neutron API supports extensions to provide
1210+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1211+ etc.)
1212+ .
1213+ This package provides the Python library.
1214+
1215+Package: neutron-plugin-openvswitch
1216+Architecture: all
1217+Provides: neutron-plugin
1218+Depends:
1219+ neutron-common (= ${source:Version}),
1220+ ${misc:Depends},
1221+ ${python:Depends},
1222+ ${shlibs:Depends}
1223+Breaks: quantum-plugin-openvswitch ( << 1:2013.2~b2-0ubuntu1~ )
1224+Replaces: quantum-plugin-openvswitch ( << 1:2013.2~b2-0ubuntu1~ )
1225+Description: Neutron is a virtual network service for Openstack - Open vSwitch plugin
1226+ Neutron is a virtual network service for Openstack, and a part of
1227+ Netstack. Just like OpenStack Nova provides an API to dynamically
1228+ request and configure virtual servers, Neutron provides an API to
1229+ dynamically request and configure virtual networks. These networks
1230+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1231+ from Nova VMs). The Neutron API supports extensions to provide
1232+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1233+ etc.)
1234+ .
1235+ This package provides the Open vSwitch plugin.
1236+
1237+Package: neutron-plugin-ml2
1238+Architecture: all
1239+Provides: neutron-plugin
1240+Depends:
1241+ neutron-common (= ${source:Version}),
1242+ ${misc:Depends},
1243+ ${python:Depends},
1244+ ${shlibs:Depends}
1245+Description: Neutron is a virtual network service for Openstack - ML2 plugin
1246+ Neutron is a virtual network service for Openstack, and a part of
1247+ Netstack. Just like OpenStack Nova provides an API to dynamically
1248+ request and configure virtual servers, Neutron provides an API to
1249+ dynamically request and configure virtual networks. These networks
1250+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1251+ from Nova VMs). The Neutron API supports extensions to provide
1252+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1253+ etc.)
1254+ .
1255+ This package provides the Modular Layer 2 plugin.
1256+
1257+Package: neutron-plugin-openvswitch-agent
1258+Architecture: all
1259+Depends:
1260+ neutron-common (= ${source:Version}),
1261+ neutron-plugin-ml2,
1262+ openvswitch-switch,
1263+ ${misc:Depends},
1264+ ${python:Depends},
1265+ ${shlibs:Depends}
1266+Breaks: quantum-plugin-openvswitch-agent ( << 1:2013.2~b2-0ubuntu1~ )
1267+Replaces: quantum-plugin-openvswitch-agent ( << 1:2013.2~b2-0ubuntu1~ )
1268+Description: Neutron is a virtual network service for Openstack - Open vSwitch plugin agent
1269+ Neutron is a virtual network service for Openstack, and a part of
1270+ Netstack. Just like OpenStack Nova provides an API to dynamically
1271+ request and configure virtual servers, Neutron provides an API to
1272+ dynamically request and configure virtual networks. These networks
1273+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1274+ from Nova VMs). The Neutron API supports extensions to provide
1275+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1276+ etc.)
1277+ .
1278+ This package provides the Open vSwitch plugin agent.
1279+
1280+Package: neutron-plugin-linuxbridge
1281+Architecture: all
1282+Provides: neutron-plugin
1283+Depends:
1284+ neutron-common (= ${source:Version}),
1285+ ${misc:Depends},
1286+ ${python:Depends},
1287+ ${shlibs:Depends}
1288+Breaks: quantum-plugin-linuxbridge ( << 1:2013.2~b2-0ubuntu1~ )
1289+Replaces: quantum-plugin-linuxbridge ( << 1:2013.2~b2-0ubuntu1~ )
1290+Description: Neutron is a virtual network service for Openstack - linuxbridge plugin
1291+ Neutron is a virtual network service for Openstack, and a part of
1292+ Netstack. Just like OpenStack Nova provides an API to dynamically
1293+ request and configure virtual servers, Neutron provides an API to
1294+ dynamically request and configure virtual networks. These networks
1295+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1296+ from Nova VMs). The Neutron API supports extensions to provide
1297+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1298+ etc.)
1299+ .
1300+ This package provides the linuxbridge plugin.
1301+
1302+Package: neutron-plugin-linuxbridge-agent
1303+Architecture: all
1304+Depends:
1305+ bridge-utils,
1306+ neutron-common (= ${source:Version}),
1307+ neutron-plugin-linuxbridge,
1308+ ${misc:Depends},
1309+ ${python:Depends},
1310+ ${shlibs:Depends}
1311+Breaks: quantum-plugin-linuxbirdge-agent ( << 1:2013.2~b2-0ubuntu1~ )
1312+Replaces: quantum-plugin-linuxbridge-agent ( << 1:2013.2~b2-0ubuntu1~ )
1313+Description: Neutron is a virtual network service for Openstack - linuxbridge plugin agent
1314+ Neutron is a virtual network service for Openstack, and a part of
1315+ Netstack. Just like OpenStack Nova provides an API to dynamically
1316+ request and configure virtual servers, Neutron provides an API to
1317+ dynamically request and configure virtual networks. These networks
1318+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1319+ from Nova VMs). The Neutron API supports extensions to provide
1320+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1321+ etc.)
1322+ .
1323+ This package provides the linuxbridge plugin agent.
1324+
1325+Package: neutron-plugin-ryu
1326+Architecture: all
1327+Provides: neutron-plugin
1328+Depends:
1329+ neutron-common (= ${source:Version}),
1330+ ${misc:Depends},
1331+ ${python:Depends},
1332+ ${shlibs:Depends}
1333+Breaks: quantum-plugin-ryu ( << 1:2013.2~b2-0ubuntu1~ )
1334+Replaces: quantum-plugin-ryu ( << 1:2013.2~b2-0ubuntu1~ )
1335+Description: Neutron is a virtual network service for Openstack - RYU plugin
1336+ Neutron is a virtual network service for Openstack, and a part of
1337+ Netstack. Just like OpenStack Nova provides an API to dynamically
1338+ request and configure virtual servers, Neutron provides an API to
1339+ dynamically request and configure virtual networks. These networks
1340+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1341+ from Nova VMs). The Neutron API supports extensions to provide
1342+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1343+ etc.)
1344+ .
1345+ This package provides the RYU plugin.
1346+
1347+Package: neutron-plugin-ryu-agent
1348+Architecture: all
1349+Depends:
1350+ neutron-common (= ${source:Version}),
1351+ neutron-plugin-ryu,
1352+ ${misc:Depends},
1353+ ${python:Depends},
1354+ ${shlibs:Depends}
1355+Breaks: quantum-plugin-ryu-agent ( << 1:2013.2~b2-0ubuntu1~ )
1356+Replaces: quantum-plugin-ryu-agent ( << 1:2013.2~b2-0ubuntu1~ )
1357+Description: Neutron is a virtual network service for Openstack - RYU plugin agent
1358+ Neutron is a virtual network service for Openstack, and a part of
1359+ Netstack. Just like OpenStack Nova provides an API to dynamically
1360+ request and configure virtual servers, Neutron provides an API to
1361+ dynamically request and configure virtual networks. These networks
1362+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1363+ from Nova VMs). The Neutron API supports extensions to provide
1364+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1365+ etc.)
1366+ .
1367+ This package provides the RYU plugin agent.
1368+
1369+Package: neutron-plugin-midonet
1370+Architecture: all
1371+Provides: neutron-plugin
1372+Depends:
1373+ neutron-common (= ${source:Version}),
1374+ ${misc:Depends},
1375+ ${python:Depends},
1376+ ${shlibs:Depends}
1377+Breaks: quantum-plugin-midonet ( << 1:2013.2~b2-0ubuntu1~ )
1378+Replaces: quantum-plugin-midonet ( << 1:2013.2~b2-0ubuntu1~ )
1379+Description: Neutron is a virtual network service for Openstack - Midonet plugin
1380+ Neutron is a virtual network service for Openstack, and a part of
1381+ Netstack. Just like OpenStack Nova provides an API to dynamically
1382+ request and configure virtual servers, Neutron provides an API to
1383+ dynamically request and configure virtual networks. These networks
1384+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1385+ from Nova VMs). The Neutron API supports extensions to provide
1386+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1387+ etc.)
1388+ .
1389+ This package provides the Midonet plugin.
1390+
1391+Package: neutron-plugin-mlnx-agent
1392+Architecture: all
1393+Provides: neutron-plugin
1394+Depends:
1395+ neutron-common (= ${source:Version}),
1396+ ${misc:Depends},
1397+ ${python:Depends},
1398+ ${shlibs:Depends}
1399+Description: Neutron is a virtual network service for Openstack - mlnx plugin agent
1400+ Neutron is a virtual network service for Openstack, and a part of
1401+ Netstack. Just like OpenStack Nova provides an API to dynamically
1402+ request and configure virtual servers, Neutron provides an API to
1403+ dynamically request and configure virtual networks. These networks
1404+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1405+ from Nova VMs). The Neutron API supports extensions to provide
1406+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1407+ etc.)
1408+ .
1409+ This package provides the mlnx plugin agent.
1410+
1411+Package: neutron-plugin-vpn-agent
1412+Architecture: all
1413+Provides: neutron-plugin
1414+Depends:
1415+ neutron-common (= ${source:Version}),
1416+ ${misc:Depends},
1417+ ${python:Depends},
1418+ ${shlibs:Depends}
1419+Description: Neutron is a virtual network service for Openstack - vpn plugin
1420+ Neutron is a virtual network service for Openstack, and a part of
1421+ Netstack. Just like OpenStack Nova provides an API to dynamically
1422+ request and configure virtual servers, Neutron provides an API to
1423+ dynamically request and configure virtual networks. These networks
1424+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1425+ from Nova VMs). The Neutron API supports extensions to provide
1426+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1427+ etc.)
1428+ .
1429+ This package provides the vpn plugin.
1430+
1431+Package: neutron-plugin-metering-agent
1432+Architecture: all
1433+Provides: neutron-plugin
1434+Depends:
1435+ neutron-common (= ${source:Version}),
1436+ ${misc:Depends},
1437+ ${python:Depends},
1438+ ${shlibs:Depends}
1439+Description: Neutron is a virtual network service for Openstack - metering plugin
1440+ Neutron is a virtual network service for Openstack, and a part of
1441+ Netstack. Just like OpenStack Nova provides an API to dynamically
1442+ request and configure virtual servers, Neutron provides an API to
1443+ dynamically request and configure virtual networks. These networks
1444+ connect "interfaces" from other OpenStack services (e.g., virtual NICs
1445+ from Nova VMs). The Neutron API supports extensions to provide
1446+ advanced network capabilities (e.g., QoS, ACLs, network monitoring,
1447+ etc.)
1448+ .
1449+ This package provides the metering plugin.
1450
1451=== added file 'debian/copyright'
1452--- debian/copyright 1970-01-01 00:00:00 +0000
1453+++ debian/copyright 2014-02-21 16:49:36 +0000
1454@@ -0,0 +1,37 @@
1455+Format: http://dep.debian.net/deps/dep5
1456+Upstream-Name: neutron
1457+Source: http://github.com/openstack/neutron
1458+
1459+Files: *
1460+Copyright: 2011 OpenStack, LLC.
1461+ 2011 Cisco Systems
1462+ 2011 Nicira Networks
1463+ 2011 Citrix Systems
1464+License: Apache-2
1465+ Licensed under the Apache License, Version 2.0 (the "License");
1466+ you may not use this file except in compliance with the License.
1467+ You may obtain a copy of the License at
1468+ .
1469+ http://www.apache.org/licenses/LICENSE-2.0
1470+ .
1471+ Unless required by applicable law or agreed to in writing, software
1472+ distributed under the License is distributed on an "AS IS" BASIS,
1473+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1474+ See the License for the specific language governing permissions and
1475+ limitations under the License.
1476+ .
1477+ On Debian-based systems the full text of the Apache version 2.0 license
1478+ can be found in `/usr/share/common-licenses/Apache-2.0'
1479+
1480+Files: tools/rfc.sh
1481+Copyright: Copyright (c) 2010-2011 Gluster, Inc
1482+License: GPL-v3
1483+ GNU GENERAL PUBLIC LICENSE
1484+ Version 3, 29 June 2007
1485+ .
1486+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
1487+ Everyone is permitted to copy and distribute verbatim copies
1488+ of this license document, but changing it is not allowed.
1489+ .
1490+ On Debian-based systems the full text of the Apache version 2.0 license
1491+ can be found in `/usr/share/common-licenses/GPL-3'
1492
1493=== added directory 'debian/cron.d'
1494=== added file 'debian/cron.d/neutron-dhcp-agent-netns-cleanup'
1495--- debian/cron.d/neutron-dhcp-agent-netns-cleanup 1970-01-01 00:00:00 +0000
1496+++ debian/cron.d/neutron-dhcp-agent-netns-cleanup 2014-02-21 16:49:36 +0000
1497@@ -0,0 +1,4 @@
1498+# vim: set filetype=crontab:
1499+# Periodically cleans Quantum's network namespaces on behalf of the Quantum
1500+# DHCP agent.
1501+30 * * * * neutron if [ -x /usr/bin/neutron-netns-cleanup ] ; then /usr/bin/neutron-netns-cleanup --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/dhcp_agent.ini >/dev/null 2>&1; fi
1502
1503=== added file 'debian/cron.d/neutron-l3-agent-netns-cleanup'
1504--- debian/cron.d/neutron-l3-agent-netns-cleanup 1970-01-01 00:00:00 +0000
1505+++ debian/cron.d/neutron-l3-agent-netns-cleanup 2014-02-21 16:49:36 +0000
1506@@ -0,0 +1,4 @@
1507+# vim: set filetype=crontab:
1508+# Periodically cleans Quantum's network namespaces on behalf of the Quantum
1509+# L3 agent.
1510+0 * * * * neutron if [ -x /usr/bin/neutron-netns-cleanup ] ; then /usr/bin/neutron-netns-cleanup --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/l3_agent.ini >/dev/null 2>&1; fi
1511
1512=== added file 'debian/cron.d/neutron-lbaas-agent-netns-cleanup'
1513--- debian/cron.d/neutron-lbaas-agent-netns-cleanup 1970-01-01 00:00:00 +0000
1514+++ debian/cron.d/neutron-lbaas-agent-netns-cleanup 2014-02-21 16:49:36 +0000
1515@@ -0,0 +1,4 @@
1516+# vim: set filetype=crontab:
1517+# Periodically cleans Quantum's network namespaces on behalf of the Quantum
1518+# L3 agent.
1519+0 * * * * neutron if [ -x /usr/bin/neutron-netns-cleanup ] ; then /usr/bin/neutron-netns-cleanup --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/lbaas_agent.ini >/dev/null 2>&1; fi
1520
1521=== added directory 'debian/mans'
1522=== added file 'debian/mans/neutron-linuxbridge-agent.8'
1523--- debian/mans/neutron-linuxbridge-agent.8 1970-01-01 00:00:00 +0000
1524+++ debian/mans/neutron-linuxbridge-agent.8 2014-02-21 16:49:36 +0000
1525@@ -0,0 +1,11 @@
1526+.TH neutron\-linuxbridge\-agent 8
1527+.SH NAME
1528+neutron\-linuxbridge\-agent \- OpenStack Virtual network service \- linuxbridge agent
1529+
1530+.SH SYNOPSIS
1531+.B neutron\-linuxbridge\-agent
1532+
1533+.SH DESCRIPTION
1534+.B neutron\-linuxbridge\-agent
1535+
1536+This man page is a stub. Please contribute.
1537
1538=== added file 'debian/mans/neutron-nec-agent.8'
1539--- debian/mans/neutron-nec-agent.8 1970-01-01 00:00:00 +0000
1540+++ debian/mans/neutron-nec-agent.8 2014-02-21 16:49:36 +0000
1541@@ -0,0 +1,11 @@
1542+.TH neutron\-nec\-agent 8
1543+.SH NAME
1544+neutron\-nec\-agent \- OpenStack Virtual network service \- nec agent
1545+
1546+.SH SYNOPSIS
1547+.B neutron\-nec\-agent
1548+
1549+.SH DESCRIPTION
1550+.B neutron\-nec\-agent
1551+
1552+This man page is a stub. Please contribute.
1553
1554=== added file 'debian/mans/neutron-openvswitch-agent.8'
1555--- debian/mans/neutron-openvswitch-agent.8 1970-01-01 00:00:00 +0000
1556+++ debian/mans/neutron-openvswitch-agent.8 2014-02-21 16:49:36 +0000
1557@@ -0,0 +1,11 @@
1558+.TH neutron\-openvswitch\-agent 8
1559+.SH NAME
1560+neutron\-openvswitch\-agent \- OpenStack Virtual network service \- openvswitch agent
1561+
1562+.SH SYNOPSIS
1563+.B neutron\-openvswitch\-agent
1564+
1565+.SH DESCRIPTION
1566+.B neutron\-openvswitch\-agent
1567+
1568+This man page is a stub. Please contribute.
1569
1570=== added file 'debian/mans/neutron-rootwrap.8'
1571--- debian/mans/neutron-rootwrap.8 1970-01-01 00:00:00 +0000
1572+++ debian/mans/neutron-rootwrap.8 2014-02-21 16:49:36 +0000
1573@@ -0,0 +1,11 @@
1574+.TH neutron-rootwrap 8
1575+.SH NAME
1576+neutron-rootwrap \- OpenStack Virtual network service \- sudo helper
1577+
1578+.SH SYNOPSIS
1579+.B neutron-rootwrap
1580+
1581+.SH DESCRIPTION
1582+.B neutron-rootwrap
1583+
1584+This man page is a stub. Please contribute.
1585
1586=== added file 'debian/mans/neutron-ryu-agent.8'
1587--- debian/mans/neutron-ryu-agent.8 1970-01-01 00:00:00 +0000
1588+++ debian/mans/neutron-ryu-agent.8 2014-02-21 16:49:36 +0000
1589@@ -0,0 +1,11 @@
1590+.TH neutron\-ryu\-agent 8
1591+.SH NAME
1592+neutron\-ryu\-agent \- OpenStack Virtual network service \- ryu agent
1593+
1594+.SH SYNOPSIS
1595+.B neutron\-ryu\-agent
1596+
1597+.SH DESCRIPTION
1598+.B neutron\-ryu\-agent
1599+
1600+This man page is a stub. Please contribute.
1601
1602=== added file 'debian/mans/neutron-server.8'
1603--- debian/mans/neutron-server.8 1970-01-01 00:00:00 +0000
1604+++ debian/mans/neutron-server.8 2014-02-21 16:49:36 +0000
1605@@ -0,0 +1,11 @@
1606+.TH neutron-server 8
1607+.SH NAME
1608+neutron-server \- OpenStack Virtual network service \- server
1609+
1610+.SH SYNOPSIS
1611+.B neutron-server
1612+
1613+.SH DESCRIPTION
1614+.B neutron-server
1615+
1616+This man page is a stub. Please contribute.
1617
1618=== added file 'debian/neutron-common.dirs'
1619--- debian/neutron-common.dirs 1970-01-01 00:00:00 +0000
1620+++ debian/neutron-common.dirs 2014-02-21 16:49:36 +0000
1621@@ -0,0 +1,5 @@
1622+var/log/neutron
1623+var/lib/neutron
1624+etc/neutron
1625+etc/neutron/rootwrap.d
1626+etc/neutron/plugins
1627
1628=== added file 'debian/neutron-common.install'
1629--- debian/neutron-common.install 1970-01-01 00:00:00 +0000
1630+++ debian/neutron-common.install 2014-02-21 16:49:36 +0000
1631@@ -0,0 +1,14 @@
1632+debian/neutron_sudoers etc/sudoers.d
1633+etc/api-paste.ini etc/neutron
1634+etc/neutron.conf etc/neutron
1635+etc/neutron/rootwrap.d/debug.filters etc/neutron/rootwrap.d
1636+etc/neutron/rootwrap.d/iptables-firewall.filters etc/neutron/rootwrap.d
1637+etc/policy.json etc/neutron
1638+etc/rootwrap.conf etc/neutron
1639+usr/bin/neutron-db-manage usr/bin
1640+usr/bin/neutron-debug usr/bin
1641+usr/bin/neutron-netns-cleanup usr/bin
1642+usr/bin/neutron-ovs-cleanup usr/bin
1643+usr/bin/neutron-rootwrap usr/bin
1644+usr/bin/neutron-rootwrap-xen-dom0 usr/bin
1645+usr/bin/neutron-usage-audit usr/bin
1646
1647=== added file 'debian/neutron-common.postinst'
1648--- debian/neutron-common.postinst 1970-01-01 00:00:00 +0000
1649+++ debian/neutron-common.postinst 2014-02-21 16:49:36 +0000
1650@@ -0,0 +1,31 @@
1651+#!/bin/sh
1652+
1653+set -e
1654+
1655+if [ "$1" = "configure" ]
1656+then
1657+ if ! getent group neutron > /dev/null 2>&1
1658+ then
1659+ addgroup --system neutron >/dev/null
1660+ fi
1661+ if ! getent passwd neutron > /dev/null 2>&1
1662+ then
1663+ adduser --system --home /var/lib/neutron --ingroup neutron --no-create-home --shell /bin/false neutron
1664+ fi
1665+ chown -R neutron:neutron /var/lib/neutron/
1666+
1667+ chown -R neutron:adm /var/log/neutron/
1668+ chmod 0750 /var/log/neutron/
1669+
1670+ chown -R root:neutron /etc/neutron/
1671+ chmod 0750 /etc/neutron/
1672+ chown root:root /etc/neutron/rootwrap.conf
1673+ chown -R root:root /etc/neutron/rootwrap.d
1674+ chmod 0755 /etc/neutron/rootwrap.d
1675+
1676+ if [ -f /etc/sudoers.d/neutron_sudoers ] ; then
1677+ chmod 0440 /etc/sudoers.d/neutron_sudoers
1678+ fi
1679+fi
1680+
1681+#DEBHELPER#
1682
1683=== added file 'debian/neutron-dhcp-agent.install'
1684--- debian/neutron-dhcp-agent.install 1970-01-01 00:00:00 +0000
1685+++ debian/neutron-dhcp-agent.install 2014-02-21 16:49:36 +0000
1686@@ -0,0 +1,4 @@
1687+debian/cron.d/neutron-dhcp-agent-netns-cleanup etc/cron.d
1688+etc/dhcp_agent.ini etc/neutron
1689+etc/neutron/rootwrap.d/dhcp.filters etc/neutron/rootwrap.d
1690+usr/bin/neutron-dhcp-agent usr/bin
1691
1692=== added file 'debian/neutron-dhcp-agent.logrotate'
1693--- debian/neutron-dhcp-agent.logrotate 1970-01-01 00:00:00 +0000
1694+++ debian/neutron-dhcp-agent.logrotate 2014-02-21 16:49:36 +0000
1695@@ -0,0 +1,7 @@
1696+/var/log/neutron/dhcp-agent.log {
1697+ daily
1698+ missingok
1699+ compress
1700+ delaycompress
1701+ notifempty
1702+}
1703
1704=== added file 'debian/neutron-dhcp-agent.upstart'
1705--- debian/neutron-dhcp-agent.upstart 1970-01-01 00:00:00 +0000
1706+++ debian/neutron-dhcp-agent.upstart 2014-02-21 16:49:36 +0000
1707@@ -0,0 +1,22 @@
1708+# vim:set ft=upstart ts=2 et:
1709+description "Neutron DHCP Agent"
1710+author "Chuck Short <zulcss@ubuntu.com>"
1711+
1712+start on runlevel [2345]
1713+stop on runlevel [!2345]
1714+
1715+respawn
1716+
1717+chdir /var/run
1718+
1719+pre-start script
1720+ mkdir -p /var/run/neutron
1721+ chown neutron:root /var/run/neutron
1722+ # Check to see if openvswitch plugin in use by checking
1723+ # status of cleanup upstart configuration
1724+ if status neutron-ovs-cleanup; then
1725+ start wait-for-state WAIT_FOR=neutron-ovs-cleanup WAIT_STATE=running WAITER=neutron-dhcp-agent
1726+ fi
1727+end script
1728+
1729+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-dhcp-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/dhcp_agent.ini --log-file=/var/log/neutron/dhcp-agent.log
1730
1731=== added file 'debian/neutron-l3-agent.install'
1732--- debian/neutron-l3-agent.install 1970-01-01 00:00:00 +0000
1733+++ debian/neutron-l3-agent.install 2014-02-21 16:49:36 +0000
1734@@ -0,0 +1,4 @@
1735+debian/cron.d/neutron-l3-agent-netns-cleanup etc/cron.d
1736+etc/l3_agent.ini etc/neutron
1737+etc/neutron/rootwrap.d/l3.filters etc/neutron/rootwrap.d
1738+usr/bin/neutron-l3-agent usr/bin
1739
1740=== added file 'debian/neutron-l3-agent.logrotate'
1741--- debian/neutron-l3-agent.logrotate 1970-01-01 00:00:00 +0000
1742+++ debian/neutron-l3-agent.logrotate 2014-02-21 16:49:36 +0000
1743@@ -0,0 +1,7 @@
1744+/var/log/neutron/l3-agent.log {
1745+ daily
1746+ missingok
1747+ compress
1748+ delaycompress
1749+ notifempty
1750+}
1751
1752=== added file 'debian/neutron-l3-agent.upstart'
1753--- debian/neutron-l3-agent.upstart 1970-01-01 00:00:00 +0000
1754+++ debian/neutron-l3-agent.upstart 2014-02-21 16:49:36 +0000
1755@@ -0,0 +1,22 @@
1756+# vim:set ft=upstart ts=2 et:
1757+description "Neutron L3 Agent"
1758+author "Chuck Short <zulcss@ubuntu.com>"
1759+
1760+start on runlevel [2345]
1761+stop on runlevel [!2345]
1762+
1763+respawn
1764+
1765+chdir /var/run
1766+
1767+pre-start script
1768+ mkdir -p /var/run/neutron
1769+ chown neutron:root /var/run/neutron
1770+ # Check to see if openvswitch plugin in use by checking
1771+ # status of cleanup upstart configuration
1772+ if status neutron-ovs-cleanup; then
1773+ start wait-for-state WAIT_FOR=neutron-ovs-cleanup WAIT_STATE=running WAITER=neutron-l3-agent
1774+ fi
1775+end script
1776+
1777+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-l3-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/l3_agent.ini --log-file=/var/log/neutron/l3-agent.log
1778
1779=== added file 'debian/neutron-lbaas-agent.install'
1780--- debian/neutron-lbaas-agent.install 1970-01-01 00:00:00 +0000
1781+++ debian/neutron-lbaas-agent.install 2014-02-21 16:49:36 +0000
1782@@ -0,0 +1,4 @@
1783+debian/cron.d/neutron-lbaas-agent-netns-cleanup etc/cron.d
1784+etc/lbaas_agent.ini etc/neutron
1785+etc/neutron/rootwrap.d/lbaas-haproxy.filters etc/neutron/rootwrap.d
1786+usr/bin/neutron-lbaas-agent usr/bin
1787
1788=== added file 'debian/neutron-lbaas-agent.logrotate'
1789--- debian/neutron-lbaas-agent.logrotate 1970-01-01 00:00:00 +0000
1790+++ debian/neutron-lbaas-agent.logrotate 2014-02-21 16:49:36 +0000
1791@@ -0,0 +1,7 @@
1792+/var/log/neutron/lbaas-agent.log {
1793+ daily
1794+ missingok
1795+ compress
1796+ delaycompress
1797+ notifempty
1798+}
1799
1800=== added file 'debian/neutron-lbaas-agent.upstart'
1801--- debian/neutron-lbaas-agent.upstart 1970-01-01 00:00:00 +0000
1802+++ debian/neutron-lbaas-agent.upstart 2014-02-21 16:49:36 +0000
1803@@ -0,0 +1,17 @@
1804+# vim:set ft=upstart ts=2 et:
1805+description "Neutron LBaaS Agent"
1806+author "Chuck Short <zulcss@ubuntu.com>"
1807+
1808+start on runlevel [2345]
1809+stop on runlevel [!2345]
1810+
1811+respawn
1812+
1813+chdir /var/run
1814+
1815+pre-start script
1816+ mkdir -p /var/run/neutron
1817+ chown neutron:root /var/run/neutron
1818+end script
1819+
1820+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-lbaas-agent -- --config-file=/etc/neutron/lbaas_agent.ini --config-file=/etc/neutron/neutron.conf --log-file=/var/log/neutron/lbaas-agent.log
1821
1822=== added file 'debian/neutron-metadata-agent.install'
1823--- debian/neutron-metadata-agent.install 1970-01-01 00:00:00 +0000
1824+++ debian/neutron-metadata-agent.install 2014-02-21 16:49:36 +0000
1825@@ -0,0 +1,3 @@
1826+etc/metadata_agent.ini etc/neutron
1827+usr/bin/neutron-metadata-agent usr/bin
1828+usr/bin/neutron-ns-metadata-proxy usr/bin
1829
1830=== added file 'debian/neutron-metadata-agent.logrotate'
1831--- debian/neutron-metadata-agent.logrotate 1970-01-01 00:00:00 +0000
1832+++ debian/neutron-metadata-agent.logrotate 2014-02-21 16:49:36 +0000
1833@@ -0,0 +1,7 @@
1834+/var/log/neutron/metadata-agent.log {
1835+ daily
1836+ missingok
1837+ compress
1838+ delaycompress
1839+ notifempty
1840+}
1841
1842=== added file 'debian/neutron-metadata-agent.upstart'
1843--- debian/neutron-metadata-agent.upstart 1970-01-01 00:00:00 +0000
1844+++ debian/neutron-metadata-agent.upstart 2014-02-21 16:49:36 +0000
1845@@ -0,0 +1,19 @@
1846+# vim:set ft=upstart ts=2 et:
1847+description "Neutron Metadata Plugin Agent"
1848+author "Yolanda Robla <yolanda.robla@canonical.com>"
1849+
1850+start on runlevel [2345]
1851+stop on runlevel [!2345]
1852+
1853+respawn
1854+
1855+chdir /var/run
1856+
1857+pre-start script
1858+ mkdir -p /var/run/neutron
1859+ chown neutron:root /var/run/neutron
1860+end script
1861+
1862+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-metadata-agent -- \
1863+ --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/metadata_agent.ini \
1864+ --log-file=/var/log/neutron/metadata-agent.log
1865
1866=== added file 'debian/neutron-plugin-bigswitch.install'
1867--- debian/neutron-plugin-bigswitch.install 1970-01-01 00:00:00 +0000
1868+++ debian/neutron-plugin-bigswitch.install 2014-02-21 16:49:36 +0000
1869@@ -0,0 +1,1 @@
1870+etc/neutron/plugins/bigswitch/* etc/neutron/plugins/bigswitch
1871
1872=== added file 'debian/neutron-plugin-brocade.install'
1873--- debian/neutron-plugin-brocade.install 1970-01-01 00:00:00 +0000
1874+++ debian/neutron-plugin-brocade.install 2014-02-21 16:49:36 +0000
1875@@ -0,0 +1,1 @@
1876+etc/neutron/plugins/brocade/* etc/neutron/plugins/brocade
1877
1878=== added file 'debian/neutron-plugin-cisco.install'
1879--- debian/neutron-plugin-cisco.install 1970-01-01 00:00:00 +0000
1880+++ debian/neutron-plugin-cisco.install 2014-02-21 16:49:36 +0000
1881@@ -0,0 +1,1 @@
1882+etc/neutron/plugins/cisco/* etc/neutron/plugins/cisco
1883
1884=== added file 'debian/neutron-plugin-hyperv.install'
1885--- debian/neutron-plugin-hyperv.install 1970-01-01 00:00:00 +0000
1886+++ debian/neutron-plugin-hyperv.install 2014-02-21 16:49:36 +0000
1887@@ -0,0 +1,2 @@
1888+etc/neutron/plugins/hyperv/* etc/neutron/plugins/hyperv
1889+usr/bin/neutron-hyperv-agent usr/bin
1890
1891=== added file 'debian/neutron-plugin-linuxbridge-agent.install'
1892--- debian/neutron-plugin-linuxbridge-agent.install 1970-01-01 00:00:00 +0000
1893+++ debian/neutron-plugin-linuxbridge-agent.install 2014-02-21 16:49:36 +0000
1894@@ -0,0 +1,2 @@
1895+etc/neutron/rootwrap.d/linuxbridge-plugin.filters etc/neutron/rootwrap.d
1896+usr/bin/neutron-linuxbridge-agent usr/bin
1897
1898=== added file 'debian/neutron-plugin-linuxbridge-agent.logrotate'
1899--- debian/neutron-plugin-linuxbridge-agent.logrotate 1970-01-01 00:00:00 +0000
1900+++ debian/neutron-plugin-linuxbridge-agent.logrotate 2014-02-21 16:49:36 +0000
1901@@ -0,0 +1,7 @@
1902+/var/log/neutron/linuxbridge-agent.log {
1903+ daily
1904+ missingok
1905+ compress
1906+ delaycompress
1907+ notifempty
1908+}
1909
1910=== added file 'debian/neutron-plugin-linuxbridge-agent.manpages'
1911--- debian/neutron-plugin-linuxbridge-agent.manpages 1970-01-01 00:00:00 +0000
1912+++ debian/neutron-plugin-linuxbridge-agent.manpages 2014-02-21 16:49:36 +0000
1913@@ -0,0 +1,1 @@
1914+debian/mans/neutron-linuxbridge-agent.8
1915
1916=== added file 'debian/neutron-plugin-linuxbridge-agent.upstart'
1917--- debian/neutron-plugin-linuxbridge-agent.upstart 1970-01-01 00:00:00 +0000
1918+++ debian/neutron-plugin-linuxbridge-agent.upstart 2014-02-21 16:49:36 +0000
1919@@ -0,0 +1,17 @@
1920+# vim:set ft=upstart ts=2 et:
1921+description "Neutron API Server"
1922+author "Chuck Short <zulcss@ubuntu.com>"
1923+
1924+start on runlevel [2345]
1925+stop on runlevel [!2345]
1926+
1927+respawn
1928+
1929+chdir /var/run
1930+
1931+pre-start script
1932+ mkdir -p /var/run/neutron
1933+ chown neutron:root /var/run/neutron
1934+end script
1935+
1936+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-linuxbridge-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini --log-file=/var/log/neutron/linuxbridge-agent.log
1937
1938=== added file 'debian/neutron-plugin-linuxbridge.install'
1939--- debian/neutron-plugin-linuxbridge.install 1970-01-01 00:00:00 +0000
1940+++ debian/neutron-plugin-linuxbridge.install 2014-02-21 16:49:36 +0000
1941@@ -0,0 +1,1 @@
1942+etc/neutron/plugins/linuxbridge/* etc/neutron/plugins/linuxbridge
1943
1944=== added file 'debian/neutron-plugin-metaplugin.install'
1945--- debian/neutron-plugin-metaplugin.install 1970-01-01 00:00:00 +0000
1946+++ debian/neutron-plugin-metaplugin.install 2014-02-21 16:49:36 +0000
1947@@ -0,0 +1,1 @@
1948+etc/neutron/plugins/metaplugin/* etc/neutron/plugins/metaplugin
1949
1950=== added file 'debian/neutron-plugin-metering-agent.install'
1951--- debian/neutron-plugin-metering-agent.install 1970-01-01 00:00:00 +0000
1952+++ debian/neutron-plugin-metering-agent.install 2014-02-21 16:49:36 +0000
1953@@ -0,0 +1,2 @@
1954+etc/metering_agent.ini etc/neutron
1955+usr/bin/neutron-metering-agent usr/bin
1956
1957=== added file 'debian/neutron-plugin-metering-agent.upstart'
1958--- debian/neutron-plugin-metering-agent.upstart 1970-01-01 00:00:00 +0000
1959+++ debian/neutron-plugin-metering-agent.upstart 2014-02-21 16:49:36 +0000
1960@@ -0,0 +1,19 @@
1961+# vim:set ft=upstart ts=2 et:
1962+description "Neutron metering agent"
1963+author "Chuck Short <zulcss@ubuntu.com>"
1964+
1965+start on runlevel [2345]
1966+stop on runlevel [!2345]
1967+
1968+respawn
1969+
1970+chdir /var/run
1971+
1972+pre-start script
1973+ mkdir -p /var/run/neutron
1974+ chown neutron:root /var/run/neutron
1975+end script
1976+
1977+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-metering-agent -- \
1978+ --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/metering_agent.ini \
1979+ --log-file=/var/log/neutron/metering_agent.log
1980
1981=== added file 'debian/neutron-plugin-midonet.install'
1982--- debian/neutron-plugin-midonet.install 1970-01-01 00:00:00 +0000
1983+++ debian/neutron-plugin-midonet.install 2014-02-21 16:49:36 +0000
1984@@ -0,0 +1,1 @@
1985+etc/neutron/plugins/midonet/* etc/neutron/plugins/midonet
1986
1987=== added file 'debian/neutron-plugin-ml2.install'
1988--- debian/neutron-plugin-ml2.install 1970-01-01 00:00:00 +0000
1989+++ debian/neutron-plugin-ml2.install 2014-02-21 16:49:36 +0000
1990@@ -0,0 +1,1 @@
1991+etc/neutron/plugins/ml2/* etc/neutron/plugins/ml2
1992
1993=== added file 'debian/neutron-plugin-mlnx-agent.install'
1994--- debian/neutron-plugin-mlnx-agent.install 1970-01-01 00:00:00 +0000
1995+++ debian/neutron-plugin-mlnx-agent.install 2014-02-21 16:49:36 +0000
1996@@ -0,0 +1,2 @@
1997+etc/neutron/plugins/mlnx/* etc/neutron/plugins/mlnx
1998+usr/bin/neutron-mlnx-agent usr/bin
1999
2000=== added file 'debian/neutron-plugin-mlnx-agent.upstart'
2001--- debian/neutron-plugin-mlnx-agent.upstart 1970-01-01 00:00:00 +0000
2002+++ debian/neutron-plugin-mlnx-agent.upstart 2014-02-21 16:49:36 +0000
2003@@ -0,0 +1,19 @@
2004+# vim:set ft=upstart ts=2 et:
2005+description "Neutron MLNX Plugin Agent"
2006+author "Chuck Short <zulcss@ubuntu.com>"
2007+
2008+start on runlevel [2345]
2009+stop on runlevel [!2345]
2010+
2011+respawn
2012+
2013+chdir /var/run
2014+
2015+pre-start script
2016+ mkdir -p /var/run/neutron
2017+ chown neutron:root /var/run/neutron
2018+end script
2019+
2020+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-mlnx-agent -- \
2021+ --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/mlnx/mlnx_conf.ini \
2022+ --log-file=/var/log/neutron/mlnx_conf.log
2023
2024=== added file 'debian/neutron-plugin-nec-agent.install'
2025--- debian/neutron-plugin-nec-agent.install 1970-01-01 00:00:00 +0000
2026+++ debian/neutron-plugin-nec-agent.install 2014-02-21 16:49:36 +0000
2027@@ -0,0 +1,2 @@
2028+etc/neutron/rootwrap.d/nec-plugin.filters etc/neutron/rootwrap.d
2029+usr/bin/neutron-nec-agent usr/bin
2030
2031=== added file 'debian/neutron-plugin-nec-agent.logrotate'
2032--- debian/neutron-plugin-nec-agent.logrotate 1970-01-01 00:00:00 +0000
2033+++ debian/neutron-plugin-nec-agent.logrotate 2014-02-21 16:49:36 +0000
2034@@ -0,0 +1,7 @@
2035+/var/log/neutron/nec-agent.log {
2036+ daily
2037+ missingok
2038+ compress
2039+ delaycompress
2040+ notifempty
2041+}
2042
2043=== added file 'debian/neutron-plugin-nec-agent.manpages'
2044--- debian/neutron-plugin-nec-agent.manpages 1970-01-01 00:00:00 +0000
2045+++ debian/neutron-plugin-nec-agent.manpages 2014-02-21 16:49:36 +0000
2046@@ -0,0 +1,1 @@
2047+debian/mans/neutron-nec-agent.8
2048
2049=== added file 'debian/neutron-plugin-nec-agent.upstart'
2050--- debian/neutron-plugin-nec-agent.upstart 1970-01-01 00:00:00 +0000
2051+++ debian/neutron-plugin-nec-agent.upstart 2014-02-21 16:49:36 +0000
2052@@ -0,0 +1,17 @@
2053+# vim:set ft=upstart ts=2 et:
2054+description "Neutron NEC Plugin Agent"
2055+author "Chuck Short <zulcss@ubuntu.com>"
2056+
2057+start on runlevel [2345]
2058+stop on runlevel [!2345]
2059+
2060+respawn
2061+
2062+chdir /var/run
2063+
2064+pre-start script
2065+ mkdir -p /var/run/neutron
2066+ chown neutron:root /var/run/neutron
2067+end script
2068+
2069+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-nec-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/nec/nec.ini --log-file=/var/log/neutron/nec-agent.log
2070
2071=== added file 'debian/neutron-plugin-nec.install'
2072--- debian/neutron-plugin-nec.install 1970-01-01 00:00:00 +0000
2073+++ debian/neutron-plugin-nec.install 2014-02-21 16:49:36 +0000
2074@@ -0,0 +1,1 @@
2075+etc/neutron/plugins/nec/* etc/neutron/plugins/nec
2076
2077=== added file 'debian/neutron-plugin-nicira.install'
2078--- debian/neutron-plugin-nicira.install 1970-01-01 00:00:00 +0000
2079+++ debian/neutron-plugin-nicira.install 2014-02-21 16:49:36 +0000
2080@@ -0,0 +1,3 @@
2081+etc/neutron/plugins/nicira/* etc/neutron/plugins/nicira
2082+usr/bin/neutron-check-nvp-config usr/bin
2083+usr/bin/neutron-check-nsx-config usr/bin
2084
2085=== added file 'debian/neutron-plugin-openvswitch-agent.install'
2086--- debian/neutron-plugin-openvswitch-agent.install 1970-01-01 00:00:00 +0000
2087+++ debian/neutron-plugin-openvswitch-agent.install 2014-02-21 16:49:36 +0000
2088@@ -0,0 +1,2 @@
2089+etc/neutron/rootwrap.d/openvswitch-plugin.filters etc/neutron/rootwrap.d
2090+usr/bin/neutron-openvswitch-agent usr/bin
2091
2092=== added file 'debian/neutron-plugin-openvswitch-agent.logrotate'
2093--- debian/neutron-plugin-openvswitch-agent.logrotate 1970-01-01 00:00:00 +0000
2094+++ debian/neutron-plugin-openvswitch-agent.logrotate 2014-02-21 16:49:36 +0000
2095@@ -0,0 +1,7 @@
2096+/var/log/neutron/openvswitch-agent.log {
2097+ daily
2098+ missingok
2099+ compress
2100+ delaycompress
2101+ notifempty
2102+}
2103
2104=== added file 'debian/neutron-plugin-openvswitch-agent.manpages'
2105--- debian/neutron-plugin-openvswitch-agent.manpages 1970-01-01 00:00:00 +0000
2106+++ debian/neutron-plugin-openvswitch-agent.manpages 2014-02-21 16:49:36 +0000
2107@@ -0,0 +1,1 @@
2108+debian/mans/neutron-openvswitch-agent.8
2109
2110=== added file 'debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart'
2111--- debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart 1970-01-01 00:00:00 +0000
2112+++ debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart 2014-02-21 16:49:36 +0000
2113@@ -0,0 +1,13 @@
2114+# vim:set ft=upstart ts=2 et:
2115+description "Neutron OVS cleanup"
2116+author "James Page <james.page@ubuntu.com>"
2117+
2118+start on started openvswitch-switch
2119+stop on runlevel [!2345]
2120+
2121+pre-start script
2122+ [ ! -x /usr/bin/neutron-ovs-cleanup ] && exit 0
2123+ start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-ovs-cleanup -- \
2124+ --log-file /var/log/neutron/ovs-cleanup.log \
2125+ --config-file /etc/neutron/neutron.conf --verbose
2126+end script
2127
2128=== added file 'debian/neutron-plugin-openvswitch-agent.upstart'
2129--- debian/neutron-plugin-openvswitch-agent.upstart 1970-01-01 00:00:00 +0000
2130+++ debian/neutron-plugin-openvswitch-agent.upstart 2014-02-21 16:49:36 +0000
2131@@ -0,0 +1,17 @@
2132+# vim:set ft=upstart ts=2 et:
2133+description "Neutron OpenvSwitch Plugin Agent"
2134+author "Chuck Short <zulcss@ubuntu.com>"
2135+
2136+start on runlevel [2345] and started neutron-ovs-cleanup
2137+stop on runlevel [!2345]
2138+
2139+respawn
2140+
2141+chdir /var/run
2142+
2143+pre-start script
2144+ mkdir -p /var/run/neutron
2145+ chown neutron:root /var/run/neutron
2146+end script
2147+
2148+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-openvswitch-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ml2/ml2_conf.ini --log-file=/var/log/neutron/openvswitch-agent.log
2149
2150=== added file 'debian/neutron-plugin-openvswitch.install'
2151--- debian/neutron-plugin-openvswitch.install 1970-01-01 00:00:00 +0000
2152+++ debian/neutron-plugin-openvswitch.install 2014-02-21 16:49:36 +0000
2153@@ -0,0 +1,1 @@
2154+etc/neutron/plugins/openvswitch/* etc/neutron/plugins/openvswitch
2155
2156=== added file 'debian/neutron-plugin-plumgrid.install'
2157--- debian/neutron-plugin-plumgrid.install 1970-01-01 00:00:00 +0000
2158+++ debian/neutron-plugin-plumgrid.install 2014-02-21 16:49:36 +0000
2159@@ -0,0 +1,1 @@
2160+etc/neutron/plugins/plumgrid/* etc/neutron/plugins/plumgrid
2161
2162=== added file 'debian/neutron-plugin-ryu-agent.install'
2163--- debian/neutron-plugin-ryu-agent.install 1970-01-01 00:00:00 +0000
2164+++ debian/neutron-plugin-ryu-agent.install 2014-02-21 16:49:36 +0000
2165@@ -0,0 +1,2 @@
2166+etc/neutron/rootwrap.d/ryu-plugin.filters etc/neutron/rootwrap.d
2167+usr/bin/neutron-ryu-agent usr/bin
2168
2169=== added file 'debian/neutron-plugin-ryu-agent.logrotate'
2170--- debian/neutron-plugin-ryu-agent.logrotate 1970-01-01 00:00:00 +0000
2171+++ debian/neutron-plugin-ryu-agent.logrotate 2014-02-21 16:49:36 +0000
2172@@ -0,0 +1,7 @@
2173+/var/log/neutron/ryu-agent.log {
2174+ daily
2175+ missingok
2176+ compress
2177+ delaycompress
2178+ notifempty
2179+}
2180
2181=== added file 'debian/neutron-plugin-ryu-agent.manpages'
2182--- debian/neutron-plugin-ryu-agent.manpages 1970-01-01 00:00:00 +0000
2183+++ debian/neutron-plugin-ryu-agent.manpages 2014-02-21 16:49:36 +0000
2184@@ -0,0 +1,1 @@
2185+debian/mans/neutron-ryu-agent.8
2186
2187=== added file 'debian/neutron-plugin-ryu-agent.upstart'
2188--- debian/neutron-plugin-ryu-agent.upstart 1970-01-01 00:00:00 +0000
2189+++ debian/neutron-plugin-ryu-agent.upstart 2014-02-21 16:49:36 +0000
2190@@ -0,0 +1,17 @@
2191+# vim:set ft=upstart ts=2 et:
2192+description "Neutron RYU Plugin Agent"
2193+author "Chuck Short <zulcss@ubuntu.com>"
2194+
2195+start on runlevel [2345]
2196+stop on runlevel [!2345]
2197+
2198+respawn
2199+
2200+chdir /var/run
2201+
2202+pre-start script
2203+ mkdir -p /var/run/neutron
2204+ chown neutron:root /var/run/neutron
2205+end script
2206+
2207+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-ryu-agent -- --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/ryu/ryu.ini --log-file=/var/log/neutron/ryu-agent.log
2208
2209=== added file 'debian/neutron-plugin-ryu.install'
2210--- debian/neutron-plugin-ryu.install 1970-01-01 00:00:00 +0000
2211+++ debian/neutron-plugin-ryu.install 2014-02-21 16:49:36 +0000
2212@@ -0,0 +1,1 @@
2213+etc/neutron/plugins/ryu/* etc/neutron/plugins/ryu
2214
2215=== added file 'debian/neutron-plugin-vpn-agent.install'
2216--- debian/neutron-plugin-vpn-agent.install 1970-01-01 00:00:00 +0000
2217+++ debian/neutron-plugin-vpn-agent.install 2014-02-21 16:49:36 +0000
2218@@ -0,0 +1,2 @@
2219+etc/vpn_agent.ini etc/neutron
2220+usr/bin/neutron-vpn-agent usr/bin
2221
2222=== added file 'debian/neutron-plugin-vpn-agent.upstart'
2223--- debian/neutron-plugin-vpn-agent.upstart 1970-01-01 00:00:00 +0000
2224+++ debian/neutron-plugin-vpn-agent.upstart 2014-02-21 16:49:36 +0000
2225@@ -0,0 +1,19 @@
2226+# vim:set ft=upstart ts=2 et:
2227+description "Neutron vpn Plugin Agent"
2228+author "Chuck Short <zulcss@ubuntu.com>"
2229+
2230+start on runlevel [2345]
2231+stop on runlevel [!2345]
2232+
2233+respawn
2234+
2235+chdir /var/run
2236+
2237+pre-start script
2238+ mkdir -p /var/run/neutron
2239+ chown neutron:root /var/run/neutron
2240+end script
2241+
2242+exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-vpn-agent -- \
2243+ --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/vpn_agent.ini \
2244+ --log-file=/var/log/neutron/vpn_agent.log
2245
2246=== added file 'debian/neutron-server.default'
2247--- debian/neutron-server.default 1970-01-01 00:00:00 +0000
2248+++ debian/neutron-server.default 2014-02-21 16:49:36 +0000
2249@@ -0,0 +1,5 @@
2250+# defaults for neutron-server
2251+
2252+# path to config file corresponding to the core_plugin specified in
2253+# neutron.conf
2254+NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"
2255
2256=== added file 'debian/neutron-server.install'
2257--- debian/neutron-server.install 1970-01-01 00:00:00 +0000
2258+++ debian/neutron-server.install 2014-02-21 16:49:36 +0000
2259@@ -0,0 +1,1 @@
2260+usr/bin/neutron-server usr/bin
2261
2262=== added file 'debian/neutron-server.logrotate'
2263--- debian/neutron-server.logrotate 1970-01-01 00:00:00 +0000
2264+++ debian/neutron-server.logrotate 2014-02-21 16:49:36 +0000
2265@@ -0,0 +1,7 @@
2266+/var/log/neutron/server.log {
2267+ daily
2268+ missingok
2269+ compress
2270+ delaycompress
2271+ notifempty
2272+}
2273
2274=== added file 'debian/neutron-server.manpages'
2275--- debian/neutron-server.manpages 1970-01-01 00:00:00 +0000
2276+++ debian/neutron-server.manpages 2014-02-21 16:49:36 +0000
2277@@ -0,0 +1,2 @@
2278+debian/mans/neutron-server.8
2279+debian/mans/neutron-rootwrap.8
2280
2281=== added file 'debian/neutron-server.upstart'
2282--- debian/neutron-server.upstart 1970-01-01 00:00:00 +0000
2283+++ debian/neutron-server.upstart 2014-02-21 16:49:36 +0000
2284@@ -0,0 +1,23 @@
2285+# vim:set ft=upstart ts=2 et:
2286+description "Neutron API Server"
2287+author "Chuck Short <zulcss@ubuntu.com>"
2288+
2289+start on runlevel [2345]
2290+stop on runlevel [!2345]
2291+
2292+respawn
2293+
2294+chdir /var/run
2295+
2296+pre-start script
2297+ mkdir -p /var/run/neutron
2298+ chown neutron:root /var/run/neutron
2299+end script
2300+
2301+script
2302+ [ -r /etc/default/neutron-server ] && . /etc/default/neutron-server
2303+ [ -r "$NEUTRON_PLUGIN_CONFIG" ] && CONF_ARG="--config-file $NEUTRON_PLUGIN_CONFIG"
2304+ exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-server -- \
2305+ --config-file /etc/neutron/neutron.conf \
2306+ --log-file /var/log/neutron/server.log $CONF_ARG
2307+end script
2308
2309=== added file 'debian/neutron_sudoers'
2310--- debian/neutron_sudoers 1970-01-01 00:00:00 +0000
2311+++ debian/neutron_sudoers 2014-02-21 16:49:36 +0000
2312@@ -0,0 +1,3 @@
2313+Defaults:neutron !requiretty
2314+
2315+neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap
2316
2317=== added directory 'debian/patches'
2318=== added file 'debian/patches/disable-failing-cisco-test.patch'
2319--- debian/patches/disable-failing-cisco-test.patch 1970-01-01 00:00:00 +0000
2320+++ debian/patches/disable-failing-cisco-test.patch 2014-02-21 16:49:36 +0000
2321@@ -0,0 +1,25 @@
2322+Description: Skip failing cisco test
2323+ ======================================================================
2324+ FAIL: neutron.tests.unit.ml2.drivers.test_cisco_mech.TestCiscoBasicGet.test_single_get_admin
2325+ neutron.tests.unit.ml2.drivers.test_cisco_mech.TestCiscoBasicGet.test_single_get_admin
2326+ ----------------------------------------------------------------------
2327+ _StringException
2328+
2329+ ----------------------------------------------------------------------
2330+Author: James Page <james.page@ubuntu.com>
2331+Forwarded: not-needed
2332+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1262195
2333+
2334+--- a/neutron/tests/unit/ml2/drivers/test_cisco_mech.py
2335++++ b/neutron/tests/unit/ml2/drivers/test_cisco_mech.py
2336+@@ -147,8 +147,8 @@ class CiscoML2MechanismTestCase(test_db_
2337+
2338+ class TestCiscoBasicGet(CiscoML2MechanismTestCase,
2339+ test_db_plugin.TestBasicGet):
2340+-
2341+- pass
2342++ def test_single_get_admin(self):
2343++ pass
2344+
2345+
2346+ class TestCiscoV2HTTPResponse(CiscoML2MechanismTestCase,
2347
2348=== added file 'debian/patches/disable-failing-metaplugin-tests.patch'
2349--- debian/patches/disable-failing-metaplugin-tests.patch 1970-01-01 00:00:00 +0000
2350+++ debian/patches/disable-failing-metaplugin-tests.patch 2014-02-21 16:49:36 +0000
2351@@ -0,0 +1,67 @@
2352+Description: Disable failing metaplugin tests
2353+ Some metaplugin tests are currently failing in Ubuntu; patch
2354+ then out until they get resolved in full.
2355+Author: James Page <james.page@ubuntu.com>
2356+Forwarded: not-needed
2357+Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1262174
2358+
2359+--- a/neutron/tests/unit/metaplugin/test_basic.py
2360++++ b/neutron/tests/unit/metaplugin/test_basic.py
2361+@@ -43,7 +43,14 @@ class TestMetaBasicGet(test_plugin.TestB
2362+
2363+ class TestMetaV2HTTPResponse(test_plugin.TestV2HTTPResponse,
2364+ MetaPluginV2DBTestCase):
2365+- pass
2366++ def test_list_with_fields_noadmin(self):
2367++ pass
2368++
2369++ def test_list_with_fields(self):
2370++ pass
2371++
2372++ def test_list_with_fields_noadmin_and_policy_field(self):
2373++ pass
2374+
2375+
2376+ class TestMetaPortsV2(test_plugin.TestPortsV2,
2377+@@ -53,7 +60,30 @@ class TestMetaPortsV2(test_plugin.TestPo
2378+
2379+ class TestMetaNetworksV2(test_plugin.TestNetworksV2,
2380+ MetaPluginV2DBTestCase):
2381+- pass
2382++
2383++ def test_list_networks_without_pk_in_fields_pagination_emulated(self):
2384++ pass
2385++
2386++ def test_list_shared_networks_with_non_admin_user(self):
2387++ pass
2388++
2389++ def test_list_networks_with_pagination_emulated(self):
2390++ pass
2391++
2392++ def test_list_networks_with_sort_emulated(self):
2393++ pass
2394++
2395++ def test_list_networks_with_pagination_reverse_emulated(self):
2396++ pass
2397++
2398++ def test_list_networks_with_parameters(self):
2399++ pass
2400++
2401++ def test_list_networks_with_fields(self):
2402++ pass
2403++
2404++ def test_list_networks(self):
2405++ pass
2406+
2407+
2408+ class TestMetaSubnetsV2(test_plugin.TestSubnetsV2,
2409+--- a/neutron/tests/unit/metaplugin/test_metaplugin.py
2410++++ b/neutron/tests/unit/metaplugin/test_metaplugin.py
2411+@@ -144,6 +144,7 @@ class MetaNeutronPluginV2Test(base.BaseT
2412+ return data
2413+
2414+ def test_create_delete_network(self):
2415++ return
2416+ network1 = self._fake_network('fake1')
2417+ ret1 = self.plugin.create_network(self.context, network1)
2418+ self.assertEqual('fake1', ret1[FLAVOR_NETWORK])
2419
2420=== added file 'debian/patches/disable-udev-tests.patch'
2421--- debian/patches/disable-udev-tests.patch 1970-01-01 00:00:00 +0000
2422+++ debian/patches/disable-udev-tests.patch 2014-02-21 16:49:36 +0000
2423@@ -0,0 +1,1008 @@
2424+Description: Disable udev tests
2425+ udev is not always avaliable in Ubuntu buildds; skip tests that
2426+ want to use this feature.
2427+Author: Chuck Short <zulcss@ubuntu.com>
2428+Fowarded: not-needed
2429+diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py
2430+--- neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py 2014-01-23 10:13:25.000000000 -0500
2431++++ neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py 2014-02-03 08:53:04.409255073 -0500
2432+@@ -46,6 +46,7 @@ class FakeIpDevice(object):
2433+ class TestLinuxBridge(base.BaseTestCase):
2434+
2435+ def setUp(self):
2436++ self.skipTest("udev not consistently available in Ubuntu buildds")
2437+ super(TestLinuxBridge, self).setUp()
2438+ self.addCleanup(cfg.CONF.reset)
2439+ interface_mappings = {'physnet1': 'eth1'}
2440+@@ -109,6 +110,7 @@ class TestLinuxBridgeAgent(base.BaseTest
2441+ self.get_mac.return_value = '00:00:00:00:00:01'
2442+
2443+ def test_update_devices_failed(self):
2444++ self.skipTest("udev not consistently available in Ubuntu buildds")
2445+ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
2446+ 0,
2447+ None)
2448+@@ -130,6 +132,7 @@ class TestLinuxBridgeAgent(base.BaseTest
2449+ self.assertEqual(3, log.call_count)
2450+
2451+ def test_process_network_devices_failed(self):
2452++ self.skipTest("udev not consistently available in Ubuntu buildds")
2453+ device_info = {'current': [1, 2, 3]}
2454+ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
2455+ 0,
2456+@@ -158,6 +161,7 @@ class TestLinuxBridgeAgent(base.BaseTest
2457+
2458+ class TestLinuxBridgeManager(base.BaseTestCase):
2459+ def setUp(self):
2460++ self.skipTest("udev not consistently available in Ubuntu buildds")
2461+ super(TestLinuxBridgeManager, self).setUp()
2462+ self.interface_mappings = {'physnet1': 'eth1'}
2463+ self.root_helper = cfg.CONF.AGENT.root_helper
2464+@@ -667,6 +671,7 @@ class TestLinuxBridgeManager(base.BaseTe
2465+
2466+ class TestLinuxBridgeRpcCallbacks(base.BaseTestCase):
2467+ def setUp(self):
2468++ self.skipTest("udev not consistently available in Ubuntu buildds")
2469+ cfg.CONF.set_override('local_ip', LOCAL_IP, 'VXLAN')
2470+ self.addCleanup(cfg.CONF.reset)
2471+ super(TestLinuxBridgeRpcCallbacks, self).setUp()
2472+diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig
2473+--- neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig 1969-12-31 19:00:00.000000000 -0500
2474++++ neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig 2014-01-23 10:13:25.000000000 -0500
2475+@@ -0,0 +1,956 @@
2476++# vim: tabstop=4 shiftwidth=4 softtabstop=4
2477++
2478++# Copyright (c) 2012 OpenStack Foundation.
2479++#
2480++# Licensed under the Apache License, Version 2.0 (the "License"); you may
2481++# not use this file except in compliance with the License. You may obtain
2482++# a copy of the License at
2483++#
2484++# http://www.apache.org/licenses/LICENSE-2.0
2485++#
2486++# Unless required by applicable law or agreed to in writing, software
2487++# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
2488++# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
2489++# License for the specific language governing permissions and limitations
2490++# under the License.
2491++
2492++import contextlib
2493++import os
2494++
2495++import mock
2496++from oslo.config import cfg
2497++import testtools
2498++
2499++from neutron.agent.linux import ip_lib
2500++from neutron.agent.linux import utils
2501++from neutron.common import constants
2502++from neutron.openstack.common.rpc import common as rpc_common
2503++from neutron.plugins.common import constants as p_const
2504++from neutron.plugins.linuxbridge.agent import linuxbridge_neutron_agent
2505++from neutron.plugins.linuxbridge.common import constants as lconst
2506++from neutron.tests import base
2507++
2508++LOCAL_IP = '192.168.0.33'
2509++
2510++
2511++class FakeIpLinkCommand(object):
2512++ def set_up(self):
2513++ pass
2514++
2515++
2516++class FakeIpDevice(object):
2517++ def __init__(self):
2518++ self.link = FakeIpLinkCommand()
2519++
2520++
2521++class TestLinuxBridge(base.BaseTestCase):
2522++
2523++ def setUp(self):
2524++ super(TestLinuxBridge, self).setUp()
2525++ self.addCleanup(cfg.CONF.reset)
2526++ interface_mappings = {'physnet1': 'eth1'}
2527++ root_helper = cfg.CONF.AGENT.root_helper
2528++
2529++ self.linux_bridge = linuxbridge_neutron_agent.LinuxBridgeManager(
2530++ interface_mappings, root_helper)
2531++
2532++ def test_ensure_physical_in_bridge_invalid(self):
2533++ result = self.linux_bridge.ensure_physical_in_bridge('network_id',
2534++ p_const.TYPE_VLAN,
2535++ 'physnetx',
2536++ 7)
2537++ self.assertFalse(result)
2538++
2539++ def test_ensure_physical_in_bridge_flat(self):
2540++ with mock.patch.object(self.linux_bridge,
2541++ 'ensure_flat_bridge') as flat_bridge_func:
2542++ self.linux_bridge.ensure_physical_in_bridge(
2543++ 'network_id', p_const.TYPE_FLAT, 'physnet1', None)
2544++ self.assertTrue(flat_bridge_func.called)
2545++
2546++ def test_ensure_physical_in_bridge_vlan(self):
2547++ with mock.patch.object(self.linux_bridge,
2548++ 'ensure_vlan_bridge') as vlan_bridge_func:
2549++ self.linux_bridge.ensure_physical_in_bridge(
2550++ 'network_id', p_const.TYPE_VLAN, 'physnet1', 7)
2551++ self.assertTrue(vlan_bridge_func.called)
2552++
2553++ def test_ensure_physical_in_bridge_vxlan(self):
2554++ self.linux_bridge.vxlan_mode = lconst.VXLAN_UCAST
2555++ with mock.patch.object(self.linux_bridge,
2556++ 'ensure_vxlan_bridge') as vxlan_bridge_func:
2557++ self.linux_bridge.ensure_physical_in_bridge(
2558++ 'network_id', 'vxlan', 'physnet1', 7)
2559++ self.assertTrue(vxlan_bridge_func.called)
2560++
2561++
2562++class TestLinuxBridgeAgent(base.BaseTestCase):
2563++
2564++ LINK_SAMPLE = [
2565++ '1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue \\'
2566++ 'state UNKNOWN \\'
2567++ 'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00',
2568++ '2: eth77: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 \\'
2569++ 'qdisc mq state UP qlen 1000\ link/ether \\'
2570++ 'cc:dd:ee:ff:ab:cd brd ff:ff:ff:ff:ff:ff']
2571++
2572++ def setUp(self):
2573++ super(TestLinuxBridgeAgent, self).setUp()
2574++ cfg.CONF.set_override('rpc_backend',
2575++ 'neutron.openstack.common.rpc.impl_fake')
2576++ self.execute_p = mock.patch.object(ip_lib.IPWrapper, '_execute')
2577++ self.execute = self.execute_p.start()
2578++ self.addCleanup(self.execute_p.stop)
2579++ self.execute.return_value = '\n'.join(self.LINK_SAMPLE)
2580++ self.get_mac_p = mock.patch('neutron.agent.linux.utils.'
2581++ 'get_interface_mac')
2582++ self.get_mac = self.get_mac_p.start()
2583++ self.addCleanup(self.get_mac_p.stop)
2584++ self.get_mac.return_value = '00:00:00:00:00:01'
2585++
2586++ def test_update_devices_failed(self):
2587++ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
2588++ 0,
2589++ None)
2590++ raise_exception = [0]
2591++
2592++ def info_mock(msg):
2593++ if raise_exception[0] < 2:
2594++ raise_exception[0] += 1
2595++ else:
2596++ raise RuntimeError()
2597++ with mock.patch.object(agent.br_mgr,
2598++ "update_devices") as update_devices:
2599++ update_devices.side_effect = RuntimeError
2600++ with mock.patch.object(linuxbridge_neutron_agent.LOG,
2601++ 'info') as log:
2602++ log.side_effect = info_mock
2603++ with testtools.ExpectedException(RuntimeError):
2604++ agent.daemon_loop()
2605++ self.assertEqual(3, log.call_count)
2606++
2607++ def test_process_network_devices_failed(self):
2608++ device_info = {'current': [1, 2, 3]}
2609++ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
2610++ 0,
2611++ None)
2612++ raise_exception = [0]
2613++
2614++ def info_mock(msg):
2615++ if raise_exception[0] < 2:
2616++ raise_exception[0] += 1
2617++ else:
2618++ raise RuntimeError()
2619++
2620++ with mock.patch.object(agent.br_mgr,
2621++ "update_devices") as update_devices:
2622++ update_devices.side_effect = device_info
2623++ with contextlib.nested(
2624++ mock.patch.object(linuxbridge_neutron_agent.LOG, 'info'),
2625++ mock.patch.object(agent, 'process_network_devices')
2626++ ) as (log, process_network_devices):
2627++ log.side_effect = info_mock
2628++ process_network_devices.side_effect = RuntimeError
2629++ with testtools.ExpectedException(RuntimeError):
2630++ agent.daemon_loop()
2631++ self.assertEqual(3, log.call_count)
2632++
2633++
2634++class TestLinuxBridgeManager(base.BaseTestCase):
2635++ def setUp(self):
2636++ super(TestLinuxBridgeManager, self).setUp()
2637++ self.interface_mappings = {'physnet1': 'eth1'}
2638++ self.root_helper = cfg.CONF.AGENT.root_helper
2639++
2640++ self.lbm = linuxbridge_neutron_agent.LinuxBridgeManager(
2641++ self.interface_mappings, self.root_helper)
2642++
2643++ def test_device_exists(self):
2644++ with mock.patch.object(utils, 'execute') as execute_fn:
2645++ self.assertTrue(self.lbm.device_exists("eth0"))
2646++ execute_fn.side_effect = RuntimeError()
2647++ self.assertFalse(self.lbm.device_exists("eth0"))
2648++
2649++ def test_interface_exists_on_bridge(self):
2650++ with mock.patch.object(os, 'listdir') as listdir_fn:
2651++ listdir_fn.return_value = ["abc"]
2652++ self.assertTrue(
2653++ self.lbm.interface_exists_on_bridge("br-int", "abc")
2654++ )
2655++ self.assertFalse(
2656++ self.lbm.interface_exists_on_bridge("br-int", "abd")
2657++ )
2658++
2659++ def test_get_bridge_name(self):
2660++ nw_id = "123456789101112"
2661++ self.assertEqual(self.lbm.get_bridge_name(nw_id),
2662++ "brq" + nw_id[0:11])
2663++ nw_id = ""
2664++ self.assertEqual(self.lbm.get_bridge_name(nw_id),
2665++ "brq")
2666++
2667++ def test_get_subinterface_name(self):
2668++ self.assertEqual(self.lbm.get_subinterface_name("eth0", "0"),
2669++ "eth0.0")
2670++ self.assertEqual(self.lbm.get_subinterface_name("eth0", ""),
2671++ "eth0.")
2672++
2673++ def test_get_tap_device_name(self):
2674++ if_id = "123456789101112"
2675++ self.assertEqual(self.lbm.get_tap_device_name(if_id),
2676++ "tap" + if_id[0:11])
2677++ if_id = ""
2678++ self.assertEqual(self.lbm.get_tap_device_name(if_id),
2679++ "tap")
2680++
2681++ def test_get_vxlan_device_name(self):
2682++ vn_id = constants.MAX_VXLAN_VNI
2683++ self.assertEqual(self.lbm.get_vxlan_device_name(vn_id),
2684++ "vxlan-" + str(vn_id))
2685++ self.assertIsNone(self.lbm.get_vxlan_device_name(vn_id + 1))
2686++
2687++ def test_get_all_neutron_bridges(self):
2688++ br_list = ["br-int", "brq1", "brq2", "br-ex"]
2689++ with mock.patch.object(os, 'listdir') as listdir_fn:
2690++ listdir_fn.return_value = br_list
2691++ self.assertEqual(self.lbm.get_all_neutron_bridges(),
2692++ br_list[1:3])
2693++ self.assertTrue(listdir_fn.called)
2694++
2695++ def test_get_interfaces_on_bridge(self):
2696++ with contextlib.nested(
2697++ mock.patch.object(utils, 'execute'),
2698++ mock.patch.object(os, 'listdir')
2699++ ) as (exec_fn, listdir_fn):
2700++ listdir_fn.return_value = ["qbr1"]
2701++ self.assertEqual(self.lbm.get_interfaces_on_bridge("br0"),
2702++ ["qbr1"])
2703++
2704++ def test_get_tap_devices_count(self):
2705++ with mock.patch.object(os, 'listdir') as listdir_fn:
2706++ listdir_fn.return_value = ['tap2101', 'eth0.100', 'vxlan-1000']
2707++ self.assertEqual(self.lbm.get_tap_devices_count('br0'), 1)
2708++ listdir_fn.side_effect = OSError()
2709++ self.assertEqual(self.lbm.get_tap_devices_count('br0'), 0)
2710++
2711++ def test_get_interface_by_ip(self):
2712++ with contextlib.nested(
2713++ mock.patch.object(ip_lib.IPWrapper, 'get_devices'),
2714++ mock.patch.object(ip_lib.IpAddrCommand, 'list')
2715++ ) as (get_dev_fn, ip_list_fn):
2716++ device = mock.Mock()
2717++ device.name = 'dev_name'
2718++ get_dev_fn.return_value = [device]
2719++ ip_list_fn.returnvalue = mock.Mock()
2720++ self.assertEqual(self.lbm.get_interface_by_ip(LOCAL_IP),
2721++ 'dev_name')
2722++
2723++ def test_get_bridge_for_tap_device(self):
2724++ with contextlib.nested(
2725++ mock.patch.object(self.lbm, "get_all_neutron_bridges"),
2726++ mock.patch.object(self.lbm, "get_interfaces_on_bridge")
2727++ ) as (get_all_qbr_fn, get_if_fn):
2728++ get_all_qbr_fn.return_value = ["br-int", "br-ex"]
2729++ get_if_fn.return_value = ["tap1", "tap2", "tap3"]
2730++ self.assertEqual(self.lbm.get_bridge_for_tap_device("tap1"),
2731++ "br-int")
2732++ self.assertIsNone(self.lbm.get_bridge_for_tap_device("tap4"))
2733++
2734++ def test_is_device_on_bridge(self):
2735++ self.assertTrue(not self.lbm.is_device_on_bridge(""))
2736++ with mock.patch.object(os.path, 'exists') as exists_fn:
2737++ exists_fn.return_value = True
2738++ self.assertTrue(self.lbm.is_device_on_bridge("tap1"))
2739++ exists_fn.assert_called_with(
2740++ "/sys/devices/virtual/net/tap1/brport"
2741++ )
2742++
2743++ def test_get_interface_details(self):
2744++ with contextlib.nested(
2745++ mock.patch.object(ip_lib.IpAddrCommand, 'list'),
2746++ mock.patch.object(ip_lib.IpRouteCommand, 'get_gateway')
2747++ ) as (list_fn, getgw_fn):
2748++ gwdict = dict(gateway='1.1.1.1')
2749++ getgw_fn.return_value = gwdict
2750++ ipdict = dict(cidr='1.1.1.1/24',
2751++ broadcast='1.1.1.255',
2752++ scope='global',
2753++ ip_version=4,
2754++ dynamic=False)
2755++ list_fn.return_value = ipdict
2756++ ret = self.lbm.get_interface_details("eth0")
2757++
2758++ self.assertTrue(list_fn.called)
2759++ self.assertTrue(getgw_fn.called)
2760++ self.assertEqual(ret, (ipdict, gwdict))
2761++
2762++ def test_ensure_flat_bridge(self):
2763++ with contextlib.nested(
2764++ mock.patch.object(ip_lib.IpAddrCommand, 'list'),
2765++ mock.patch.object(ip_lib.IpRouteCommand, 'get_gateway')
2766++ ) as (list_fn, getgw_fn):
2767++ gwdict = dict(gateway='1.1.1.1')
2768++ getgw_fn.return_value = gwdict
2769++ ipdict = dict(cidr='1.1.1.1/24',
2770++ broadcast='1.1.1.255',
2771++ scope='global',
2772++ ip_version=4,
2773++ dynamic=False)
2774++ list_fn.return_value = ipdict
2775++ with mock.patch.object(self.lbm, 'ensure_bridge') as ens:
2776++ self.assertEqual(
2777++ self.lbm.ensure_flat_bridge("123", "eth0"),
2778++ "eth0"
2779++ )
2780++ self.assertTrue(list_fn.called)
2781++ self.assertTrue(getgw_fn.called)
2782++ ens.assert_called_once_with("brq123", "eth0",
2783++ ipdict, gwdict)
2784++
2785++ def test_ensure_vlan_bridge(self):
2786++ with contextlib.nested(
2787++ mock.patch.object(self.lbm, 'ensure_vlan'),
2788++ mock.patch.object(self.lbm, 'ensure_bridge'),
2789++ mock.patch.object(self.lbm, 'get_interface_details'),
2790++ ) as (ens_vl_fn, ens, get_int_det_fn):
2791++ ens_vl_fn.return_value = "eth0.1"
2792++ get_int_det_fn.return_value = (None, None)
2793++ self.assertEqual(self.lbm.ensure_vlan_bridge("123", "eth0", "1"),
2794++ "eth0.1")
2795++ ens.assert_called_with("brq123", "eth0.1", None, None)
2796++
2797++ get_int_det_fn.return_value = ("ips", "gateway")
2798++ self.assertEqual(self.lbm.ensure_vlan_bridge("123", "eth0", "1"),
2799++ "eth0.1")
2800++ ens.assert_called_with("brq123", "eth0.1", "ips", "gateway")
2801++
2802++ def test_ensure_local_bridge(self):
2803++ with mock.patch.object(self.lbm, 'ensure_bridge') as ens_fn:
2804++ self.lbm.ensure_local_bridge("54321")
2805++ ens_fn.assert_called_once_with("brq54321")
2806++
2807++ def test_ensure_vlan(self):
2808++ with mock.patch.object(self.lbm, 'device_exists') as de_fn:
2809++ de_fn.return_value = True
2810++ self.assertEqual(self.lbm.ensure_vlan("eth0", "1"), "eth0.1")
2811++ de_fn.return_value = False
2812++ with mock.patch.object(utils, 'execute') as exec_fn:
2813++ exec_fn.return_value = False
2814++ self.assertEqual(self.lbm.ensure_vlan("eth0", "1"), "eth0.1")
2815++ exec_fn.assert_called_twice()
2816++ exec_fn.return_value = True
2817++ self.assertIsNone(self.lbm.ensure_vlan("eth0", "1"))
2818++ exec_fn.assert_called_once()
2819++
2820++ def test_ensure_vxlan(self):
2821++ seg_id = "12345678"
2822++ self.lbm.local_int = 'eth0'
2823++ self.lbm.vxlan_mode = lconst.VXLAN_MCAST
2824++ with mock.patch.object(self.lbm, 'device_exists') as de_fn:
2825++ de_fn.return_value = True
2826++ self.assertEqual(self.lbm.ensure_vxlan(seg_id), "vxlan-" + seg_id)
2827++ de_fn.return_value = False
2828++ with mock.patch.object(self.lbm.ip,
2829++ 'add_vxlan') as add_vxlan_fn:
2830++ add_vxlan_fn.return_value = FakeIpDevice()
2831++ self.assertEqual(self.lbm.ensure_vxlan(seg_id),
2832++ "vxlan-" + seg_id)
2833++ add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
2834++ group="224.0.0.1",
2835++ dev=self.lbm.local_int)
2836++ cfg.CONF.set_override('l2_population', 'True', 'VXLAN')
2837++ self.assertEqual(self.lbm.ensure_vxlan(seg_id),
2838++ "vxlan-" + seg_id)
2839++ add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
2840++ group="224.0.0.1",
2841++ dev=self.lbm.local_int,
2842++ proxy=True)
2843++
2844++ def test_update_interface_ip_details(self):
2845++ gwdict = dict(gateway='1.1.1.1',
2846++ metric=50)
2847++ ipdict = dict(cidr='1.1.1.1/24',
2848++ broadcast='1.1.1.255',
2849++ scope='global',
2850++ ip_version=4,
2851++ dynamic=False)
2852++ with contextlib.nested(
2853++ mock.patch.object(ip_lib.IpAddrCommand, 'add'),
2854++ mock.patch.object(ip_lib.IpAddrCommand, 'delete')
2855++ ) as (add_fn, del_fn):
2856++ self.lbm.update_interface_ip_details("br0", "eth0",
2857++ [ipdict], None)
2858++ self.assertTrue(add_fn.called)
2859++ self.assertTrue(del_fn.called)
2860++
2861++ with contextlib.nested(
2862++ mock.patch.object(ip_lib.IpRouteCommand, 'add_gateway'),
2863++ mock.patch.object(ip_lib.IpRouteCommand, 'delete_gateway')
2864++ ) as (addgw_fn, delgw_fn):
2865++ self.lbm.update_interface_ip_details("br0", "eth0",
2866++ None, gwdict)
2867++ self.assertTrue(addgw_fn.called)
2868++ self.assertTrue(delgw_fn.called)
2869++
2870++ def test_ensure_bridge(self):
2871++ with contextlib.nested(
2872++ mock.patch.object(self.lbm, 'device_exists'),
2873++ mock.patch.object(utils, 'execute'),
2874++ mock.patch.object(self.lbm, 'update_interface_ip_details'),
2875++ mock.patch.object(self.lbm, 'interface_exists_on_bridge'),
2876++ mock.patch.object(self.lbm, 'is_device_on_bridge'),
2877++ mock.patch.object(self.lbm, 'get_bridge_for_tap_device'),
2878++ ) as (de_fn, exec_fn, upd_fn, ie_fn, if_br_fn, get_if_br_fn):
2879++ de_fn.return_value = False
2880++ exec_fn.return_value = False
2881++ self.assertEqual(self.lbm.ensure_bridge("br0", None), "br0")
2882++ ie_fn.return_Value = False
2883++ self.lbm.ensure_bridge("br0", "eth0")
2884++ upd_fn.assert_called_with("br0", "eth0", None, None)
2885++ ie_fn.assert_called_with("br0", "eth0")
2886++
2887++ self.lbm.ensure_bridge("br0", "eth0", "ips", "gateway")
2888++ upd_fn.assert_called_with("br0", "eth0", "ips", "gateway")
2889++ ie_fn.assert_called_with("br0", "eth0")
2890++
2891++ exec_fn.side_effect = Exception()
2892++ de_fn.return_value = True
2893++ self.lbm.ensure_bridge("br0", "eth0")
2894++ ie_fn.assert_called_with("br0", "eth0")
2895++
2896++ exec_fn.reset_mock()
2897++ exec_fn.side_effect = None
2898++ de_fn.return_value = True
2899++ ie_fn.return_value = False
2900++ get_if_br_fn.return_value = "br1"
2901++ self.lbm.ensure_bridge("br0", "eth0")
2902++ expected = [
2903++ mock.call(['brctl', 'delif', 'br1', 'eth0'],
2904++ root_helper=self.root_helper),
2905++ mock.call(['brctl', 'addif', 'br0', 'eth0'],
2906++ root_helper=self.root_helper),
2907++ ]
2908++ exec_fn.assert_has_calls(expected)
2909++
2910++ def test_ensure_physical_in_bridge(self):
2911++ self.assertFalse(
2912++ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VLAN,
2913++ "phys", "1")
2914++ )
2915++ with mock.patch.object(self.lbm, "ensure_flat_bridge") as flbr_fn:
2916++ self.assertTrue(
2917++ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_FLAT,
2918++ "physnet1", None)
2919++ )
2920++ self.assertTrue(flbr_fn.called)
2921++ with mock.patch.object(self.lbm, "ensure_vlan_bridge") as vlbr_fn:
2922++ self.assertTrue(
2923++ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VLAN,
2924++ "physnet1", "1")
2925++ )
2926++ self.assertTrue(vlbr_fn.called)
2927++
2928++ with mock.patch.object(self.lbm, "ensure_vxlan_bridge") as vlbr_fn:
2929++ self.lbm.vxlan_mode = lconst.VXLAN_MCAST
2930++ self.assertTrue(
2931++ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VXLAN,
2932++ "physnet1", "1")
2933++ )
2934++ self.assertTrue(vlbr_fn.called)
2935++
2936++ def test_add_tap_interface(self):
2937++ with mock.patch.object(self.lbm, "device_exists") as de_fn:
2938++ de_fn.return_value = False
2939++ self.assertFalse(
2940++ self.lbm.add_tap_interface("123", p_const.TYPE_VLAN,
2941++ "physnet1", "1", "tap1")
2942++ )
2943++
2944++ de_fn.return_value = True
2945++ with contextlib.nested(
2946++ mock.patch.object(self.lbm, "ensure_local_bridge"),
2947++ mock.patch.object(utils, "execute"),
2948++ mock.patch.object(self.lbm, "get_bridge_for_tap_device")
2949++ ) as (en_fn, exec_fn, get_br):
2950++ exec_fn.return_value = False
2951++ get_br.return_value = True
2952++ self.assertTrue(self.lbm.add_tap_interface("123",
2953++ p_const.TYPE_LOCAL,
2954++ "physnet1", None,
2955++ "tap1"))
2956++ en_fn.assert_called_with("123")
2957++
2958++ get_br.return_value = False
2959++ exec_fn.return_value = True
2960++ self.assertFalse(self.lbm.add_tap_interface("123",
2961++ p_const.TYPE_LOCAL,
2962++ "physnet1", None,
2963++ "tap1"))
2964++
2965++ with mock.patch.object(self.lbm,
2966++ "ensure_physical_in_bridge") as ens_fn:
2967++ ens_fn.return_value = False
2968++ self.assertFalse(self.lbm.add_tap_interface("123",
2969++ p_const.TYPE_VLAN,
2970++ "physnet1", "1",
2971++ "tap1"))
2972++
2973++ def test_add_interface(self):
2974++ with mock.patch.object(self.lbm, "add_tap_interface") as add_tap:
2975++ self.lbm.add_interface("123", p_const.TYPE_VLAN, "physnet-1",
2976++ "1", "234")
2977++ add_tap.assert_called_with("123", p_const.TYPE_VLAN, "physnet-1",
2978++ "1", "tap234")
2979++
2980++ def test_delete_vlan_bridge(self):
2981++ with contextlib.nested(
2982++ mock.patch.object(self.lbm, "device_exists"),
2983++ mock.patch.object(self.lbm, "get_interfaces_on_bridge"),
2984++ mock.patch.object(self.lbm, "remove_interface"),
2985++ mock.patch.object(self.lbm, "get_interface_details"),
2986++ mock.patch.object(self.lbm, "update_interface_ip_details"),
2987++ mock.patch.object(self.lbm, "delete_vlan"),
2988++ mock.patch.object(self.lbm, "delete_vxlan"),
2989++ mock.patch.object(utils, "execute")
2990++ ) as (de_fn, getif_fn, remif_fn, if_det_fn,
2991++ updif_fn, del_vlan, del_vxlan, exec_fn):
2992++ de_fn.return_value = False
2993++ self.lbm.delete_vlan_bridge("br0")
2994++ self.assertFalse(getif_fn.called)
2995++
2996++ de_fn.return_value = True
2997++ getif_fn.return_value = ["eth0", "eth1.1", "eth1", "vxlan-1002"]
2998++ if_det_fn.return_value = ("ips", "gateway")
2999++ exec_fn.return_value = False
3000++ self.lbm.delete_vlan_bridge("br0")
3001++ updif_fn.assert_called_with("eth1", "br0", "ips", "gateway")
3002++ del_vlan.assert_called_with("eth1.1")
3003++ del_vxlan.assert_called_with("vxlan-1002")
3004++
3005++ def test_delete_vxlan_bridge_no_int_mappings(self):
3006++ interface_mappings = {}
3007++ lbm = linuxbridge_neutron_agent.LinuxBridgeManager(
3008++ interface_mappings, self.root_helper)
3009++
3010++ with contextlib.nested(
3011++ mock.patch.object(lbm, "device_exists"),
3012++ mock.patch.object(lbm, "get_interfaces_on_bridge"),
3013++ mock.patch.object(lbm, "remove_interface"),
3014++ mock.patch.object(lbm, "delete_vxlan"),
3015++ mock.patch.object(utils, "execute")
3016++ ) as (de_fn, getif_fn, remif_fn, del_vxlan, exec_fn):
3017++ de_fn.return_value = False
3018++ lbm.delete_vlan_bridge("br0")
3019++ self.assertFalse(getif_fn.called)
3020++
3021++ de_fn.return_value = True
3022++ getif_fn.return_value = ["vxlan-1002"]
3023++ exec_fn.return_value = False
3024++ lbm.delete_vlan_bridge("br0")
3025++ del_vxlan.assert_called_with("vxlan-1002")
3026++
3027++ def test_remove_empty_bridges(self):
3028++ self.lbm.network_map = {'net1': mock.Mock(), 'net2': mock.Mock()}
3029++
3030++ def tap_count_side_effect(*args):
3031++ return 0 if args[0] == 'brqnet1' else 1
3032++
3033++ with contextlib.nested(
3034++ mock.patch.object(self.lbm, "delete_vlan_bridge"),
3035++ mock.patch.object(self.lbm, "get_tap_devices_count",
3036++ side_effect=tap_count_side_effect),
3037++ ) as (del_br_fn, count_tap_fn):
3038++ self.lbm.remove_empty_bridges()
3039++ del_br_fn.assert_called_once_with('brqnet1')
3040++
3041++ def test_remove_interface(self):
3042++ with contextlib.nested(
3043++ mock.patch.object(self.lbm, "device_exists"),
3044++ mock.patch.object(self.lbm, "is_device_on_bridge"),
3045++ mock.patch.object(utils, "execute")
3046++ ) as (de_fn, isdev_fn, exec_fn):
3047++ de_fn.return_value = False
3048++ self.assertFalse(self.lbm.remove_interface("br0", "eth0"))
3049++ self.assertFalse(isdev_fn.called)
3050++
3051++ de_fn.return_value = True
3052++ isdev_fn.return_value = False
3053++ self.assertTrue(self.lbm.remove_interface("br0", "eth0"))
3054++
3055++ isdev_fn.return_value = True
3056++ exec_fn.return_value = True
3057++ self.assertFalse(self.lbm.remove_interface("br0", "eth0"))
3058++
3059++ exec_fn.return_value = False
3060++ self.assertTrue(self.lbm.remove_interface("br0", "eth0"))
3061++
3062++ def test_delete_vlan(self):
3063++ with contextlib.nested(
3064++ mock.patch.object(self.lbm, "device_exists"),
3065++ mock.patch.object(utils, "execute")
3066++ ) as (de_fn, exec_fn):
3067++ de_fn.return_value = False
3068++ self.lbm.delete_vlan("eth1.1")
3069++ self.assertFalse(exec_fn.called)
3070++
3071++ de_fn.return_value = True
3072++ exec_fn.return_value = False
3073++ self.lbm.delete_vlan("eth1.1")
3074++ self.assertTrue(exec_fn.called)
3075++
3076++ def test_update_devices(self):
3077++ with mock.patch.object(self.lbm, "udev_get_tap_devices") as gt_fn:
3078++ gt_fn.return_value = set(["dev1"])
3079++ self.assertIsNone(self.lbm.update_devices(set(["dev1"])))
3080++
3081++ gt_fn.return_value = set(["dev1", "dev2"])
3082++ self.assertEqual(self.lbm.update_devices(set(["dev2", "dev3"])),
3083++ {"current": set(["dev1", "dev2"]),
3084++ "added": set(["dev1"]),
3085++ "removed": set(["dev3"])
3086++ })
3087++
3088++ def _check_vxlan_support(self, kernel_version, vxlan_proxy_supported,
3089++ fdb_append_supported, l2_population,
3090++ expected_mode):
3091++ def iproute_supported_side_effect(*args):
3092++ if args[1] == 'proxy':
3093++ return vxlan_proxy_supported
3094++ elif args[1] == 'append':
3095++ return fdb_append_supported
3096++
3097++ with contextlib.nested(
3098++ mock.patch("platform.release", return_value=kernel_version),
3099++ mock.patch.object(ip_lib, 'iproute_arg_supported',
3100++ side_effect=iproute_supported_side_effect),
3101++ ) as (kver_fn, ip_arg_fn):
3102++ self.lbm.check_vxlan_support()
3103++ self.assertEqual(self.lbm.vxlan_mode, expected_mode)
3104++
3105++ def test_vxlan_mode_ucast(self):
3106++ self._check_vxlan_support(kernel_version='3.12',
3107++ vxlan_proxy_supported=True,
3108++ fdb_append_supported=True,
3109++ l2_population=True,
3110++ expected_mode=lconst.VXLAN_MCAST)
3111++
3112++ def test_vxlan_mode_mcast(self):
3113++ self._check_vxlan_support(kernel_version='3.12',
3114++ vxlan_proxy_supported=True,
3115++ fdb_append_supported=False,
3116++ l2_population=True,
3117++ expected_mode=lconst.VXLAN_MCAST)
3118++ self._check_vxlan_support(kernel_version='3.10',
3119++ vxlan_proxy_supported=True,
3120++ fdb_append_supported=True,
3121++ l2_population=True,
3122++ expected_mode=lconst.VXLAN_MCAST)
3123++
3124++ def test_vxlan_mode_unsupported(self):
3125++ self._check_vxlan_support(kernel_version='3.7',
3126++ vxlan_proxy_supported=True,
3127++ fdb_append_supported=True,
3128++ l2_population=False,
3129++ expected_mode=lconst.VXLAN_NONE)
3130++ self._check_vxlan_support(kernel_version='3.10',
3131++ vxlan_proxy_supported=False,
3132++ fdb_append_supported=False,
3133++ l2_population=False,
3134++ expected_mode=lconst.VXLAN_NONE)
3135++ cfg.CONF.set_override('vxlan_group', '', 'VXLAN')
3136++ self._check_vxlan_support(kernel_version='3.12',
3137++ vxlan_proxy_supported=True,
3138++ fdb_append_supported=True,
3139++ l2_population=True,
3140++ expected_mode=lconst.VXLAN_NONE)
3141++
3142++
3143++class TestLinuxBridgeRpcCallbacks(base.BaseTestCase):
3144++ def setUp(self):
3145++ cfg.CONF.set_override('local_ip', LOCAL_IP, 'VXLAN')
3146++ self.addCleanup(cfg.CONF.reset)
3147++ super(TestLinuxBridgeRpcCallbacks, self).setUp()
3148++
3149++ self.u_execute_p = mock.patch('neutron.agent.linux.utils.execute')
3150++ self.u_execute = self.u_execute_p.start()
3151++ self.addCleanup(self.u_execute_p.stop)
3152++
3153++ class FakeLBAgent(object):
3154++ def __init__(self):
3155++ self.agent_id = 1
3156++ self.br_mgr = (linuxbridge_neutron_agent.
3157++ LinuxBridgeManager({'physnet1': 'eth1'},
3158++ cfg.CONF.AGENT.root_helper))
3159++
3160++ self.br_mgr.vxlan_mode = lconst.VXLAN_UCAST
3161++ segment = mock.Mock()
3162++ segment.network_type = 'vxlan'
3163++ segment.segmentation_id = 1
3164++ self.br_mgr.network_map['net_id'] = segment
3165++
3166++ self.lb_rpc = linuxbridge_neutron_agent.LinuxBridgeRpcCallbacks(
3167++ object(),
3168++ FakeLBAgent()
3169++ )
3170++
3171++ self.root_helper = cfg.CONF.AGENT.root_helper
3172++
3173++ def test_network_delete(self):
3174++ with contextlib.nested(
3175++ mock.patch.object(self.lb_rpc.agent.br_mgr, "get_bridge_name"),
3176++ mock.patch.object(self.lb_rpc.agent.br_mgr, "delete_vlan_bridge")
3177++ ) as (get_br_fn, del_fn):
3178++ get_br_fn.return_value = "br0"
3179++ self.lb_rpc.network_delete("anycontext", network_id="123")
3180++ get_br_fn.assert_called_with("123")
3181++ del_fn.assert_called_with("br0")
3182++
3183++ def test_port_update(self):
3184++ with contextlib.nested(
3185++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3186++ "get_tap_device_name"),
3187++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3188++ "udev_get_tap_devices"),
3189++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3190++ "get_bridge_name"),
3191++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3192++ "remove_interface"),
3193++ mock.patch.object(self.lb_rpc.agent.br_mgr, "add_interface"),
3194++ mock.patch.object(self.lb_rpc.agent,
3195++ "plugin_rpc", create=True),
3196++ mock.patch.object(self.lb_rpc.sg_agent,
3197++ "refresh_firewall", create=True)
3198++ ) as (get_tap_fn, udev_fn, getbr_fn, remif_fn,
3199++ addif_fn, rpc_obj, reffw_fn):
3200++ get_tap_fn.return_value = "tap123"
3201++ udev_fn.return_value = ["tap123", "tap124"]
3202++ port = {"admin_state_up": True,
3203++ "id": "1234-5678",
3204++ "network_id": "123-123"}
3205++ self.lb_rpc.port_update("unused_context", port=port,
3206++ vlan_id="1", physical_network="physnet1")
3207++ self.assertFalse(reffw_fn.called)
3208++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_VLAN,
3209++ "physnet1", "1", port["id"])
3210++
3211++ self.lb_rpc.port_update("unused_context", port=port,
3212++ network_type=p_const.TYPE_VLAN,
3213++ segmentation_id="2",
3214++ physical_network="physnet1")
3215++ self.assertFalse(reffw_fn.called)
3216++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_VLAN,
3217++ "physnet1", "2", port["id"])
3218++
3219++ self.lb_rpc.port_update("unused_context", port=port,
3220++ vlan_id=lconst.FLAT_VLAN_ID,
3221++ physical_network="physnet1")
3222++ self.assertFalse(reffw_fn.called)
3223++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_FLAT,
3224++ "physnet1", None, port["id"])
3225++
3226++ self.lb_rpc.port_update("unused_context", port=port,
3227++ network_type=p_const.TYPE_FLAT,
3228++ segmentation_id=None,
3229++ physical_network="physnet1")
3230++ self.assertFalse(reffw_fn.called)
3231++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_FLAT,
3232++ "physnet1", None, port["id"])
3233++
3234++ self.lb_rpc.port_update("unused_context", port=port,
3235++ vlan_id=lconst.LOCAL_VLAN_ID,
3236++ physical_network=None)
3237++ self.assertFalse(reffw_fn.called)
3238++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_LOCAL,
3239++ None, None, port["id"])
3240++
3241++ self.lb_rpc.port_update("unused_context", port=port,
3242++ network_type=p_const.TYPE_LOCAL,
3243++ segmentation_id=None,
3244++ physical_network=None)
3245++ self.assertFalse(reffw_fn.called)
3246++ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_LOCAL,
3247++ None, None, port["id"])
3248++
3249++ addif_fn.return_value = True
3250++ self.lb_rpc.port_update("unused_context", port=port,
3251++ network_type=p_const.TYPE_LOCAL,
3252++ segmentation_id=None,
3253++ physical_network=None)
3254++ rpc_obj.update_device_up.assert_called_with(
3255++ self.lb_rpc.context,
3256++ "tap123",
3257++ self.lb_rpc.agent.agent_id,
3258++ cfg.CONF.host
3259++ )
3260++
3261++ addif_fn.return_value = False
3262++ self.lb_rpc.port_update("unused_context", port=port,
3263++ network_type=p_const.TYPE_LOCAL,
3264++ segmentation_id=None,
3265++ physical_network=None)
3266++ rpc_obj.update_device_down.assert_called_with(
3267++ self.lb_rpc.context,
3268++ "tap123",
3269++ self.lb_rpc.agent.agent_id,
3270++ cfg.CONF.host
3271++ )
3272++
3273++ port["admin_state_up"] = False
3274++ port["security_groups"] = True
3275++ getbr_fn.return_value = "br0"
3276++ self.lb_rpc.port_update("unused_context", port=port,
3277++ vlan_id="1", physical_network="physnet1")
3278++ self.assertTrue(reffw_fn.called)
3279++ remif_fn.assert_called_with("br0", "tap123")
3280++ rpc_obj.update_device_down.assert_called_with(
3281++ self.lb_rpc.context,
3282++ "tap123",
3283++ self.lb_rpc.agent.agent_id,
3284++ cfg.CONF.host
3285++ )
3286++
3287++ def test_port_update_plugin_rpc_failed(self):
3288++ with contextlib.nested(
3289++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3290++ "get_tap_device_name"),
3291++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3292++ "udev_get_tap_devices"),
3293++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3294++ "get_bridge_name"),
3295++ mock.patch.object(self.lb_rpc.agent.br_mgr,
3296++ "remove_interface"),
3297++ mock.patch.object(self.lb_rpc.agent.br_mgr, "add_interface"),
3298++ mock.patch.object(self.lb_rpc.sg_agent,
3299++ "refresh_firewall", create=True),
3300++ mock.patch.object(self.lb_rpc.agent,
3301++ "plugin_rpc", create=True),
3302++ mock.patch.object(linuxbridge_neutron_agent.LOG, 'error'),
3303++ ) as (get_tap_fn, udev_fn, _, _, _, _, plugin_rpc, log):
3304++ get_tap_fn.return_value = "tap123"
3305++ udev_fn.return_value = ["tap123", "tap124"]
3306++ port = {"admin_state_up": True,
3307++ "id": "1234-5678",
3308++ "network_id": "123-123"}
3309++ plugin_rpc.update_device_up.side_effect = rpc_common.Timeout
3310++ self.lb_rpc.port_update(mock.Mock(), port=port)
3311++ self.assertTrue(plugin_rpc.update_device_up.called)
3312++ self.assertEqual(log.call_count, 1)
3313++
3314++ log.reset_mock()
3315++ port["admin_state_up"] = False
3316++ plugin_rpc.update_device_down.side_effect = rpc_common.Timeout
3317++ self.lb_rpc.port_update(mock.Mock(), port=port)
3318++ self.assertTrue(plugin_rpc.update_device_down.called)
3319++ self.assertEqual(log.call_count, 1)
3320++
3321++ def test_fdb_add(self):
3322++ fdb_entries = {'net_id':
3323++ {'ports':
3324++ {'agent_ip': [constants.FLOODING_ENTRY,
3325++ ['port_mac', 'port_ip']]},
3326++ 'network_type': 'vxlan',
3327++ 'segment_id': 1}}
3328++
3329++ with mock.patch.object(utils, 'execute',
3330++ return_value='') as execute_fn:
3331++ self.lb_rpc.fdb_add(None, fdb_entries)
3332++
3333++ expected = [
3334++ mock.call(['bridge', 'fdb', 'show', 'dev', 'vxlan-1'],
3335++ root_helper=self.root_helper),
3336++ mock.call(['bridge', 'fdb', 'add',
3337++ constants.FLOODING_ENTRY[0],
3338++ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
3339++ root_helper=self.root_helper,
3340++ check_exit_code=False),
3341++ mock.call(['ip', 'neigh', 'add', 'port_ip', 'lladdr',
3342++ 'port_mac', 'dev', 'vxlan-1', 'nud', 'permanent'],
3343++ root_helper=self.root_helper,
3344++ check_exit_code=False),
3345++ mock.call(['bridge', 'fdb', 'add', 'port_mac', 'dev',
3346++ 'vxlan-1', 'dst', 'agent_ip'],
3347++ root_helper=self.root_helper,
3348++ check_exit_code=False),
3349++ ]
3350++ execute_fn.assert_has_calls(expected)
3351++
3352++ def test_fdb_ignore(self):
3353++ fdb_entries = {'net_id':
3354++ {'ports':
3355++ {LOCAL_IP: [constants.FLOODING_ENTRY,
3356++ ['port_mac', 'port_ip']]},
3357++ 'network_type': 'vxlan',
3358++ 'segment_id': 1}}
3359++
3360++ with mock.patch.object(utils, 'execute',
3361++ return_value='') as execute_fn:
3362++ self.lb_rpc.fdb_add(None, fdb_entries)
3363++ self.lb_rpc.fdb_remove(None, fdb_entries)
3364++
3365++ self.assertFalse(execute_fn.called)
3366++
3367++ fdb_entries = {'other_net_id':
3368++ {'ports':
3369++ {'192.168.0.67': [constants.FLOODING_ENTRY,
3370++ ['port_mac', 'port_ip']]},
3371++ 'network_type': 'vxlan',
3372++ 'segment_id': 1}}
3373++
3374++ with mock.patch.object(utils, 'execute',
3375++ return_value='') as execute_fn:
3376++ self.lb_rpc.fdb_add(None, fdb_entries)
3377++ self.lb_rpc.fdb_remove(None, fdb_entries)
3378++
3379++ self.assertFalse(execute_fn.called)
3380++
3381++ def test_fdb_remove(self):
3382++ fdb_entries = {'net_id':
3383++ {'ports':
3384++ {'agent_ip': [constants.FLOODING_ENTRY,
3385++ ['port_mac', 'port_ip']]},
3386++ 'network_type': 'vxlan',
3387++ 'segment_id': 1}}
3388++
3389++ with mock.patch.object(utils, 'execute',
3390++ return_value='') as execute_fn:
3391++ self.lb_rpc.fdb_remove(None, fdb_entries)
3392++
3393++ expected = [
3394++ mock.call(['bridge', 'fdb', 'del',
3395++ constants.FLOODING_ENTRY[0],
3396++ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
3397++ root_helper=self.root_helper,
3398++ check_exit_code=False),
3399++ mock.call(['ip', 'neigh', 'del', 'port_ip', 'lladdr',
3400++ 'port_mac', 'dev', 'vxlan-1'],
3401++ root_helper=self.root_helper,
3402++ check_exit_code=False),
3403++ mock.call(['bridge', 'fdb', 'del', 'port_mac',
3404++ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
3405++ root_helper=self.root_helper,
3406++ check_exit_code=False),
3407++ ]
3408++ execute_fn.assert_has_calls(expected)
3409++
3410++ def test_fdb_update_chg_ip(self):
3411++ fdb_entries = {'chg_ip':
3412++ {'net_id':
3413++ {'agent_ip':
3414++ {'before': [['port_mac', 'port_ip_1']],
3415++ 'after': [['port_mac', 'port_ip_2']]}}}}
3416++
3417++ with mock.patch.object(utils, 'execute',
3418++ return_value='') as execute_fn:
3419++ self.lb_rpc.fdb_update(None, fdb_entries)
3420++
3421++ expected = [
3422++ mock.call(['ip', 'neigh', 'add', 'port_ip_2', 'lladdr',
3423++ 'port_mac', 'dev', 'vxlan-1', 'nud', 'permanent'],
3424++ root_helper=self.root_helper,
3425++ check_exit_code=False),
3426++ mock.call(['ip', 'neigh', 'del', 'port_ip_1', 'lladdr',
3427++ 'port_mac', 'dev', 'vxlan-1'],
3428++ root_helper=self.root_helper,
3429++ check_exit_code=False)
3430++ ]
3431++ execute_fn.assert_has_calls(expected)
3432
3433=== added file 'debian/patches/fix-quantum-configuration.patch'
3434--- debian/patches/fix-quantum-configuration.patch 1970-01-01 00:00:00 +0000
3435+++ debian/patches/fix-quantum-configuration.patch 2014-02-21 16:49:36 +0000
3436@@ -0,0 +1,48 @@
3437+Description: Fixes to neutron configuration for distribution.
3438+ Patch various bits of config to be more suitable for packaging.
3439+Author: James Page <james.page@ubuntu.com>
3440+Forwarded: not-needed
3441+
3442+diff --git a/etc/neutron.conf b/etc/neutron.conf
3443+index 1e2226f..a5fe086 100644
3444+--- a/etc/neutron.conf
3445++++ b/etc/neutron.conf
3446+@@ -7,7 +7,7 @@
3447+
3448+ # Where to store Neutron state files. This directory must be writable by the
3449+ # user executing the agent.
3450+-# state_path = /var/lib/neutron
3451++state_path = /var/lib/neutron
3452+
3453+ # Where to store lock files
3454+ lock_path = $state_path/lock
3455+@@ -50,7 +50,7 @@ lock_path = $state_path/lock
3456+ # previous versions, the class name of a plugin can be specified instead of its
3457+ # entrypoint name.
3458+ #
3459+-# core_plugin =
3460++core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
3461+ # Example: core_plugin = ml2
3462+
3463+ # (ListOpt) List of service plugin entrypoints to be loaded from the
3464+@@ -320,7 +320,7 @@ notification_driver = neutron.openstack.common.notifier.rpc_notifier
3465+ # Use "sudo neutron-rootwrap /etc/neutron/rootwrap.conf" to use the real
3466+ # root filter facility.
3467+ # Change to "sudo" to skip the filtering and just run the comand directly
3468+-# root_helper = sudo
3469++root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
3470+
3471+ # =========== items for agent management extension =============
3472+ # seconds between nodes reporting state to server; should be less than
3473+@@ -344,7 +344,7 @@ signing_dir = $state_path/keystone-signing
3474+ # connection = mysql://root:pass@127.0.0.1:3306/neutron
3475+ # Replace 127.0.0.1 above with the IP address of the database used by the
3476+ # main neutron server. (Leave it as is if the database runs on this host.)
3477+-# connection = sqlite://
3478++connection = sqlite:////var/lib/neutron/neutron.sqlite
3479+
3480+ # The SQLAlchemy connection string used to connect to the slave database
3481+ # slave_connection =
3482+--
3483+1.8.5.2
3484+
3485
3486=== added file 'debian/patches/series'
3487--- debian/patches/series 1970-01-01 00:00:00 +0000
3488+++ debian/patches/series 2014-02-21 16:49:36 +0000
3489@@ -0,0 +1,7 @@
3490+fix-quantum-configuration.patch
3491+disable-udev-tests.patch
3492+disable-failing-metaplugin-tests.patch
3493+#disable-failing-cisco-test.patch
3494+sql-alchemy-0.8.3-compat.patch
3495+skip-lb-test.patch
3496+skip-ipv6-tests.patch
3497
3498=== added file 'debian/patches/skip-ipv6-tests.patch'
3499--- debian/patches/skip-ipv6-tests.patch 1970-01-01 00:00:00 +0000
3500+++ debian/patches/skip-ipv6-tests.patch 2014-02-21 16:49:36 +0000
3501@@ -0,0 +1,22 @@
3502+Description: Skip ipv6 tests because they fail on the ppa buildds.
3503+Author: Chuck Short <zulcss@ubuntu.com>
3504+Forwarded: Not Needed
3505+diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/test_wsgi.py neutron-2014.1.b2/neutron/tests/unit/test_wsgi.py
3506+--- neutron-2014.1.b2.orig/neutron/tests/unit/test_wsgi.py 2014-01-23 10:13:25.000000000 -0500
3507++++ neutron-2014.1.b2/neutron/tests/unit/test_wsgi.py 2014-02-03 08:58:27.817255230 -0500
3508+@@ -64,6 +64,7 @@ class TestWSGIServer(base.BaseTestCase):
3509+ launcher.wait.assert_called_once_with()
3510+
3511+ def test_start_random_port_with_ipv6(self):
3512++ self.skipTest('Skipped by Ubuntu')
3513+ server = wsgi.Server("test_random_port")
3514+ server.start(None, 0, host="::1")
3515+ self.assertEqual("::1", server.host)
3516+@@ -1109,6 +1110,7 @@ class TestWSGIServerWithSSL(base.BaseTes
3517+ server.stop()
3518+
3519+ def test_app_using_ipv6_and_ssl(self):
3520++ self.skipTest('Skipped by Ubuntu')
3521+ CONF.set_default('use_ssl', True)
3522+ CONF.set_default("ssl_cert_file",
3523+ os.path.join(TEST_VAR_DIR, 'certificate.crt'))
3524
3525=== added file 'debian/patches/skip-lb-test.patch'
3526--- debian/patches/skip-lb-test.patch 1970-01-01 00:00:00 +0000
3527+++ debian/patches/skip-lb-test.patch 2014-02-21 16:49:36 +0000
3528@@ -0,0 +1,14 @@
3529+Description: Temporarily Skip LB test
3530+Author: Chuck Short <zulcss@ubuntu.com>
3531+Forwarded: Not Needed
3532+diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/test_provider_configuration.py neutron-2014.1.b2/neutron/tests/unit/test_provider_configuration.py
3533+--- neutron-2014.1.b2.orig/neutron/tests/unit/test_provider_configuration.py 2014-01-23 10:13:25.000000000 -0500
3534++++ neutron-2014.1.b2/neutron/tests/unit/test_provider_configuration.py 2014-01-27 11:39:28.611298704 -0500
3535+@@ -79,6 +79,7 @@ class ParseServiceProviderConfigurationT
3536+ 'default': True}])
3537+
3538+ def test_parse_service_provider_opt_not_allowed_raises(self):
3539++ self.skipTest('Skipped by Ubuntu')
3540+ cfg.CONF.set_override('service_provider',
3541+ [constants.LOADBALANCER +
3542+ ':lbaas:driver_path',
3543
3544=== added file 'debian/patches/sql-alchemy-0.8.3-compat.patch'
3545--- debian/patches/sql-alchemy-0.8.3-compat.patch 1970-01-01 00:00:00 +0000
3546+++ debian/patches/sql-alchemy-0.8.3-compat.patch 2014-02-21 16:49:36 +0000
3547@@ -0,0 +1,67 @@
3548+Description: Fix sqlalchemy 0.8.3 compat
3549+Author: Chuck Short <zulcss@ubuntu.com>
3550+Forwarded: No
3551+diff --git a/neutron/openstack/common/db/sqlalchemy/session.py b/neutron/openstack/common/db/sqlalchemy/session.py
3552+index 3279343..113424c 100644
3553+--- a/neutron/openstack/common/db/sqlalchemy/session.py
3554++++ b/neutron/openstack/common/db/sqlalchemy/session.py
3555+@@ -441,6 +441,11 @@ def get_session(autocommit=True, expire_on_commit=False,
3556+ # 1 column - (IntegrityError) column c1 is not unique
3557+ # N columns - (IntegrityError) column c1, c2, ..., N are not unique
3558+ #
3559++# sqlite since 3.7.16:
3560++# 1 column - (IntegrityError) UNIQUE constraint failed: k1
3561++#
3562++# N columns - (IntegrityError) UNIQUE constraint failed: k1, k2
3563++#
3564+ # postgres:
3565+ # 1 column - (IntegrityError) duplicate key value violates unique
3566+ # constraint "users_c1_key"
3567+@@ -453,9 +458,10 @@ def get_session(autocommit=True, expire_on_commit=False,
3568+ # N columns - (IntegrityError) (1062, "Duplicate entry 'values joined
3569+ # with -' for key 'name_of_our_constraint'")
3570+ _DUP_KEY_RE_DB = {
3571+- "sqlite": re.compile(r"^.*columns?([^)]+)(is|are)\s+not\s+unique$"),
3572+- "postgresql": re.compile(r"^.*duplicate\s+key.*\"([^\"]+)\"\s*\n.*$"),
3573+- "mysql": re.compile(r"^.*\(1062,.*'([^\']+)'\"\)$")
3574++ "sqlite": (re.compile(r"^.*columns?([^)]+)(is|are)\s+not\s+unique$"),
3575++ re.compile(r"^.*UNIQUE\s+constraint\s+failed:\s+(.+)$")),
3576++ "postgresql": (re.compile(r"^.*duplicate\s+key.*\"([^\"]+)\"\s*\n.*$"),),
3577++ "mysql": (re.compile(r"^.*\(1062,.*'([^\']+)'\"\)$"),)
3578+ }
3579+
3580+
3581+@@ -480,10 +486,14 @@ def _raise_if_duplicate_entry_error(integrity_error, engine_name):
3582+ if engine_name not in ["mysql", "sqlite", "postgresql"]:
3583+ return
3584+
3585+- m = _DUP_KEY_RE_DB[engine_name].match(integrity_error.message)
3586+- if not m:
3587++ for pattern in _DUP_KEY_RE_DB[engine_name]:
3588++ match = pattern.match(integrity_error.message)
3589++ if match:
3590++ break
3591++ else:
3592+ return
3593+- columns = m.group(1)
3594++
3595++ columns = match.group(1)
3596+
3597+ if engine_name == "sqlite":
3598+ columns = columns.strip().split(", ")
3599+diff --git a/run_tests.sh b/run_tests.sh
3600+index cc17124..06934e9 100755
3601+--- a/run_tests.sh
3602++++ b/run_tests.sh
3603+@@ -162,7 +162,7 @@ function run_pep8 {
3604+ }
3605+
3606+
3607+-TESTRTESTS="python setup.py testr"
3608++TESTRTESTS="python -m neutron.openstack.common.lockutils python setup.py testr"
3609+
3610+ if [ $never_venv -eq 0 ]
3611+ then
3612+--
3613+1.8.5.2
3614+
3615
3616=== added file 'debian/pydist-overrides'
3617--- debian/pydist-overrides 1970-01-01 00:00:00 +0000
3618+++ debian/pydist-overrides 2014-02-21 16:49:36 +0000
3619@@ -0,0 +1,3 @@
3620+quantum_server quantum-server
3621+quantum_common quantum-common
3622+setuptools-git
3623
3624=== added file 'debian/python-neutron.install'
3625--- debian/python-neutron.install 1970-01-01 00:00:00 +0000
3626+++ debian/python-neutron.install 2014-02-21 16:49:36 +0000
3627@@ -0,0 +1,1 @@
3628+usr/lib/python*/dist-packages/*
3629
3630=== added file 'debian/rules'
3631--- debian/rules 1970-01-01 00:00:00 +0000
3632+++ debian/rules 2014-02-21 16:49:36 +0000
3633@@ -0,0 +1,31 @@
3634+#!/usr/bin/make -f
3635+
3636+# Uncomment this to turn on verbose mode.
3637+#export DH_VERBOSE=1
3638+
3639+%:
3640+ dh $@ --with python2
3641+
3642+override_dh_install:
3643+ dh_install --fail-missing -X/usr/etc -X/usr/bin/quantum
3644+
3645+override_dh_installinit:
3646+ dh_installinit
3647+ dh_installinit -pneutron-plugin-openvswitch-agent --no-start --name=neutron-ovs-cleanup
3648+
3649+override_dh_auto_clean:
3650+ dh_clean
3651+
3652+get-orig-source:
3653+ uscan --verbose --force-download --rename --destdir=../build-area
3654+
3655+ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
3656+override_dh_auto_test:
3657+ # Unpatch quantum configuration to fixup tests which conflict
3658+ # with a core_plugin being set.
3659+ patch -p1 -R < debian/patches/fix-quantum-configuration.patch
3660+ # Set a reasonable level of concurrency
3661+ ./run_tests.sh -N -P
3662+ # Patch configuration file after testing
3663+ patch -p1 < debian/patches/fix-quantum-configuration.patch
3664+endif
3665
3666=== added directory 'debian/source'
3667=== added file 'debian/source/format'
3668--- debian/source/format 1970-01-01 00:00:00 +0000
3669+++ debian/source/format 2014-02-21 16:49:36 +0000
3670@@ -0,0 +1,1 @@
3671+3.0 (quilt)
3672
3673=== added directory 'debian/tests'
3674=== added file 'debian/tests/bigswitch-plugin'
3675--- debian/tests/bigswitch-plugin 1970-01-01 00:00:00 +0000
3676+++ debian/tests/bigswitch-plugin 2014-02-21 16:49:36 +0000
3677@@ -0,0 +1,19 @@
3678+#!/bin/bash
3679+#-------------------------
3680+# Testing bigswitch-plugin
3681+#-------------------------
3682+set -e
3683+apt-get -y install neutron-plugin-bigswitch
3684+
3685+# update plugin path
3686+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/bigswitch\/restproxy\.ini\"/g' /etc/default/neutron-server
3687+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.bigswitch\.plugin\.NeutronRestProxyV2/g' /etc/neutron/neutron.conf
3688+service neutron-server restart > /dev/null 2>&1
3689+if pidof -x neutron-server > /dev/null; then
3690+ apt-get -y remove --purge neutron-plugin-bigswitch
3691+ echo "OK"
3692+else
3693+ echo "ERROR: BIGSWITCH PLUGIN IS NOT RUNNING"
3694+ apt-get -y remove --purge neutron-plugin-bigswitch
3695+ exit 1
3696+fi
3697
3698=== added file 'debian/tests/brocade-plugin'
3699--- debian/tests/brocade-plugin 1970-01-01 00:00:00 +0000
3700+++ debian/tests/brocade-plugin 2014-02-21 16:49:36 +0000
3701@@ -0,0 +1,19 @@
3702+#!/bin/bash
3703+#-----------------------
3704+# Testing brocade-plugin
3705+#-----------------------
3706+set -e
3707+apt-get -y install neutron-plugin-brocade
3708+
3709+# update plugin path
3710+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/brocade\/brocade\.ini\"/g' /etc/default/neutron-server
3711+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.brocade\.NeutronPlugin\.BrocadePluginV2/g' /etc/neutron/neutron.conf
3712+service neutron-server restart > /dev/null 2>&1
3713+if pidof -x neutron-server > /dev/null; then
3714+ apt-get -y remove --purge neutron-plugin-brocade
3715+ echo "OK"
3716+else
3717+ echo "ERROR: BROCADE PLUGIN IS NOT RUNNING"
3718+ apt-get -y remove --purge neutron-plugin-brocade
3719+ exit 1
3720+fi
3721
3722=== added file 'debian/tests/cisco-plugin'
3723--- debian/tests/cisco-plugin 1970-01-01 00:00:00 +0000
3724+++ debian/tests/cisco-plugin 2014-02-21 16:49:36 +0000
3725@@ -0,0 +1,19 @@
3726+#!/bin/bash
3727+#---------------------
3728+# Testing cisco-plugin
3729+#---------------------
3730+set -e
3731+apt-get -y install neutron-plugin-cisco
3732+
3733+# update plugin path
3734+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/cisco\/cisco_plugins\.ini\"/g' /etc/default/neutron-server
3735+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.cisco\.network_plugin\.PluginV2/g' /etc/neutron/neutron.conf
3736+service neutron-server restart > /dev/null 2>&1
3737+if pidof -x neutron-server > /dev/null; then
3738+ apt-get -y remove --purge neutron-plugin-cisco
3739+ echo "OK"
3740+else
3741+ echo "ERROR: CISCO PLUGIN IS NOT RUNNING"
3742+ apt-get -y remove --purge neutron-plugin-cisco
3743+ exit 1
3744+fi
3745
3746=== added file 'debian/tests/control'
3747--- debian/tests/control 1970-01-01 00:00:00 +0000
3748+++ debian/tests/control 2014-02-21 16:49:36 +0000
3749@@ -0,0 +1,6 @@
3750+Tests: neutron-daemons python-neutron cisco-plugin nec-plugin bigswitch-plugin
3751+ hyperv-plugin brocade-plugin plumgrid-plugin nicira-plugin openvswitch-plugin
3752+ linuxbridge-plugin ryu-plugin midonet-plugin
3753+Depends: neutron-server, neutron-l3-agent, neutron-dhcp-agent, neutron-metadata-agent,
3754+ neutron-lbaas-agent, python-neutron, rabbitmq-server
3755+Restrictions: needs-root
3756
3757=== added file 'debian/tests/hyperv-plugin'
3758--- debian/tests/hyperv-plugin 1970-01-01 00:00:00 +0000
3759+++ debian/tests/hyperv-plugin 2014-02-21 16:49:36 +0000
3760@@ -0,0 +1,19 @@
3761+#!/bin/bash
3762+#----------------------
3763+# Testing hyperv-plugin
3764+#----------------------
3765+set -e
3766+apt-get -y install neutron-plugin-hyperv
3767+
3768+# update plugin path
3769+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/hyperv\/hyperv_neutron_plugin\.ini\"/g' /etc/default/neutron-server
3770+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.hyperv\.hyperv_neutron_plugin\.HyperVNeutronPlugin/g' /etc/neutron/neutron.conf
3771+service neutron-server restart > /dev/null 2>&1
3772+if pidof -x neutron-server > /dev/null; then
3773+ apt-get -y remove --purge neutron-plugin-hyperv
3774+ echo "OK"
3775+else
3776+ echo "ERROR: HYPERV PLUGIN IS NOT RUNNING"
3777+ apt-get -y remove --purge neutron-plugin-hyperv
3778+ exit 1
3779+fi
3780
3781=== added file 'debian/tests/linuxbridge-plugin'
3782--- debian/tests/linuxbridge-plugin 1970-01-01 00:00:00 +0000
3783+++ debian/tests/linuxbridge-plugin 2014-02-21 16:49:36 +0000
3784@@ -0,0 +1,19 @@
3785+#!/bin/bash
3786+#---------------------------
3787+# Testing linuxbridge-plugin
3788+#---------------------------
3789+set -e
3790+apt-get -y install neutron-plugin-linuxbridge
3791+
3792+# update plugin path
3793+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/linuxbridge\/linuxbridge_conf\.ini\"/g' /etc/default/neutron-server
3794+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.linuxbridge\.lb_neutron_plugin\.LinuxBridgePluginV2/g' /etc/neutron/neutron.conf
3795+service neutron-server restart > /dev/null 2>&1
3796+if pidof -x neutron-server > /dev/null; then
3797+ apt-get -y remove --purge neutron-plugin-linuxbridge
3798+ echo "OK"
3799+else
3800+ echo "ERROR: LINUXBRIDGE PLUGIN IS NOT RUNNING"
3801+ apt-get -y remove --purge neutron-plugin-linuxbridge
3802+ exit 1
3803+fi
3804
3805=== added file 'debian/tests/midonet-plugin'
3806--- debian/tests/midonet-plugin 1970-01-01 00:00:00 +0000
3807+++ debian/tests/midonet-plugin 2014-02-21 16:49:36 +0000
3808@@ -0,0 +1,19 @@
3809+#!/bin/bash
3810+#-----------------------
3811+# Testing midonet-plugin
3812+#-----------------------
3813+set -e
3814+apt-get -y install neutron-plugin-midonet
3815+
3816+# update plugin path
3817+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/midonet\/midonet\.ini\"/g' /etc/default/neutron-server
3818+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.midonet\.MidonetPluginV2/g' /etc/neutron/neutron.conf
3819+service neutron-server restart > /dev/null 2>&1
3820+if pidof -x neutron-server > /dev/null; then
3821+ apt-get -y remove --purge neutron-plugin-midonet
3822+ echo "OK"
3823+else
3824+ echo "ERROR: MIDONET PLUGIN IS NOT RUNNING"
3825+ apt-get -y remove --purge neutron-plugin-midonet
3826+ exit 1
3827+fi
3828
3829=== added file 'debian/tests/nec-plugin'
3830--- debian/tests/nec-plugin 1970-01-01 00:00:00 +0000
3831+++ debian/tests/nec-plugin 2014-02-21 16:49:36 +0000
3832@@ -0,0 +1,19 @@
3833+#!/bin/bash
3834+#-------------------
3835+# Testing nec-plugin
3836+#-------------------
3837+set -e
3838+apt-get -y install neutron-plugin-nec
3839+
3840+# update plugin path
3841+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/nec\/nec\.ini\"/g' /etc/default/neutron-server
3842+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.nec\.nec_plugin\.NECPluginV2/g' /etc/neutron/neutron.conf
3843+service neutron-server restart > /dev/null 2>&1
3844+if pidof -x neutron-server > /dev/null; then
3845+ apt-get -y remove --purge neutron-plugin-nec
3846+ echo "OK"
3847+else
3848+ echo "ERROR: NEC PLUGIN IS NOT RUNNING"
3849+ apt-get -y remove --purge neutron-plugin-nec
3850+ exit 1
3851+fi
3852
3853=== added file 'debian/tests/neutron-daemons'
3854--- debian/tests/neutron-daemons 1970-01-01 00:00:00 +0000
3855+++ debian/tests/neutron-daemons 2014-02-21 16:49:36 +0000
3856@@ -0,0 +1,14 @@
3857+#!/bin/bash
3858+#-----------------------
3859+# Testing neutron-daemon
3860+#-----------------------
3861+set -e
3862+DAEMONS=('neutron-server' 'neutron-l3-agent' 'neutron-dhcp-agent' 'neutron-metadata-agent' 'neutron-lbaas-agent')
3863+for daemon in "${DAEMONS[@]}"; do
3864+ if pidof -x $daemon > /dev/null; then
3865+ echo "OK"
3866+ else
3867+ echo "ERROR: ${daemon} IS NOT RUNNING"
3868+ exit 1
3869+ fi
3870+done
3871
3872=== added file 'debian/tests/nicira-plugin'
3873--- debian/tests/nicira-plugin 1970-01-01 00:00:00 +0000
3874+++ debian/tests/nicira-plugin 2014-02-21 16:49:36 +0000
3875@@ -0,0 +1,19 @@
3876+#!/bin/bash
3877+#----------------------
3878+# Testing nicira-plugin
3879+#----------------------
3880+set -e
3881+apt-get -y install neutron-plugin-nicira
3882+
3883+# update plugin path
3884+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/nicira\/nvp\.ini\"/g' /etc/default/neutron-server
3885+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.nicira\.NeutronPlugin\.NvpPluginV2/g' /etc/neutron/neutron.conf
3886+service neutron-server restart > /dev/null 2>&1
3887+if pidof -x neutron-server > /dev/null; then
3888+ apt-get -y remove --purge neutron-plugin-nicira
3889+ echo "OK"
3890+else
3891+ echo "ERROR: NICIRA PLUGIN IS NOT RUNNING"
3892+ apt-get -y remove --purge neutron-plugin-nicira
3893+ exit 1
3894+fi
3895
3896=== added file 'debian/tests/openvswitch-plugin'
3897--- debian/tests/openvswitch-plugin 1970-01-01 00:00:00 +0000
3898+++ debian/tests/openvswitch-plugin 2014-02-21 16:49:36 +0000
3899@@ -0,0 +1,19 @@
3900+#!/bin/bash
3901+#---------------------------
3902+# Testing openvswitch-plugin
3903+#---------------------------
3904+set -e
3905+apt-get -y install neutron-plugin-openvswitch
3906+
3907+# update plugin path
3908+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/openvswitch\/ovs_neutron_plugin\.ini\"/g' /etc/default/neutron-server
3909+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.openvswitch\.ovs_neutron_plugin\.OVSNeutronPluginV2/g' /etc/neutron/neutron.conf
3910+service neutron-server restart > /dev/null 2>&1
3911+if pidof -x neutron-server > /dev/null; then
3912+ apt-get -y remove --purge neutron-plugin-openvswitch
3913+ echo "OK"
3914+else
3915+ echo "ERROR: OPENVSWITCH PLUGIN IS NOT RUNNING"
3916+ apt-get -y remove --purge neutron-plugin-openvswitch
3917+ exit 1
3918+fi
3919
3920=== added file 'debian/tests/plumgrid-plugin'
3921--- debian/tests/plumgrid-plugin 1970-01-01 00:00:00 +0000
3922+++ debian/tests/plumgrid-plugin 2014-02-21 16:49:36 +0000
3923@@ -0,0 +1,19 @@
3924+#!/bin/bash
3925+#------------------------
3926+# Testing plumgrid-plugin
3927+#------------------------
3928+set -e
3929+apt-get -y install neutron-plugin-plumgrid
3930+
3931+# update plugin path
3932+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/plumgrid\/plumgrid\.ini\"/g' /etc/default/neutron-server
3933+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.plumgrid\.plumgrid_plugin\.plumgrid_plugin\.NeutronPluginPLUMgridV2/g' /etc/neutron/neutron.conf
3934+service neutron-server restart > /dev/null 2>&1
3935+if pidof -x neutron-server > /dev/null; then
3936+ apt-get -y remove --purge neutron-plugin-plumgrid
3937+ echo "OK"
3938+else
3939+ echo "ERROR: PLUMGRID PLUGIN IS NOT RUNNING"
3940+ apt-get -y remove --purge neutron-plugin-plumgrid
3941+ exit 1
3942+fi
3943
3944=== added file 'debian/tests/python-neutron'
3945--- debian/tests/python-neutron 1970-01-01 00:00:00 +0000
3946+++ debian/tests/python-neutron 2014-02-21 16:49:36 +0000
3947@@ -0,0 +1,14 @@
3948+#!/bin/bash
3949+#-------------------------
3950+# Testing client utilities
3951+#-------------------------
3952+set -e
3953+
3954+result=$(python `dirname $0`/test_import_neutron.py 2>&1)
3955+if [ "$result" ]; then
3956+ echo "ERROR: PYTHON-NEUTRON MODULE CANNOT BE IMPORTED"
3957+ exit 1
3958+else
3959+ echo "OK"
3960+ exit 0
3961+fi
3962
3963=== added file 'debian/tests/ryu-plugin'
3964--- debian/tests/ryu-plugin 1970-01-01 00:00:00 +0000
3965+++ debian/tests/ryu-plugin 2014-02-21 16:49:36 +0000
3966@@ -0,0 +1,19 @@
3967+#!/bin/bash
3968+#-------------------
3969+# Testing ryu-plugin
3970+#-------------------
3971+set -e
3972+apt-get -y install neutron-plugin-ryu
3973+
3974+# update plugin path
3975+sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/ryu\/ryu\.ini\"/g' /etc/default/neutron-server
3976+sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.ryu\.ryu_neutron_plugin\.RyuNeutronPluginV2/g' /etc/neutron/neutron.conf
3977+service neutron-server restart > /dev/null 2>&1
3978+if pidof -x neutron-server > /dev/null; then
3979+ apt-get -y remove --purge neutron-plugin-ryu
3980+ echo "OK"
3981+else
3982+ echo "ERROR: RYU PLUGIN IS NOT RUNNING"
3983+ apt-get -y remove --purge neutron-plugin-ryu
3984+ exit 1
3985+fi
3986
3987=== added file 'debian/tests/test_import_neutron.py'
3988--- debian/tests/test_import_neutron.py 1970-01-01 00:00:00 +0000
3989+++ debian/tests/test_import_neutron.py 2014-02-21 16:49:36 +0000
3990@@ -0,0 +1,4 @@
3991+try:
3992+ import neutron
3993+except ImportError, e:
3994+ print "ERROR IMPORTING MODULE"
3995
3996=== added file 'debian/watch'
3997--- debian/watch 1970-01-01 00:00:00 +0000
3998+++ debian/watch 2014-02-21 16:49:36 +0000
3999@@ -0,0 +1,3 @@
4000+version=3
4001+opts="uversionmangle=s/\.([a-zA-Z])/~$1/;s/%7E/~/" \
4002+ https://launchpad.net/neutron/+download https://launchpad.net/neutron/.*/.*/.*/neutron-(.*)\.tar\.gz

Subscribers

People subscribed via source and target branches

to all changes: