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
=== added directory 'debian'
=== renamed directory 'debian' => 'debian.moved'
=== added file 'debian/NEWS'
--- debian/NEWS 1970-01-01 00:00:00 +0000
+++ debian/NEWS 2014-02-21 16:49:36 +0000
@@ -0,0 +1,8 @@
1neutron (1:2013.2~b2-0ubuntu1) saucy; urgency=low
2
3 Quantum has been renamed to Neutron during the Havana development cycle.
4
5 Please review changed configuration in /etc/quantum and apply to new
6 configuration files in /etc/neutron.
7
8 -- James Page <james.page@ubuntu.com> Thu, 18 Jul 2013 10:07:15 +0100
09
=== added file 'debian/changelog'
--- debian/changelog 1970-01-01 00:00:00 +0000
+++ debian/changelog 2014-02-21 16:49:36 +0000
@@ -0,0 +1,752 @@
1neutron (1:2014.1~b2-0ubuntu7) UNRELEASED; urgency=medium
2
3 [ Chuck Short ]
4 * debian/rules: Re-enabled tests.
5 * debian/patches/requirements.patch: Dropped no longer needed.
6 * debian/patches/sql-alchemy-0.8.3-compat.patch: Dropped no longer needed.
7 * debian/patches/bump-sqlalchemy-version.patch: Dropped no longer needed.
8
9 [ Corey Bryant ]
10 * debian/patches/sql-alchemy-0.8.3-compat.patch: Revert prior drop.
11
12 -- Corey Bryant <corey.bryant@canonical.com> Fri, 21 Feb 2014 11:09:33 -0500
13
14neutron (1:2014.1~b2-0ubuntu6) trusty; urgency=medium
15
16 * debian/rules: Temporarily disable testsuite due to upstream breakage.
17
18 -- Chuck Short <zulcss@ubuntu.com> Thu, 06 Feb 2014 08:33:08 -0500
19
20neutron (1:2014.1~b2-0ubuntu5) trusty; urgency=medium
21
22 * debian/patches/disable-udev-tests.patch: Skip more tests
23 because of udev failures.
24 * debian/patches/skip-ipv6-tests.patch: Skip tests that fail
25 on the buildds due to ipv6.
26
27 -- Chuck Short <zulcss@ubuntu.com> Mon, 03 Feb 2014 09:02:45 -0500
28
29neutron (1:2014.1~b2-0ubuntu4) trusty; urgency=medium
30
31 * debian/rules: Really run_tests.sh.
32
33 -- Chuck Short <zulcss@ubuntu.com> Thu, 30 Jan 2014 11:44:21 -0500
34
35neutron (1:2014.1~b2-0ubuntu3) trusty; urgency=medium
36
37 * debian/rules: Switch back to run_test.sh since locking
38 issues have been fixed.
39
40 -- Chuck Short <zulcss@ubuntu.com> Thu, 30 Jan 2014 10:49:22 -0500
41
42neutron (1:2014.1~b2-0ubuntu2) trusty; urgency=medium
43
44 * debian/patches/skip-lb-test.patch: Skipped lb configuration
45 test.
46
47 -- Chuck Short <zulcss@ubuntu.com> Mon, 27 Jan 2014 12:01:50 -0500
48
49neutron (1:2014.1~b2-0ubuntu1) trusty; urgency=low
50
51 [ James Page ]
52 * Switch to using Modular Layer 2 plugin by default:
53 - d/control,neutron-plugin-ml2.install: Add ML2 plugin package
54 (LP: #1243147).
55 - d/p/fix-quantum-configuration,d/control,d/neutron-server.default:
56 Switch to using the ML2 plugin by default.
57 - d/control,neutron-plugin-openvswitch-agent:
58 Use neutron-plugin-ml2 and configuration for openvswitch-agent.
59 * d/neutron-plugin-mlnx-agent.upstart: Reference correct configuration
60 file (LP: #1257732).
61 * Add neutron-ovs-cleanup upstart configuration for OVS plugin
62 (LP: #1249708):
63 - d/rules: Install new configuration in neutron-plugin-openvswitch-agent
64 package, don't restart on install/upgrade (only needed for reboots).
65 - d/neutron-plugin-openvswitch-agent.upstart: Ensure startup happens
66 after neutron-ovs-cleanup.
67 - d/neutron-{l3|dhcp}-agent.upstart: If neutron-ovs-cleanup job is
68 installed, wait for it to reach running state prior to starting
69 agents.
70 * d/control: Add versioned BD/Depends on python-psutil >= 0.6.1.
71 * d/p/requirements.patch: Drop upper version boundary for psutil for
72 compatibility with Trusty.
73 * d/p/requirements.patch: Lift upper boundary for WebOb to < 1.4.
74 * d/p/disable-failing-metaplugin-tests.patch: Disable metaplugin tests that
75 are currently failing.
76 * d/p/disable-ml2-notification-tests.patch: Dropped, tests now pass.
77 * d/rules: Fail package build on unit test failures.
78 * d/p/disable-failing-cisco-test.patch: Disable failing Cisco mechanism test.
79 * d/control,d/p/remove-jsonrpclib.patch: Add BD on python-jsonrpclib and drop
80 patch that excludes it from requirements.txt.
81
82 [ Chuck Short ]
83 * New upstream release.
84 * debian/rules: Run testr directly
85 * debian/patches/sql-alchemy-0.8.3-compat.patch: Fix tests sqlalchemy 0.8.3
86 compat.
87 * debian/neturon-nicira.install: Add usr/bin/neutron-check-nsx-config.
88
89 -- Chuck Short <zulcss@ubuntu.com> Fri, 24 Jan 2014 09:17:12 -0500
90
91neutron (1:2014.1~b1-0ubuntu1) trusty; urgency=low
92
93 [ Chuck Short ]
94 * New upstream release.
95 * debian/control: open icehouse release.
96
97 [ James Page ]
98 * debian/patches: Refresh patches against upstream master.
99 * debian/control: Drop quantum-* transitional packages, no longer needed.
100
101 -- Chuck Short <zulcss@ubuntu.com> Thu, 05 Dec 2013 11:40:39 -0500
102
103neutron (1:2013.2-0ubuntu1) saucy; urgency=low
104
105 * New upstream release (LP: #1236462).
106
107 -- Chuck Short <zulcss@ubuntu.com> Thu, 17 Oct 2013 10:52:39 -0400
108
109neutron (1:2013.2~rc3-0ubuntu1) saucy; urgency=low
110
111 * New upstream release candidate (LP: #1240665).
112
113 -- Chuck Short <zulcss@ubuntu.com> Wed, 16 Oct 2013 15:37:02 -0400
114
115neutron (1:2013.2~rc2-0ubuntu1) saucy; urgency=low
116
117 * New upstream release candidate (LP: #1239156).
118
119 -- James Page <james.page@ubuntu.com> Sat, 12 Oct 2013 16:51:28 +0100
120
121neutron (1:2013.2~rc1-0ubuntu2) saucy; urgency=low
122
123 * d/tests/control,neutron-server: Limit neutron-server tests to core
124 neutron daemons to avoid tests failures for plugin agents which don't
125 start correctly without additional configuration.
126
127 -- James Page <james.page@ubuntu.com> Thu, 03 Oct 2013 23:05:05 +0100
128
129neutron (1:2013.2~rc1-0ubuntu1) saucy; urgency=low
130
131 [ Yolanda Robla ]
132 * debian/tests: added testing agents
133
134 [ Chuck Short ]
135 * debian/patches/disable-udev-tests.patch: Refreshed.
136 * debian/patches/disable-ml2-notification-tests.patch: Refreshed.
137 * debian/control:
138 - Dropped python-setuptools-git python-netifaces, and python-nose from
139 build dependencies.
140 - Dropped python-configobj, python-gflags from binary dependencies.
141 - Added build python-requests python-six, and python-jinja2 build
142 dependencies.
143 - Added versioned dependencies for python-amqplib,
144 python-pbr, python-novaclient, python-cliff,
145 python-testtools, and python-eventlet.
146 - Bumped versioned depends for python-stevedore, pyhton-novaclient,
147 python-oslo.config, and testrepository
148
149 [ James Page ]
150 * New upstream release candidate:
151 - d/patches: Refreshed.
152 * d/rules: unpatch/patch neutron.conf around test execution to ensure that
153 as many tests as possible actually pass.
154
155 -- James Page <james.page@ubuntu.com> Thu, 03 Oct 2013 15:18:04 +0100
156
157neutron (1:2013.2~b3-0ubuntu6) saucy; urgency=low
158
159 * debian/rules: Dont ftbfs the tests if they fail.
160
161 -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 20:37:18 -0400
162
163neutron (1:2013.2~b3-0ubuntu5) saucy; urgency=low
164
165 * debian/tests/neutron-daemons: Fix typo.
166 * debian/rules: FTBFS if testsuite fails.
167
168 -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 17:27:25 -0400
169
170neutron (1:2013.2~b3-0ubuntu4) saucy; urgency=low
171
172 * debian/patches/remove_jsonrpclib.patch: Remove jsonrpclib
173 its not needed other than the arista driver.
174
175 -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 15:19:22 -0400
176
177neutron (1:2013.2~b3-0ubuntu3) saucy; urgency=low
178
179 * debian/tests: Fixed autopkg tests.
180
181 -- Chuck Short <zulcss@ubuntu.com> Tue, 10 Sep 2013 12:10:05 -0400
182
183neutron (1:2013.2~b3-0ubuntu2) saucy; urgency=low
184
185 * debian/control, debian/neutron-plugin-vpn-agent.install,
186 debian/neutron-plugin-vpn-agent.install: Add vpn agent.
187 * debian/control, debian/usr/bin/neutron-metering-agent.install,
188 debian/usr/bin/neutron-metering-agent.install: Add metering agent.
189
190 -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Sep 2013 22:35:59 -0400
191
192neutron (1:2013.2~b3-0ubuntu1) saucy; urgency=low
193
194 [ Chuck Short ]
195 * New upstream release.
196 * debian/patches/fix-quantum-configuration.patch: Refreshed.
197 * debian/patches/neutron-conf.patch: Dropped.
198 * debian/patches/ignore-quantum-binaries.patch: Dropped
199 * debian/control: Add python-babel as a build depends.
200 * debian/neutron-common.install: Add neutron-usage-audit binary.
201 * debian/rules: Pass the tests even if it fails, temporary measure
202 until we figure out why the tests fail.
203
204 [ Adam Gandelman ]
205 * debian/rules: Limit testr concurrency to 1 CPU.
206 * debian/patches: Refresh.
207
208 [ James Page ]
209 * d/*.upstart: Added respawn stanza (LP: #1170393), tidied
210 descriptions and rationalized stop on stanzas to be consistent.
211 * d/neutron-dhcp-agent.install: Drop neutron-dhcp-agent-dnsmasq-lease-
212 update inline with upstream.
213 * d/rules: Ignore deprecated quantum binaries when checking for
214 missing files.
215 * d/control: Update/add versioned depends for upgrades:
216 - python-anyjson >= 0.3.3
217 - python-stevedore >= 0.9
218 - python-oslo.config >= 1:1.2.0
219 - python-keystoneclient >= 1:0.2.0
220 * d/*: Wrap and sort.
221
222 -- Chuck Short <zulcss@ubuntu.com> Mon, 09 Sep 2013 13:12:57 -0400
223
224neutron (1:2013.2~b2-0ubuntu3) saucy; urgency=low
225
226 * d/p/neutron-conf.patch: Cherry picked commit from upstream VCS which
227 fixes a number of 'quantum' references across all configuration files.
228 * d/neutron_sudoers: Remove typo to re-enable passwordless sudo for neutron.
229 * d/p/fix-quantum-conf.patch: Enable use of neutron-rootwrap by default,
230 fixup problem with use of /var/lib/quantum for keystone signing_dir.
231
232 -- James Page <james.page@ubuntu.com> Wed, 24 Jul 2013 16:09:08 +0100
233
234neutron (1:2013.2~b2-0ubuntu2) saucy; urgency=low
235
236 * d/neutron-server.upstart: Execute correct server binary, fixup
237 use of flags in /etc/default/neutron-server.
238 * d/p/bump-sqlalchemy-version.patch: Support SQLAlchemy >= 0.8 until
239 upstream catches up.
240 * Re-jig test disablement patches:
241 - d/p/disable-udev-tests.patch: Disable tests that use udev as it
242 is not always available.
243 - d/p/disable-ml2-notification-tests.patch: Disable failing ML2 plugin
244 tests pending further investigation.
245 * d/p/fix-quantum-configuration.patch: Remove rej and orig cruft, re-added
246 missing default core_plugin configuration.
247 * d/control: Drop pep8 from BD's, no longer required.
248
249 -- James Page <james.page@ubuntu.com> Wed, 24 Jul 2013 11:41:56 +0100
250
251neutron (1:2013.2~b2-0ubuntu1) saucy; urgency=low
252
253 [ Chuck Short ]
254 * New upstream version.
255 * debian/patches/fix-quantum-configuration.patch: Refreshed
256 * Renamed quantum -> neutron inline with upstream:
257 - debian/neutron*.install: Update paths and files for rename.
258 - debian/cron.d: Update for new neutron names.
259 - debian/control:
260 + Add transtional packages.
261 + Add breaks/replaces with previous versions of quantum.
262 * debian/patches/fix-ubuntu-tests.patch: Refreshed
263 * debian/patches/ignore-quantum-binaries.patch: Don't install quantum
264 binaries.
265 * Add new mlnx agent package.
266
267 [ James Page ]
268 * d/control: Update VCS fields for new branch locations.
269 * d/NEWS: Let users know they need to migrate configuration manually as part
270 of the quantum->neutron rename.
271 * d/neutron-common.install: Include rootwrap for Xen dom0 installs.
272
273 [ Adam Gandelman ]
274 * debian/control: Set minimum python-kombu version >= 2.5.12.
275
276 -- Chuck Short <zulcss@ubuntu.com> Fri, 19 Jul 2013 12:11:18 -0400
277
278quantum (1:2013.2~b1-0ubuntu2) saucy; urgency=low
279
280 [ Adam Gandelman ]
281 * debian/control:
282 - Add version requirement to python-stevedore (>= 0.8), also add to
283 python-quantum depends.
284 - Add version requirement to python-fixtures (>= 0.3.12).
285 * debian/patches/*: Refreshed.
286
287 [ Yolanda Robla ]
288 * debian/tests: added autopkg tests
289
290 [Chuck Short]
291 * debian/patches/fix-ubuntu-tests.patch: Rediff to skip tests
292 that were randomly failing in the PPAS or locally.
293
294 -- Chuck Short <zulcss@ubuntu.com> Wed, 19 Jun 2013 12:06:15 -0500
295
296quantum (1:2013.2~b1-0ubuntu1) saucy; urgency=low
297
298 * New upstream release.
299 * debian/patches/fix-quantum-configuration.patch: Refreshed
300 * debian/control: Add testrepository.
301 * debian/control: Add subunit.
302 * debian/control: Add python-d21o1 and python-pbr as build-depends.
303 * debian/control: Add python-stevedore.
304
305 -- Chuck Short <zulcss@ubuntu.com> Fri, 31 May 2013 09:37:25 -0500
306
307quantum (1:2013.1-0ubuntu2) raring; urgency=low
308
309 * Fix invalid multi-line cron jobs (LP: #1170312):
310 - d/cron.d/*: Consolidate jobs into a single command line, set syntax
311 highlighting to type 'crontab'.
312
313 -- James Page <james.page@ubuntu.com> Mon, 22 Apr 2013 15:58:12 +0100
314
315quantum (1:2013.1-0ubuntu1) raring; urgency=low
316
317 * New upstream release.
318
319 -- Chuck Short <zulcss@ubuntu.com> Thu, 04 Apr 2013 14:03:41 -0500
320
321quantum (1:2013.1~rc2-0ubuntu1) raring; urgency=low
322
323 * New upstream release.
324
325 -- Chuck Short <zulcss@ubuntu.com> Tue, 26 Mar 2013 08:33:56 -0500
326
327quantum (1:2013.1~rc1-0ubuntu1) raring; urgency=low
328
329 [ Chuck Short ]
330 * debian/patches/fix-quantum-configuration.patch: Refreshed
331 * debian/control: Add python-testtools and python-fixtures a build-dep.
332 * debian/control: Drop python-gflags no longer needed.
333 * debian/control: Drop python-unittest2 no longer needed.
334
335 [ James Page ]
336 * New upstream release candidate.
337 * d/watch: Update uversionmangle to deal with upstream versioning
338 changes, remove tarballs.openstack.org.
339 * d/rules: Disable PEP-8 tests until fixed upstream.
340 * d/control,quantum-plugin-midonet.install: Added plugin package for
341 Midonet.
342 * d/control,quantum-lbaas-*: Added Load Balancing as-a Service agent
343 package.
344 * d/control: Bumped Standards-Version, no changes.
345 * d/p/fix-quantum-configuration.patch: Added midonet sqlite path to
346 patch, fixed up linuxbridge path.
347 * d/p/fix-ubuntu-tests.patch: Re-added skipTest for linuxbridge tests
348 that attempt to setup udev monitors.
349 * d/quantum-metadata-agent.*: Refactor metadata-agent into separate
350 package and add Depends from quantum-l3-agent and quantum-dhcp-agent.
351 * d/quantum-plugin-nicira.install: Add quantum-check-nvp-config binary.
352 * d/control: Add iputils-arping to quantum-l3-agent Depends (LP: #1153066).
353 * d/control: python-oslo-config -> python-oslo.config.
354 * d/control: Bump python-quantumclient >= 1:2.2.0 inline with upstream.
355
356 -- James Page <james.page@ubuntu.com> Fri, 15 Mar 2013 09:37:28 +0000
357
358quantum (2013.1.g3-0ubuntu1) raring; urgency=low
359
360 [ Adam Gandelman ]
361 * debian/patches/fix-quantum-configuration.patch: Refreshed and update to
362 reflect new global root_wrap configuration defined only in
363 /etc/quantum/quantum.conf.
364 * debian/patches/fix-ubuntu-tests.patch: Refreshed, added skipTests for
365 linuxbridge tests that attempt to setup udev monitors.
366 * debian/{control, quantum-server.install}: Drop quantum-ns-metadata-proxy,
367 quantum-metadata-agent, quantum-debug from quantum-server package and set a
368 Break/Replaces on the last quantum-server package that shipped them.
369 (LP: #1112203)
370 * debian/{control, quantum-plugin-nec.install}: Drop rootwrap filters,
371 only install /w the agent.
372 * debian/control: Add Breaks/Replaces between quantum-plugin-nec and new
373 quantum-plugin-nec-agent.
374
375 [ Yolanda Robla ]
376 * debian/patches: refreshed patches
377
378 [ James Page ]
379 * d/p/fix-quantum-configuration.patch: Add root_wrap helper to AGENT
380 section of /etc/quantum/quantum.conf to support new global configuration.
381 * d/control,quantum-plugin-{bigswitch,brocade,plumgrid}.install: Add new
382 plugin packages for BigSwitch, Brocade, Hyper-V and PLUMgrid.
383 * d/p/fix-quantum-configuration.patch: Set sqlite location for new plugins.
384 * d/control,quantum-plugin-nec-agent.*: Add new plugin agent package for NEC.
385 * d/quantum-common.install: Added new binaries and common rootwrap.d config.
386 * d/control: Removed VCS fields, updated maintainer.
387 * Wrapped and sorted debian/*.
388 * d/control: Add BD on python-oslo-config.
389 * d/control: Add BD on python-netifaces to fix RYU unit tests.
390
391 [ Chuck Short ]
392 * New upstream release.
393
394 -- Chuck Short <zulcss@ubuntu.com> Fri, 22 Feb 2013 09:54:36 -0600
395
396quantum (2013.1~g2-0ubuntu1) raring; urgency=low
397
398 [ Chuck Short ]
399 * New upstream version.
400 * debian/patches/fix-quantum-configuration.patch: Refreshed.
401
402 [ Yolanda Robla ]
403 * debian/quantum-l3-agent.quantum-metadata-agent.upstart: Add
404 upstart configuration for Metadata Agent.
405 * debian/quantum-l3-agent.install: Added quantum-ns-metadata-proxy,
406 quantum-metadata-agent and metadata_agent.ini.
407 * debian/patches/fix-quantum-configuration.patch: Update rootwrap
408 configuration in metadata_agent.ini file.
409 * debian/changelog: Updated package version
410 * d/p/fix-quantum-configuration.patch: refresh patches
411 * debian/patches/fix-ubuntu-tests.patch: Refreshed.
412 * debian/control: added python-novaclient dependency
413
414 [ James Page ]
415 * d/*.install: Install entry points from bin directory instead
416 of easy-install ones generated during the package build process
417 (LP: #1085038).
418 * d/control: Drop BD on python-dev-all; its not required.
419 * d/rules: Install multiple upstart configurations for quantum-l3-agent.
420 * d/control: Tidy package descriptions.
421 * d/*.postrm: Drop as debhelper will generate update-rc.d calls in
422 maintainer scripts if required.
423 * d/quantum-common.postinst: Tweak permissions setting so that /etc/quantum
424 is not owned/writable by the quantum user, ensure that /etc/quantum/rootwrap*
425 is owned by root:root.
426 * d/*agent*.postinst: Dropped as permissions now correctly set in
427 quantum-common.
428 * d/patches/fix-quantum-configuration.patch: Re-add dropped fixes rootwrap and
429 sqlite defaults for all plugins.
430 * d/control: Added new BD on alembic (>= 0.4.1~), version python-mock >= 1.0b1.
431
432 [ Maru Newby ]
433 * debian/control: Remove unnecessary openvswitch-vswitch dependency
434 from quantum-plugin-openvswitch (LP: #1076747).
435
436 -- Yolanda Robla <yolanda.robla@canonical.com> Tue, 22 Jan 2013 11:40:00 +0100
437
438quantum (2013.1~g1-0ubuntu1) raring; urgency=low
439
440 [ Adam Gandelman ]
441 * debian/patches/*: Refreshed for opening of Grizzly.
442
443 [ Chuck Short ]
444 * New upstream release.
445 * debian/rules: FTFBS if there is missing binaries.
446 * debian/quantum-server.install: Add quantum-debug.
447
448 -- Chuck Short <zulcss@ubuntu.com> Fri, 23 Nov 2012 09:43:14 -0600
449
450quantum (2012.2-0ubuntu1) quantal; urgency=low
451
452 [ Chuck Short ]
453 * New upstream release.
454
455 [ Adam Gandelman ]
456 * debian/cron.d/quantum-{l3, dhcp]-agent-netns-cleanup: Schedule hourly
457 cleanups of leaked Quantum network namespsaces using the
458 quantum-netns-cleanup utility.
459
460 -- Chuck Short <zulcss@ubuntu.com> Thu, 27 Sep 2012 13:19:33 -0500
461
462quantum (2012.2~rc3-0ubuntu1) quantal; urgency=low
463
464 * New upstream release.
465
466 -- Chuck Short <zulcss@ubuntu.com> Wed, 26 Sep 2012 15:14:31 -0500
467
468quantum (2012.2~rc2-0ubuntu1) quantal; urgency=low
469
470 [ Adam Gandelman ]
471 * debian/quantum-server.{default, upstart}: Use default file to specify
472 path to plugin config, which is passed to quantum-server as
473 '--config-file' during startup. (LP: #1009294)
474 * debian/control:
475 - Remove quantum-server's dependency on 'quantum-plugin'.
476 - Specify >= 1:0.1.0.1-0ubuntu1 requirement for python-quantumclient.
477 - Add dnsmasq dependencies to quantum-dhcp-agent Depends.
478
479 [ Chuck Short ]
480 * New upstream version.
481 * debian/patches/fix-ubuntu-tests.patch: Refreshed.
482
483 -- Chuck Short <zulcss@ubuntu.com> Fri, 21 Sep 2012 13:01:18 -0500
484
485quantum (2012.2~rc1-0ubuntu1) quantal; urgency=low
486
487 [ Adam Gandelman ]
488 * debain/*.postrm: Fix argument-less calls to update-rc.d, redirect
489 to /dev/null. (LP: #1047560)
490 * debian/quantum-server.upstart: Invoke start-stop-daemon properly.
491 (LP: #1047404)
492 * debain/*.postrm, *.upstart: Ensure files are named for corresponding
493 agent package, not plugin package.
494 * debian/control:
495 - Group agents with plugins.
496 - Fix some copy/paste mistakes.
497 - Set dependencies between agents and corresponding plugins.
498 - Recommend quantum-plugin-openvswitch for quantum-server.
499 - Require the same version of quantum-common and python-quantum.
500 - Add quantum-netns-cleanup utility to quantum-common.
501 * debian/patches/fix-quantum-configuration.patch: Use correct database
502 for linuxbridge plugin, use OVS plugin by default, call quantum-rootwrap
503 correctly. (LP: #1048668)
504 * Fix all use of /usr/sbin, things should go in /usr/bin.
505 * Remove dhcp and l3 plugins, they are not actually plugins.
506 * Rename packages quantum-plugin-{l3, dhcp}-agent to
507 quantum-{l3, dhcp}-agent.
508 * debain/quantum-*-agent.upstart: Specify config files as a
509 parameter to --config-file, specify log files for all.
510 * debian/*.logrotate: Add logrotate configs for server and agents.
511 * Install quantum_sudoers with quantum-common, not quantum-server.
512 * Install rootwrap filters only with the packages that require them.
513 * debian/*-agent.upstart: Specify --config-file=/etc/quantum/quantum.conf
514 in addition to plugin-specific config. Specify log files for all agents.
515 * Allow group 'adm' read access to /var/log/quantum.
516 * debian/quantum-server.postinst: Drop, all has been moved to quantum-common.
517 * Add packaging for quantum-plugin-nec.
518
519 [ Chuck Short ]
520 * New usptream release.
521
522 -- Chuck Short <zulcss@ubuntu.com> Wed, 12 Sep 2012 13:41:20 -0500
523
524quantum (2012.2~rc1~20120907.1154-0ubuntu1) quantal; urgency=low
525
526 [ Adam Gandelman ]
527 * debian/control: Add missing python-keystone dependency.
528 * wrap-and-sort.
529
530 [ Chuck Short ]
531 * debian/rules:
532 - Run testsuite on build.
533 - Use get-orig-source.
534 - Add python-amqplib, python-anyjson, python-httplib2, python-iso8601,
535 python-kombu, python-lxml, python-netadr, python-pyudev to build depends
536 and run time deps.
537 - Add python-mock, python-mox, and python-unitest2 to build deps.
538 - Add adduser as a dep to quantum-common.
539 * debian/control: Bump standards version to 3.9.3
540 * debian/quantum-common.install: Add missing configuration files.
541 (LP: #988999)
542 * debian/quantum-plugin-linuxbridge.install: Make isntallable.
543 * Add manpages: gratitously ripped from debian.
544 * Fix up lintian warnings. (LP: #1025203), (LP: #1021921)
545 * Add metaplugin plugin.
546 * debian/patches/fix-namespace.patch: Dropped it was causing
547 python namespace issues.
548 (LP: #1045064)
549 * debian/*.upstart:
550 - Specify configuration file and log directory.
551 - Start on the right transition.
552 * debian/rules:
553 - Allow to disable testsuite.
554 - Dont fail if the testsuite fails.
555 * debian/patches/fix-quantum-configuration.patch: Fix configuration files.
556 * Add packaging for quantum-plugin-l3 and quantum-plugin-l3-agent
557 * Add packaging for quantum-plugin-dhcp-agent and quantum-plugin-dchp-agent
558 * debian/patches/fix-ubuntu-tests.patch: Fix testsuite failures.
559
560 [ Soren Hansen ]
561 * Update debian/watch to account for symbolically named tarballs and
562 use newer URL.
563 * Add python-configobj as a build and run time dependency. Recently added
564 tests need it, and the Cisco plugin has needed it for a while.
565 * Fix Launchpad URLs in debian/watch.
566
567 -- Chuck Short <zulcss@ubuntu.com> Fri, 07 Sep 2012 18:50:09 -0500
568
569quantum (2012.2~f3-0ubuntu1~cloud0) precise-folsom; urgency=low
570
571 * New upstream release.
572
573 -- Chuck Short <zulcss@ubuntu.com> Fri, 17 Aug 2012 10:42:58 -0500
574
575quantum (2012.2~f2-0ubuntu1~cloud0) precise-folsom; urgency=low
576
577 [ Chuck Short ]
578 * New upstream release.
579
580 [ Adam Gandelman ]
581 * debian/control, pydist-overrides: Add python-setuptools-git as a
582 Build-Depends, override as necessary.
583
584 -- Chuck Short <zulcss@ubuntu.com> Fri, 06 Jul 2012 12:41:43 -0400
585
586quantum (2012.2~f1-0ubuntu1~cloud0) precise-folsom; urgency=low
587
588 [ Chuck Short ]
589 * New upstream release.
590 * Add missing upsart jobs for agents.
591 * Add sudo wrapper for quantum-rootwrap. (LP: #999142)
592
593 [ Adam Gandelman ]
594 * debian/control: Fix spacing issues that cause mk-build-deps to fail.
595 * debian/quantum-server.install: Install new plugins config directory
596 instead of old .ini.
597
598 -- Chuck Short <zulcss@ubuntu.com> Fri, 22 Jun 2012 12:49:23 -0400
599
600quantum (2012.1-0ubuntu1) precise; urgency=low
601
602 [Adam Gandelman]
603 * Open precise-folsom-proposed.
604 * Merge with current precise-folsom-folsom-proposed.
605
606 [Chuck Short]
607 * New upstream release.
608 * Add missing upsart jobs for agents.
609 * Add sudo wrapper for quantum-rootwrap. (LP: #999142)
610
611 -- Chuck Short <zulcss@ubuntu.com> Fri, 01 Jun 2012 10:26:49 -0400
612
613quantum (2012.1-0ubuntu4) precise; urgency=low
614
615 * debian/control: Add breaks replaces since files have moved around.
616 * Fix typo in upstart job.
617
618 -- Chuck Short <zulcss@ubuntu.com> Mon, 23 Apr 2012 11:23:38 -0400
619
620quantum (2012.1-0ubuntu3) precise; urgency=low
621
622 * Split out agents into its own packages. (LP: #979192)
623 Thanks to Ghe Rivero.
624 * Add upstart job. (LP: #979190)
625 * Fix installation issues. (LP: #979159)
626
627 -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Apr 2012 13:39:06 -0400
628
629quantum (2012.1-0ubuntu2) precise; urgency=low
630
631 * Fix lintian warnings about empty packages.
632
633 -- Chuck Short <zulcss@ubuntu.com> Fri, 06 Apr 2012 22:14:42 -0400
634
635quantum (2012.1-0ubuntu1) precise; urgency=low
636
637 * New upstream release.
638
639 -- Chuck Short <zulcss@ubuntu.com> Thu, 05 Apr 2012 11:07:46 -0400
640
641quantum (2012.1~rc2-0ubuntu1) precise; urgency=low
642
643 * New upstream release:
644 - debian/quantum-plugin-{ryu,openvswitch}.install:
645 Install agents.
646
647 -- Chuck Short <zulcss@ubuntu.com> Tue, 03 Apr 2012 20:29:11 -0400
648
649quantum (2012.1~rc1-0ubuntu5) precise; urgency=low
650
651 * Add missing files. (LP: #972019, LP: #971981, LP: #960731)
652
653 -- Chuck Short <zulcss@ubuntu.com> Mon, 02 Apr 2012 20:29:29 -0400
654
655quantum (2012.1~rc1-0ubuntu4) precise; urgency=low
656
657 * Make quantum installable again (LP: #965551):
658 - debian/control: quantum-server depends on quantum-common.
659 - debian/control: Add python-quantumclient dependency.
660 - debian/upstart: Rename and update upstart job.
661 - Fix typos in debian/quantum-common.postinst.
662
663 -- Chuck Short <zulcss@ubuntu.com> Fri, 30 Mar 2012 14:14:42 -0400
664
665quantum (2012.1~rc1-0ubuntu3) precise; urgency=low
666
667 * debian/control: Fix spelling typos. (LP: #960713)
668
669 -- Paolo Rotolo <paolorotolo@ubuntu-it.org> Fri, 23 Mar 2012 21:35:54 +0100
670
671quantum (2012.1~rc1-0ubuntu2) precise; urgency=low
672
673 * debian/control: Fix spelling typos.
674 * debian/upstart: Fix typo in upstart job
675 * debian/control: Rename quantum to quantum-server again.
676 * debian/control: Fix empty plugins.
677 * debian/upstart: use start-stop-daemon in upstart job.
678 * debian/patches/fix-namespace.patch: Fix namespace patch
679 * debian/control: Update vcs info. (LP: #960690)
680
681 -- Chuck Short <zulcss@ubuntu.com> Tue, 20 Mar 2012 13:58:24 -0400
682
683quantum (2012.1~rc1~20120316.764-0ubuntu1) precise; urgency=low
684
685 * New upstream release.
686 * debian/watch: Watch correct URL
687
688 -- Adam Gandelman <adamg@canonical.com> Fri, 16 Mar 2012 12:04:48 -0700
689
690quantum (2012.1~e4-0ubuntu1) precise; urgency=low
691
692 * New upstream release.
693 * debian/rules: Take in account the new build changes.
694 * debian/quantum-server.install: Install the right files due to
695 build changes.
696 * Client no longer is a part of quantum.
697 * debian/control: Add python-lxml
698 * Add ryu and niciria plugins.
699 * debian/rules: Run right tests script.
700
701 -- Chuck Short <zulcss@ubuntu.com> Mon, 05 Mar 2012 09:47:22 -0500
702
703quantum (2012.1~e2+git20120112-0ubuntu1) precise; urgency=low
704
705 * New upstream release.
706 * debian/rules:
707 - Fix git snapshot creation.
708 - Fix running test suite during the build.
709 * debian/control: Add adduser for quantum-server.
710 * debian/quantum-plugin-{cisco,openvswitch}.install: Install
711 everything needed for the plugins.
712
713 -- Chuck Short <zulcss@ubuntu.com> Thu, 12 Jan 2012 04:19:33 -0500
714
715quantum (2012.1~e2-0ubuntu2) precise; urgency=low
716
717 * debian/control: Build for architecture all.
718
719 -- Chuck Short <zulcss@ubuntu.com> Mon, 19 Dec 2011 10:28:16 -0500
720
721quantum (2012.1~e2-0ubuntu1) precise; urgency=low
722
723 * New upstream release.
724 * debian/rules: Add alternate get-orig-source.
725 * debian/patches/fix-version.patch: Removed no longer needed.
726 * Fix lintian warnings.
727
728 -- Chuck Short <zulcss@ubuntu.com> Fri, 16 Dec 2011 15:26:41 -0500
729
730quantum (2012.1~e2~20111209.f8152-0ubuntu1) precise; urgency=low
731
732 * New upstream release.
733 * debian/rules, debian/README.Source: Add support fo generating
734 new tarballs from git since tarball snapshots are not available
735 from jenkins yet.
736 * debian/rules: Update for new build system.
737 * debian/rules: Clean up files when running clean.
738 * debian/quantum-server.install, debian/quantum-server.dirs,
739 debian/quantum-plugins.*: Update for build system changes.
740 * debian/quantum-server.postinst: Fix user creation.
741 * debian/rules: Enable testsuite when building.
742 * Fix lintian errors (LP: #899352)
743 * debian/patches/fix-quantum-version.patch: Fix generating *.pyc
744 when trying to build.
745
746 -- Chuck Short <zulcss@ubuntu.com> Fri, 09 Dec 2011 15:31:35 -0500
747
748quantum (2012.1~e1-0ubuntu1) precise; urgency=low
749
750 * Initial release.
751
752 -- Chuck Short <zulcss@ubuntu.com> Fri, 18 Nov 2011 15:29:53 -0500
0753
=== added file 'debian/compat'
--- debian/compat 1970-01-01 00:00:00 +0000
+++ debian/compat 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
18
02
=== added file 'debian/control'
--- debian/control 1970-01-01 00:00:00 +0000
+++ debian/control 2014-02-21 16:49:36 +0000
@@ -0,0 +1,667 @@
1Source: neutron
2Section: net
3Priority: optional
4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Chuck Short <zulcss@ubuntu.com>
6Build-Depends: debhelper (>= 8.0.0), python-all (>= 2.6)
7Build-Depends-Indep:
8 alembic (>= 0.4.1),
9 python-amqplib (>= 0.6.1),
10 python-anyjson (>= 0.3.3),
11 python-babel,
12 python-cliff (>= 1.4),
13 python-configobj,
14 python-coverage,
15 python-d2to1,
16 python-eventlet (>= 0.13.0),
17 python-fixtures (>= 0.3.12),
18 python-greenlet (>= 0.3.2),
19 python-httplib2,
20 python-iso8601,
21 python-jinja2,
22 python-jsonrpclib,
23 python-keystoneclient (>= 1:0.2.0),
24 python-kombu (>= 2.5.12),
25 python-lxml,
26 python-mock (>= 1.0b1),
27 python-mox,
28 python-netaddr,
29 python-neutronclient (>= 1:2.2.3),
30 python-novaclient (>= 2.12.0),
31 python-oslo.config (>= 1:1.2.0a3),
32 python-paste,
33 python-pastedeploy,
34 python-pbr (>= 0.5.21),
35 python-psutil (>= 0.6.1),
36 python-pyudev,
37 python-requests (>= 1.1),
38 python-routes,
39 python-setuptools,
40 python-simplejson,
41 python-six,
42 python-sqlalchemy,
43 python-stevedore (>= 0.10),
44 python-testtools (>= 0.9.32),
45 python-webob,
46 python-webtest,
47 subunit,
48 testrepository ( >= 0.0.17)
49XS-Python-Version: >= 2.6
50Standards-Version: 3.9.4
51Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/neutron/icehouse/files
52Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/neutron/icehouse
53XS-Testsuite: autopkgtest
54
55Package: neutron-server
56Architecture: all
57Depends:
58 adduser,
59 neutron-common (= ${source:Version}),
60 ${misc:Depends},
61 ${python:Depends},
62 ${shlibs:Depends}
63Breaks: quantum-server ( << 1:2013.2~b2-0ubuntu1~ )
64Replaces: quantum-server ( << 1:2013.2~b2-0ubuntu1~ )
65Recommends: neutron-plugin-ml2
66Description: Neutron is a virtual network service for Openstack - server
67 Neutron is a virtual network service for Openstack, and a part of
68 Netstack. Just like OpenStack Nova provides an API to dynamically
69 request and configure virtual servers, Neutron provides an API to
70 dynamically request and configure virtual networks. These networks
71 connect "interfaces" from other OpenStack services (e.g., virtual NICs
72 from Nova VMs). The Neutron API supports extensions to provide
73 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
74 etc.)
75 .
76 This package provides the Neutron server
77
78Package: neutron-common
79Architecture: all
80Depends:
81 adduser,
82 python-neutron (= ${source:Version}),
83 ${misc:Depends},
84 ${python:Depends}
85Breaks: quantum-common ( << 1:2013.2~b2-0ubuntu1~ )
86Replaces: quantum-common ( << 1:2013.2~b2-0ubuntu1~ )
87Description: Neutron is a virtual network service for Openstack - common
88 Neutron is a virtual network service for Openstack, and a part of
89 Netstack. Just like OpenStack Nova provides an API to dynamically
90 request and configure virtual servers, Neutron provides an API to
91 dynamically request and configure virtual networks. These networks
92 connect "interfaces" from other OpenStack services (e.g., virtual NICs
93 from Nova VMs). The Neutron API supports extensions to provide
94 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
95 etc.)
96 .
97 This package provides the common files.
98
99Package: neutron-plugin-cisco
100Architecture: all
101Provides: neutron-plugin
102Depends:
103 neutron-common (= ${source:Version}),
104 ${misc:Depends},
105 ${python:Depends},
106 ${shlibs:Depends}
107Breaks: quantum-plugin-cisco ( << 1:2013.2~b2-0ubuntu1~ )
108Replaces: quantum-plugin-cisco ( << 1:2013.2~b2-0ubuntu1~ )
109Description: Neutron is a virtual network service for Openstack - Cisco plugin
110 Neutron is a virtual network service for Openstack, and a part of
111 Netstack. Just like OpenStack Nova provides an API to dynamically
112 request and configure virtual servers, Neutron provides an API to
113 dynamically request and configure virtual networks. These networks
114 connect "interfaces" from other OpenStack services (e.g., virtual NICs
115 from Nova VMs). The Neutron API supports extensions to provide
116 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
117 etc.)
118 .
119 This package provides the Cisco plugin.
120
121Package: neutron-plugin-nec
122Architecture: all
123Provides: neutron-plugin
124Depends:
125 neutron-common (= ${source:Version}),
126 ${misc:Depends},
127 ${python:Depends},
128 ${shlibs:Depends}
129Breaks: quantum-plugin-nec ( << 1:2013.2~b2-0ubuntu1~ )
130Replaces: quantum-plugin-nec ( << 1:2013.2~b2-0ubuntu1~ )
131Description: Neutron is a virtual network service for Openstack - NEC plugin
132 Neutron is a virtual network service for Openstack, and a part of
133 Netstack. Just like OpenStack Nova provides an API to dynamically
134 request and configure virtual servers, Neutron provides an API to
135 dynamically request and configure virtual networks. These networks
136 connect "interfaces" from other OpenStack services (e.g., virtual NICs
137 from Nova VMs). The Neutron API supports extensions to provide
138 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
139 etc.)
140 .
141 This package provides the NEC plugin.
142
143Package: neutron-plugin-nec-agent
144Architecture: all
145Depends:
146 neutron-common (= ${source:Version}),
147 neutron-plugin-nec,
148 openvswitch-switch,
149 ${misc:Depends},
150 ${python:Depends},
151 ${shlibs:Depends}
152Breaks: quantum-plugin-nec-agent ( << 1:2013.2~b2-0ubuntu1~ )
153Replaces: quantum-plugin-nec-agent ( << 1:2013.2~b2-0ubuntu1~ )
154Description: Neutron is a virtual network service for Openstack - NEC plugin agent
155 Neutron is a virtual network service for Openstack, and a part of
156 Netstack. Just like OpenStack Nova provides an API to dynamically
157 request and configure virtual servers, Neutron provides an API to
158 dynamically request and configure virtual networks. These networks
159 connect "interfaces" from other OpenStack services (e.g., virtual NICs
160 from Nova VMs). The Neutron API supports extensions to provide
161 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
162 etc.)
163 .
164 This package provides the NEC plugin agent.
165
166Package: neutron-plugin-bigswitch
167Architecture: all
168Provides: neutron-plugin
169Depends:
170 neutron-common (= ${source:Version}),
171 ${misc:Depends},
172 ${python:Depends},
173 ${shlibs:Depends}
174Breaks: quantum-plugin-bigswitch ( << 1:2013.2~b2-0ubuntu1~ )
175Replaces: quantum-plugin-bigswitch ( << 1:2013.2~b2-0ubuntu1~ )
176Description: Neutron is a virtual network service for Openstack - BigSwitch plugin
177 Neutron is a virtual network service for Openstack, and a part of
178 Netstack. Just like OpenStack Nova provides an API to dynamically
179 request and configure virtual servers, Neutron provides an API to
180 dynamically request and configure virtual networks. These networks
181 connect "interfaces" from other OpenStack services (e.g., virtual NICs
182 from Nova VMs). The Neutron API supports extensions to provide
183 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
184 etc.)
185 .
186 This package provides the BigSwitch plugin.
187
188Package: neutron-plugin-hyperv
189Architecture: all
190Provides: neutron-plugin
191Depends:
192 neutron-common (= ${source:Version}),
193 ${misc:Depends},
194 ${python:Depends},
195 ${shlibs:Depends}
196Breaks: quantum-plugin-hyperv ( << 1:2013.2~b2-0ubuntu1~ )
197Replaces: quantum-plugin-hyperv ( << 1:2013.2~b2-0ubuntu1~ )
198Description: Neutron is a virtual network service for Openstack - Hyper-V plugin
199 Neutron is a virtual network service for Openstack, and a part of
200 Netstack. Just like OpenStack Nova provides an API to dynamically
201 request and configure virtual servers, Neutron provides an API to
202 dynamically request and configure virtual networks. These networks
203 connect "interfaces" from other OpenStack services (e.g., virtual NICs
204 from Nova VMs). The Neutron API supports extensions to provide
205 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
206 etc.)
207 .
208 This package provides the Hyper-V plugin.
209
210Package: neutron-plugin-brocade
211Architecture: all
212Provides: neutron-plugin
213Depends:
214 neutron-common (= ${source:Version}),
215 ${misc:Depends},
216 ${python:Depends},
217 ${shlibs:Depends}
218Breaks: quantum-plugin-brocade ( << 1:2013.2~b2-0ubuntu1~ )
219Replaces: quantum-plugin-brocade ( << 1:2013.2~b2-0ubuntu1~ )
220Description: Neutron is a virtual network service for Openstack - Brocade plugin
221 Neutron is a virtual network service for Openstack, and a part of
222 Netstack. Just like OpenStack Nova provides an API to dynamically
223 request and configure virtual servers, Neutron provides an API to
224 dynamically request and configure virtual networks. These networks
225 connect "interfaces" from other OpenStack services (e.g., virtual NICs
226 from Nova VMs). The Neutron API supports extensions to provide
227 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
228 etc.)
229 .
230 This package provides the Brocade plugin.
231
232Package: neutron-plugin-plumgrid
233Architecture: all
234Provides: neutron-plugin
235Depends:
236 neutron-common (= ${source:Version}),
237 ${misc:Depends},
238 ${python:Depends},
239 ${shlibs:Depends}
240Breaks: quantum-plugin-plumgrid ( << 1:2013.2~b2-0ubuntu1~ )
241Replaces: quantum-plugin-plumgrid ( << 1:2013.2~b2-0ubuntu1~ )
242Description: Neutron is a virtual network service for Openstack - PLUMgrid plugin
243 Neutron is a virtual network service for Openstack, and a part of
244 Netstack. Just like OpenStack Nova provides an API to dynamically
245 request and configure virtual servers, Neutron provides an API to
246 dynamically request and configure virtual networks. These networks
247 connect "interfaces" from other OpenStack services (e.g., virtual NICs
248 from Nova VMs). The Neutron API supports extensions to provide
249 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
250 etc.)
251 .
252 This package provides the PLUMgrid plugin.
253
254Package: neutron-plugin-metaplugin
255Architecture: all
256Provides: neutron-plugin
257Depends:
258 neutron-common (= ${source:Version}),
259 ${misc:Depends},
260 ${python:Depends},
261 ${shlibs:Depends}
262Breaks: quantum-plugin-metaplugin ( << 1:2013.2~b2-0ubuntu1~ )
263Replaces: quantum-plugin-metaplugin ( << 1:2013.2~b2-0ubuntu1~ )
264Description: Neutron is a virtual network service for Openstack - Metaplugin plugin
265 Neutron is a virtual network service for Openstack, and a part of
266 Netstack. Just like OpenStack Nova provides an API to dynamically
267 request and configure virtual servers, Neutron provides an API to
268 dynamically request and configure virtual networks. These networks
269 connect "interfaces" from other OpenStack services (e.g., virtual NICs
270 from Nova VMs). The Neutron API supports extensions to provide
271 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
272 etc.)
273 .
274 This package provides the Metaplugin plugin.
275
276Package: neutron-plugin-nicira
277Architecture: all
278Provides: neutron-plugin
279Depends:
280 neutron-common (= ${source:Version}),
281 ${misc:Depends},
282 ${python:Depends},
283 ${shlibs:Depends}
284Breaks: quantum-plugin-nicira ( << 1:2013.2~b2-0ubuntu1~ )
285Replaces: quantum-plugin-nicira ( << 1:2013.2~b2-0ubuntu1~ )
286Description: Neutron is a virtual network service for Openstack - Nicira plugin
287 Neutron is a virtual network service for Openstack, and a part of
288 Netstack. Just like OpenStack Nova provides an API to dynamically
289 request and configure virtual servers, Neutron provides an API to
290 dynamically request and configure virtual networks. These networks
291 connect "interfaces" from other OpenStack services (e.g., virtual NICs
292 from Nova VMs). The Neutron API supports extensions to provide
293 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
294 etc.)
295 .
296 This package provides the Nicira NVP plugin
297
298Package: neutron-l3-agent
299Architecture: all
300Depends:
301 iputils-arping,
302 neutron-common (= ${source:Version}),
303 neutron-metadata-agent (= ${source:Version}),
304 ${misc:Depends},
305 ${python:Depends},
306 ${shlibs:Depends}
307Breaks: quantum-l3-agent ( << 1:2013.2~b2-0ubuntu1~ )
308Replaces: quantum-l3-agent ( << 1:2013.2~b2-0ubuntu1~ )
309Description: Neutron is a virtual network service for Openstack - l3 agent
310 Neutron is a virtual network service for Openstack, and a part of
311 Netstack. Just like OpenStack Nova provides an API to dynamically
312 request and configure virtual servers, Neutron provides an API to
313 dynamically request and configure virtual networks. These networks
314 connect "interfaces" from other OpenStack services (e.g., virtual NICs
315 from Nova VMs). The Neutron API supports extensions to provide
316 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
317 etc.)
318 .
319 This package provides the layer 3 routing agent.
320
321Package: neutron-dhcp-agent
322Architecture: all
323Depends:
324 dnsmasq-base,
325 dnsmasq-utils,
326 neutron-common (= ${source:Version}),
327 neutron-metadata-agent (= ${source:Version}),
328 ${misc:Depends},
329 ${python:Depends},
330 ${shlibs:Depends}
331Breaks: quantum-dhcp-agent ( << 1:2013.2~b2-0ubuntu1~ )
332Replaces: quantum-dhcp-agent ( << 1:2013.2~b2-0ubuntu1~ )
333Description: Neutron is a virtual network service for Openstack - DHCP agent
334 Neutron is a virtual network service for Openstack, and a part of
335 Netstack. Just like OpenStack Nova provides an API to dynamically
336 request and configure virtual servers, Neutron provides an API to
337 dynamically request and configure virtual networks. These networks
338 connect "interfaces" from other OpenStack services (e.g., virtual NICs
339 from Nova VMs). The Neutron API supports extensions to provide
340 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
341 etc.)
342 .
343 This package provides the DHCP agent.
344
345Package: neutron-metadata-agent
346Architecture: all
347Depends:
348 neutron-common (= ${source:Version}),
349 ${misc:Depends},
350 ${python:Depends},
351 ${shlibs:Depends}
352Breaks: quantum-metadata-agent ( << 1:2013.2~b2-0ubuntu1~ )
353Replaces: quantum-metadata-agent ( << 1:2013.2~b2-0ubuntu1~ )
354Description: Neutron is a virtual network service for Openstack - metadata agent
355 Neutron is a virtual network service for Openstack, and a part of
356 Netstack. Just like OpenStack Nova provides an API to dynamically
357 request and configure virtual servers, Neutron provides an API to
358 dynamically request and configure virtual networks. These networks
359 connect "interfaces" from other OpenStack services (e.g., virtual NICs
360 from Nova VMs). The Neutron API supports extensions to provide
361 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
362 etc.)
363 .
364 This package provides the metadata proxy agent.
365
366Package: neutron-lbaas-agent
367Architecture: all
368Depends:
369 haproxy,
370 neutron-common (= ${source:Version}),
371 ${misc:Depends},
372 ${python:Depends},
373 ${shlibs:Depends}
374Breaks: quantum-lbaas-agent ( << 1:2013.2~b2-0ubuntu1~ )
375Replaces: quantum-lbass-agent ( << 1:2013.2~b2-0ubuntu1~ )
376Description: Neutron is a virtual network service for Openstack - LBaaS agent
377 Neutron is a virtual network service for Openstack, and a part of
378 Netstack. Just like OpenStack Nova provides an API to dynamically
379 request and configure virtual servers, Neutron provides an API to
380 dynamically request and configure virtual networks. These networks
381 connect "interfaces" from other OpenStack services (e.g., virtual NICs
382 from Nova VMs). The Neutron API supports extensions to provide
383 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
384 etc.)
385 .
386 This package provides the Load Balancing as-a Service (LBaaS) agent.
387
388Package: python-neutron
389Architecture: all
390Section: python
391Depends:
392 alembic (>= 0.6.0),
393 python-amqplib (>= 0.6.1),
394 python-anyjson (>= 0.3.3),
395 python-babel,
396 python-eventlet (>= 0.13.0),
397 python-greenlet (>= 0.3.12),
398 python-httplib2,
399 python-iso8601,
400 python-jinja2,
401 python-keystoneclient (>= 1:0.3.0),
402 python-kombu (>= 2.5.12),
403 python-netaddr,
404 python-neutronclient (>= 1:2.2.3),
405 python-oslo.config (>= 1:1.2.0a3),
406 python-paste,
407 python-pastedeploy,
408 python-psutil (>= 0.6.1),
409 python-requests (>= 1.1),
410 python-routes,
411 python-six,
412 python-sqlalchemy (>= 0.8.2),
413 python-stevedore (>= 0.10),
414 python-webob,
415 ${misc:Depends},
416 ${python:Depends}
417Provides: ${python:Provides}
418XB-Python-Version: ${python:Versions}
419Breaks: python-quantum ( << 1:2013.2~b2-0ubuntu1~ )
420Replaces: python-quantum ( << 1:2013.2~b2-0ubuntu1~ )
421Description: Neutron is a virutal network service for Openstack - Python library
422 Neutron is a virtual network service for Openstack, and a part of
423 Netstack. Just like OpenStack Nova provides an API to dynamically
424 request and configure virtual servers, Neutron provides an API to
425 dynamically request and configure virtual networks. These networks
426 connect "interfaces" from other OpenStack services (e.g., virtual NICs
427 from Nova VMs). The Neutron API supports extensions to provide
428 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
429 etc.)
430 .
431 This package provides the Python library.
432
433Package: neutron-plugin-openvswitch
434Architecture: all
435Provides: neutron-plugin
436Depends:
437 neutron-common (= ${source:Version}),
438 ${misc:Depends},
439 ${python:Depends},
440 ${shlibs:Depends}
441Breaks: quantum-plugin-openvswitch ( << 1:2013.2~b2-0ubuntu1~ )
442Replaces: quantum-plugin-openvswitch ( << 1:2013.2~b2-0ubuntu1~ )
443Description: Neutron is a virtual network service for Openstack - Open vSwitch plugin
444 Neutron is a virtual network service for Openstack, and a part of
445 Netstack. Just like OpenStack Nova provides an API to dynamically
446 request and configure virtual servers, Neutron provides an API to
447 dynamically request and configure virtual networks. These networks
448 connect "interfaces" from other OpenStack services (e.g., virtual NICs
449 from Nova VMs). The Neutron API supports extensions to provide
450 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
451 etc.)
452 .
453 This package provides the Open vSwitch plugin.
454
455Package: neutron-plugin-ml2
456Architecture: all
457Provides: neutron-plugin
458Depends:
459 neutron-common (= ${source:Version}),
460 ${misc:Depends},
461 ${python:Depends},
462 ${shlibs:Depends}
463Description: Neutron is a virtual network service for Openstack - ML2 plugin
464 Neutron is a virtual network service for Openstack, and a part of
465 Netstack. Just like OpenStack Nova provides an API to dynamically
466 request and configure virtual servers, Neutron provides an API to
467 dynamically request and configure virtual networks. These networks
468 connect "interfaces" from other OpenStack services (e.g., virtual NICs
469 from Nova VMs). The Neutron API supports extensions to provide
470 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
471 etc.)
472 .
473 This package provides the Modular Layer 2 plugin.
474
475Package: neutron-plugin-openvswitch-agent
476Architecture: all
477Depends:
478 neutron-common (= ${source:Version}),
479 neutron-plugin-ml2,
480 openvswitch-switch,
481 ${misc:Depends},
482 ${python:Depends},
483 ${shlibs:Depends}
484Breaks: quantum-plugin-openvswitch-agent ( << 1:2013.2~b2-0ubuntu1~ )
485Replaces: quantum-plugin-openvswitch-agent ( << 1:2013.2~b2-0ubuntu1~ )
486Description: Neutron is a virtual network service for Openstack - Open vSwitch plugin agent
487 Neutron is a virtual network service for Openstack, and a part of
488 Netstack. Just like OpenStack Nova provides an API to dynamically
489 request and configure virtual servers, Neutron provides an API to
490 dynamically request and configure virtual networks. These networks
491 connect "interfaces" from other OpenStack services (e.g., virtual NICs
492 from Nova VMs). The Neutron API supports extensions to provide
493 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
494 etc.)
495 .
496 This package provides the Open vSwitch plugin agent.
497
498Package: neutron-plugin-linuxbridge
499Architecture: all
500Provides: neutron-plugin
501Depends:
502 neutron-common (= ${source:Version}),
503 ${misc:Depends},
504 ${python:Depends},
505 ${shlibs:Depends}
506Breaks: quantum-plugin-linuxbridge ( << 1:2013.2~b2-0ubuntu1~ )
507Replaces: quantum-plugin-linuxbridge ( << 1:2013.2~b2-0ubuntu1~ )
508Description: Neutron is a virtual network service for Openstack - linuxbridge plugin
509 Neutron is a virtual network service for Openstack, and a part of
510 Netstack. Just like OpenStack Nova provides an API to dynamically
511 request and configure virtual servers, Neutron provides an API to
512 dynamically request and configure virtual networks. These networks
513 connect "interfaces" from other OpenStack services (e.g., virtual NICs
514 from Nova VMs). The Neutron API supports extensions to provide
515 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
516 etc.)
517 .
518 This package provides the linuxbridge plugin.
519
520Package: neutron-plugin-linuxbridge-agent
521Architecture: all
522Depends:
523 bridge-utils,
524 neutron-common (= ${source:Version}),
525 neutron-plugin-linuxbridge,
526 ${misc:Depends},
527 ${python:Depends},
528 ${shlibs:Depends}
529Breaks: quantum-plugin-linuxbirdge-agent ( << 1:2013.2~b2-0ubuntu1~ )
530Replaces: quantum-plugin-linuxbridge-agent ( << 1:2013.2~b2-0ubuntu1~ )
531Description: Neutron is a virtual network service for Openstack - linuxbridge plugin agent
532 Neutron is a virtual network service for Openstack, and a part of
533 Netstack. Just like OpenStack Nova provides an API to dynamically
534 request and configure virtual servers, Neutron provides an API to
535 dynamically request and configure virtual networks. These networks
536 connect "interfaces" from other OpenStack services (e.g., virtual NICs
537 from Nova VMs). The Neutron API supports extensions to provide
538 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
539 etc.)
540 .
541 This package provides the linuxbridge plugin agent.
542
543Package: neutron-plugin-ryu
544Architecture: all
545Provides: neutron-plugin
546Depends:
547 neutron-common (= ${source:Version}),
548 ${misc:Depends},
549 ${python:Depends},
550 ${shlibs:Depends}
551Breaks: quantum-plugin-ryu ( << 1:2013.2~b2-0ubuntu1~ )
552Replaces: quantum-plugin-ryu ( << 1:2013.2~b2-0ubuntu1~ )
553Description: Neutron is a virtual network service for Openstack - RYU plugin
554 Neutron is a virtual network service for Openstack, and a part of
555 Netstack. Just like OpenStack Nova provides an API to dynamically
556 request and configure virtual servers, Neutron provides an API to
557 dynamically request and configure virtual networks. These networks
558 connect "interfaces" from other OpenStack services (e.g., virtual NICs
559 from Nova VMs). The Neutron API supports extensions to provide
560 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
561 etc.)
562 .
563 This package provides the RYU plugin.
564
565Package: neutron-plugin-ryu-agent
566Architecture: all
567Depends:
568 neutron-common (= ${source:Version}),
569 neutron-plugin-ryu,
570 ${misc:Depends},
571 ${python:Depends},
572 ${shlibs:Depends}
573Breaks: quantum-plugin-ryu-agent ( << 1:2013.2~b2-0ubuntu1~ )
574Replaces: quantum-plugin-ryu-agent ( << 1:2013.2~b2-0ubuntu1~ )
575Description: Neutron is a virtual network service for Openstack - RYU plugin agent
576 Neutron is a virtual network service for Openstack, and a part of
577 Netstack. Just like OpenStack Nova provides an API to dynamically
578 request and configure virtual servers, Neutron provides an API to
579 dynamically request and configure virtual networks. These networks
580 connect "interfaces" from other OpenStack services (e.g., virtual NICs
581 from Nova VMs). The Neutron API supports extensions to provide
582 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
583 etc.)
584 .
585 This package provides the RYU plugin agent.
586
587Package: neutron-plugin-midonet
588Architecture: all
589Provides: neutron-plugin
590Depends:
591 neutron-common (= ${source:Version}),
592 ${misc:Depends},
593 ${python:Depends},
594 ${shlibs:Depends}
595Breaks: quantum-plugin-midonet ( << 1:2013.2~b2-0ubuntu1~ )
596Replaces: quantum-plugin-midonet ( << 1:2013.2~b2-0ubuntu1~ )
597Description: Neutron is a virtual network service for Openstack - Midonet plugin
598 Neutron is a virtual network service for Openstack, and a part of
599 Netstack. Just like OpenStack Nova provides an API to dynamically
600 request and configure virtual servers, Neutron provides an API to
601 dynamically request and configure virtual networks. These networks
602 connect "interfaces" from other OpenStack services (e.g., virtual NICs
603 from Nova VMs). The Neutron API supports extensions to provide
604 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
605 etc.)
606 .
607 This package provides the Midonet plugin.
608
609Package: neutron-plugin-mlnx-agent
610Architecture: all
611Provides: neutron-plugin
612Depends:
613 neutron-common (= ${source:Version}),
614 ${misc:Depends},
615 ${python:Depends},
616 ${shlibs:Depends}
617Description: Neutron is a virtual network service for Openstack - mlnx plugin agent
618 Neutron is a virtual network service for Openstack, and a part of
619 Netstack. Just like OpenStack Nova provides an API to dynamically
620 request and configure virtual servers, Neutron provides an API to
621 dynamically request and configure virtual networks. These networks
622 connect "interfaces" from other OpenStack services (e.g., virtual NICs
623 from Nova VMs). The Neutron API supports extensions to provide
624 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
625 etc.)
626 .
627 This package provides the mlnx plugin agent.
628
629Package: neutron-plugin-vpn-agent
630Architecture: all
631Provides: neutron-plugin
632Depends:
633 neutron-common (= ${source:Version}),
634 ${misc:Depends},
635 ${python:Depends},
636 ${shlibs:Depends}
637Description: Neutron is a virtual network service for Openstack - vpn plugin
638 Neutron is a virtual network service for Openstack, and a part of
639 Netstack. Just like OpenStack Nova provides an API to dynamically
640 request and configure virtual servers, Neutron provides an API to
641 dynamically request and configure virtual networks. These networks
642 connect "interfaces" from other OpenStack services (e.g., virtual NICs
643 from Nova VMs). The Neutron API supports extensions to provide
644 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
645 etc.)
646 .
647 This package provides the vpn plugin.
648
649Package: neutron-plugin-metering-agent
650Architecture: all
651Provides: neutron-plugin
652Depends:
653 neutron-common (= ${source:Version}),
654 ${misc:Depends},
655 ${python:Depends},
656 ${shlibs:Depends}
657Description: Neutron is a virtual network service for Openstack - metering plugin
658 Neutron is a virtual network service for Openstack, and a part of
659 Netstack. Just like OpenStack Nova provides an API to dynamically
660 request and configure virtual servers, Neutron provides an API to
661 dynamically request and configure virtual networks. These networks
662 connect "interfaces" from other OpenStack services (e.g., virtual NICs
663 from Nova VMs). The Neutron API supports extensions to provide
664 advanced network capabilities (e.g., QoS, ACLs, network monitoring,
665 etc.)
666 .
667 This package provides the metering plugin.
0668
=== added file 'debian/copyright'
--- debian/copyright 1970-01-01 00:00:00 +0000
+++ debian/copyright 2014-02-21 16:49:36 +0000
@@ -0,0 +1,37 @@
1Format: http://dep.debian.net/deps/dep5
2Upstream-Name: neutron
3Source: http://github.com/openstack/neutron
4
5Files: *
6Copyright: 2011 OpenStack, LLC.
7 2011 Cisco Systems
8 2011 Nicira Networks
9 2011 Citrix Systems
10License: Apache-2
11 Licensed under the Apache License, Version 2.0 (the "License");
12 you may not use this file except in compliance with the License.
13 You may obtain a copy of the License at
14 .
15 http://www.apache.org/licenses/LICENSE-2.0
16 .
17 Unless required by applicable law or agreed to in writing, software
18 distributed under the License is distributed on an "AS IS" BASIS,
19 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20 See the License for the specific language governing permissions and
21 limitations under the License.
22 .
23 On Debian-based systems the full text of the Apache version 2.0 license
24 can be found in `/usr/share/common-licenses/Apache-2.0'
25
26Files: tools/rfc.sh
27Copyright: Copyright (c) 2010-2011 Gluster, Inc
28License: GPL-v3
29 GNU GENERAL PUBLIC LICENSE
30 Version 3, 29 June 2007
31 .
32 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
33 Everyone is permitted to copy and distribute verbatim copies
34 of this license document, but changing it is not allowed.
35 .
36 On Debian-based systems the full text of the Apache version 2.0 license
37 can be found in `/usr/share/common-licenses/GPL-3'
038
=== added directory 'debian/cron.d'
=== added file 'debian/cron.d/neutron-dhcp-agent-netns-cleanup'
--- debian/cron.d/neutron-dhcp-agent-netns-cleanup 1970-01-01 00:00:00 +0000
+++ debian/cron.d/neutron-dhcp-agent-netns-cleanup 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1# vim: set filetype=crontab:
2# Periodically cleans Quantum's network namespaces on behalf of the Quantum
3# DHCP agent.
430 * * * * 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
05
=== added file 'debian/cron.d/neutron-l3-agent-netns-cleanup'
--- debian/cron.d/neutron-l3-agent-netns-cleanup 1970-01-01 00:00:00 +0000
+++ debian/cron.d/neutron-l3-agent-netns-cleanup 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1# vim: set filetype=crontab:
2# Periodically cleans Quantum's network namespaces on behalf of the Quantum
3# L3 agent.
40 * * * * 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
05
=== added file 'debian/cron.d/neutron-lbaas-agent-netns-cleanup'
--- debian/cron.d/neutron-lbaas-agent-netns-cleanup 1970-01-01 00:00:00 +0000
+++ debian/cron.d/neutron-lbaas-agent-netns-cleanup 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1# vim: set filetype=crontab:
2# Periodically cleans Quantum's network namespaces on behalf of the Quantum
3# L3 agent.
40 * * * * 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
05
=== added directory 'debian/mans'
=== added file 'debian/mans/neutron-linuxbridge-agent.8'
--- debian/mans/neutron-linuxbridge-agent.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-linuxbridge-agent.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron\-linuxbridge\-agent 8
2.SH NAME
3neutron\-linuxbridge\-agent \- OpenStack Virtual network service \- linuxbridge agent
4
5.SH SYNOPSIS
6.B neutron\-linuxbridge\-agent
7
8.SH DESCRIPTION
9.B neutron\-linuxbridge\-agent
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/mans/neutron-nec-agent.8'
--- debian/mans/neutron-nec-agent.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-nec-agent.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron\-nec\-agent 8
2.SH NAME
3neutron\-nec\-agent \- OpenStack Virtual network service \- nec agent
4
5.SH SYNOPSIS
6.B neutron\-nec\-agent
7
8.SH DESCRIPTION
9.B neutron\-nec\-agent
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/mans/neutron-openvswitch-agent.8'
--- debian/mans/neutron-openvswitch-agent.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-openvswitch-agent.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron\-openvswitch\-agent 8
2.SH NAME
3neutron\-openvswitch\-agent \- OpenStack Virtual network service \- openvswitch agent
4
5.SH SYNOPSIS
6.B neutron\-openvswitch\-agent
7
8.SH DESCRIPTION
9.B neutron\-openvswitch\-agent
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/mans/neutron-rootwrap.8'
--- debian/mans/neutron-rootwrap.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-rootwrap.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron-rootwrap 8
2.SH NAME
3neutron-rootwrap \- OpenStack Virtual network service \- sudo helper
4
5.SH SYNOPSIS
6.B neutron-rootwrap
7
8.SH DESCRIPTION
9.B neutron-rootwrap
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/mans/neutron-ryu-agent.8'
--- debian/mans/neutron-ryu-agent.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-ryu-agent.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron\-ryu\-agent 8
2.SH NAME
3neutron\-ryu\-agent \- OpenStack Virtual network service \- ryu agent
4
5.SH SYNOPSIS
6.B neutron\-ryu\-agent
7
8.SH DESCRIPTION
9.B neutron\-ryu\-agent
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/mans/neutron-server.8'
--- debian/mans/neutron-server.8 1970-01-01 00:00:00 +0000
+++ debian/mans/neutron-server.8 2014-02-21 16:49:36 +0000
@@ -0,0 +1,11 @@
1.TH neutron-server 8
2.SH NAME
3neutron-server \- OpenStack Virtual network service \- server
4
5.SH SYNOPSIS
6.B neutron-server
7
8.SH DESCRIPTION
9.B neutron-server
10
11This man page is a stub. Please contribute.
012
=== added file 'debian/neutron-common.dirs'
--- debian/neutron-common.dirs 1970-01-01 00:00:00 +0000
+++ debian/neutron-common.dirs 2014-02-21 16:49:36 +0000
@@ -0,0 +1,5 @@
1var/log/neutron
2var/lib/neutron
3etc/neutron
4etc/neutron/rootwrap.d
5etc/neutron/plugins
06
=== added file 'debian/neutron-common.install'
--- debian/neutron-common.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-common.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,14 @@
1debian/neutron_sudoers etc/sudoers.d
2etc/api-paste.ini etc/neutron
3etc/neutron.conf etc/neutron
4etc/neutron/rootwrap.d/debug.filters etc/neutron/rootwrap.d
5etc/neutron/rootwrap.d/iptables-firewall.filters etc/neutron/rootwrap.d
6etc/policy.json etc/neutron
7etc/rootwrap.conf etc/neutron
8usr/bin/neutron-db-manage usr/bin
9usr/bin/neutron-debug usr/bin
10usr/bin/neutron-netns-cleanup usr/bin
11usr/bin/neutron-ovs-cleanup usr/bin
12usr/bin/neutron-rootwrap usr/bin
13usr/bin/neutron-rootwrap-xen-dom0 usr/bin
14usr/bin/neutron-usage-audit usr/bin
015
=== added file 'debian/neutron-common.postinst'
--- debian/neutron-common.postinst 1970-01-01 00:00:00 +0000
+++ debian/neutron-common.postinst 2014-02-21 16:49:36 +0000
@@ -0,0 +1,31 @@
1#!/bin/sh
2
3set -e
4
5if [ "$1" = "configure" ]
6then
7 if ! getent group neutron > /dev/null 2>&1
8 then
9 addgroup --system neutron >/dev/null
10 fi
11 if ! getent passwd neutron > /dev/null 2>&1
12 then
13 adduser --system --home /var/lib/neutron --ingroup neutron --no-create-home --shell /bin/false neutron
14 fi
15 chown -R neutron:neutron /var/lib/neutron/
16
17 chown -R neutron:adm /var/log/neutron/
18 chmod 0750 /var/log/neutron/
19
20 chown -R root:neutron /etc/neutron/
21 chmod 0750 /etc/neutron/
22 chown root:root /etc/neutron/rootwrap.conf
23 chown -R root:root /etc/neutron/rootwrap.d
24 chmod 0755 /etc/neutron/rootwrap.d
25
26 if [ -f /etc/sudoers.d/neutron_sudoers ] ; then
27 chmod 0440 /etc/sudoers.d/neutron_sudoers
28 fi
29fi
30
31#DEBHELPER#
032
=== added file 'debian/neutron-dhcp-agent.install'
--- debian/neutron-dhcp-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-dhcp-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1debian/cron.d/neutron-dhcp-agent-netns-cleanup etc/cron.d
2etc/dhcp_agent.ini etc/neutron
3etc/neutron/rootwrap.d/dhcp.filters etc/neutron/rootwrap.d
4usr/bin/neutron-dhcp-agent usr/bin
05
=== added file 'debian/neutron-dhcp-agent.logrotate'
--- debian/neutron-dhcp-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-dhcp-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/dhcp-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-dhcp-agent.upstart'
--- debian/neutron-dhcp-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-dhcp-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,22 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron DHCP Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15 # Check to see if openvswitch plugin in use by checking
16 # status of cleanup upstart configuration
17 if status neutron-ovs-cleanup; then
18 start wait-for-state WAIT_FOR=neutron-ovs-cleanup WAIT_STATE=running WAITER=neutron-dhcp-agent
19 fi
20end script
21
22exec 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
023
=== added file 'debian/neutron-l3-agent.install'
--- debian/neutron-l3-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-l3-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1debian/cron.d/neutron-l3-agent-netns-cleanup etc/cron.d
2etc/l3_agent.ini etc/neutron
3etc/neutron/rootwrap.d/l3.filters etc/neutron/rootwrap.d
4usr/bin/neutron-l3-agent usr/bin
05
=== added file 'debian/neutron-l3-agent.logrotate'
--- debian/neutron-l3-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-l3-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/l3-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-l3-agent.upstart'
--- debian/neutron-l3-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-l3-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,22 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron L3 Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15 # Check to see if openvswitch plugin in use by checking
16 # status of cleanup upstart configuration
17 if status neutron-ovs-cleanup; then
18 start wait-for-state WAIT_FOR=neutron-ovs-cleanup WAIT_STATE=running WAITER=neutron-l3-agent
19 fi
20end script
21
22exec 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
023
=== added file 'debian/neutron-lbaas-agent.install'
--- debian/neutron-lbaas-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-lbaas-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1debian/cron.d/neutron-lbaas-agent-netns-cleanup etc/cron.d
2etc/lbaas_agent.ini etc/neutron
3etc/neutron/rootwrap.d/lbaas-haproxy.filters etc/neutron/rootwrap.d
4usr/bin/neutron-lbaas-agent usr/bin
05
=== added file 'debian/neutron-lbaas-agent.logrotate'
--- debian/neutron-lbaas-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-lbaas-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/lbaas-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-lbaas-agent.upstart'
--- debian/neutron-lbaas-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-lbaas-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,17 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron LBaaS Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec 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
018
=== added file 'debian/neutron-metadata-agent.install'
--- debian/neutron-metadata-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-metadata-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,3 @@
1etc/metadata_agent.ini etc/neutron
2usr/bin/neutron-metadata-agent usr/bin
3usr/bin/neutron-ns-metadata-proxy usr/bin
04
=== added file 'debian/neutron-metadata-agent.logrotate'
--- debian/neutron-metadata-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-metadata-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/metadata-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-metadata-agent.upstart'
--- debian/neutron-metadata-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-metadata-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron Metadata Plugin Agent"
3author "Yolanda Robla <yolanda.robla@canonical.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-metadata-agent -- \
18 --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/metadata_agent.ini \
19 --log-file=/var/log/neutron/metadata-agent.log
020
=== added file 'debian/neutron-plugin-bigswitch.install'
--- debian/neutron-plugin-bigswitch.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-bigswitch.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/bigswitch/* etc/neutron/plugins/bigswitch
02
=== added file 'debian/neutron-plugin-brocade.install'
--- debian/neutron-plugin-brocade.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-brocade.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/brocade/* etc/neutron/plugins/brocade
02
=== added file 'debian/neutron-plugin-cisco.install'
--- debian/neutron-plugin-cisco.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-cisco.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/cisco/* etc/neutron/plugins/cisco
02
=== added file 'debian/neutron-plugin-hyperv.install'
--- debian/neutron-plugin-hyperv.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-hyperv.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/plugins/hyperv/* etc/neutron/plugins/hyperv
2usr/bin/neutron-hyperv-agent usr/bin
03
=== added file 'debian/neutron-plugin-linuxbridge-agent.install'
--- debian/neutron-plugin-linuxbridge-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-linuxbridge-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/rootwrap.d/linuxbridge-plugin.filters etc/neutron/rootwrap.d
2usr/bin/neutron-linuxbridge-agent usr/bin
03
=== added file 'debian/neutron-plugin-linuxbridge-agent.logrotate'
--- debian/neutron-plugin-linuxbridge-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-linuxbridge-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/linuxbridge-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-plugin-linuxbridge-agent.manpages'
--- debian/neutron-plugin-linuxbridge-agent.manpages 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-linuxbridge-agent.manpages 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1debian/mans/neutron-linuxbridge-agent.8
02
=== added file 'debian/neutron-plugin-linuxbridge-agent.upstart'
--- debian/neutron-plugin-linuxbridge-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-linuxbridge-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,17 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron API Server"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec 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
018
=== added file 'debian/neutron-plugin-linuxbridge.install'
--- debian/neutron-plugin-linuxbridge.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-linuxbridge.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/linuxbridge/* etc/neutron/plugins/linuxbridge
02
=== added file 'debian/neutron-plugin-metaplugin.install'
--- debian/neutron-plugin-metaplugin.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-metaplugin.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/metaplugin/* etc/neutron/plugins/metaplugin
02
=== added file 'debian/neutron-plugin-metering-agent.install'
--- debian/neutron-plugin-metering-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-metering-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/metering_agent.ini etc/neutron
2usr/bin/neutron-metering-agent usr/bin
03
=== added file 'debian/neutron-plugin-metering-agent.upstart'
--- debian/neutron-plugin-metering-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-metering-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron metering agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-metering-agent -- \
18 --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/metering_agent.ini \
19 --log-file=/var/log/neutron/metering_agent.log
020
=== added file 'debian/neutron-plugin-midonet.install'
--- debian/neutron-plugin-midonet.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-midonet.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/midonet/* etc/neutron/plugins/midonet
02
=== added file 'debian/neutron-plugin-ml2.install'
--- debian/neutron-plugin-ml2.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ml2.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/ml2/* etc/neutron/plugins/ml2
02
=== added file 'debian/neutron-plugin-mlnx-agent.install'
--- debian/neutron-plugin-mlnx-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-mlnx-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/plugins/mlnx/* etc/neutron/plugins/mlnx
2usr/bin/neutron-mlnx-agent usr/bin
03
=== added file 'debian/neutron-plugin-mlnx-agent.upstart'
--- debian/neutron-plugin-mlnx-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-mlnx-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron MLNX Plugin Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-mlnx-agent -- \
18 --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/plugins/mlnx/mlnx_conf.ini \
19 --log-file=/var/log/neutron/mlnx_conf.log
020
=== added file 'debian/neutron-plugin-nec-agent.install'
--- debian/neutron-plugin-nec-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nec-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/rootwrap.d/nec-plugin.filters etc/neutron/rootwrap.d
2usr/bin/neutron-nec-agent usr/bin
03
=== added file 'debian/neutron-plugin-nec-agent.logrotate'
--- debian/neutron-plugin-nec-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nec-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/nec-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-plugin-nec-agent.manpages'
--- debian/neutron-plugin-nec-agent.manpages 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nec-agent.manpages 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1debian/mans/neutron-nec-agent.8
02
=== added file 'debian/neutron-plugin-nec-agent.upstart'
--- debian/neutron-plugin-nec-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nec-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,17 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron NEC Plugin Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec 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
018
=== added file 'debian/neutron-plugin-nec.install'
--- debian/neutron-plugin-nec.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nec.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/nec/* etc/neutron/plugins/nec
02
=== added file 'debian/neutron-plugin-nicira.install'
--- debian/neutron-plugin-nicira.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-nicira.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,3 @@
1etc/neutron/plugins/nicira/* etc/neutron/plugins/nicira
2usr/bin/neutron-check-nvp-config usr/bin
3usr/bin/neutron-check-nsx-config usr/bin
04
=== added file 'debian/neutron-plugin-openvswitch-agent.install'
--- debian/neutron-plugin-openvswitch-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/rootwrap.d/openvswitch-plugin.filters etc/neutron/rootwrap.d
2usr/bin/neutron-openvswitch-agent usr/bin
03
=== added file 'debian/neutron-plugin-openvswitch-agent.logrotate'
--- debian/neutron-plugin-openvswitch-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/openvswitch-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-plugin-openvswitch-agent.manpages'
--- debian/neutron-plugin-openvswitch-agent.manpages 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch-agent.manpages 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1debian/mans/neutron-openvswitch-agent.8
02
=== added file 'debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart'
--- debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch-agent.neutron-ovs-cleanup.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,13 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron OVS cleanup"
3author "James Page <james.page@ubuntu.com>"
4
5start on started openvswitch-switch
6stop on runlevel [!2345]
7
8pre-start script
9 [ ! -x /usr/bin/neutron-ovs-cleanup ] && exit 0
10 start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-ovs-cleanup -- \
11 --log-file /var/log/neutron/ovs-cleanup.log \
12 --config-file /etc/neutron/neutron.conf --verbose
13end script
014
=== added file 'debian/neutron-plugin-openvswitch-agent.upstart'
--- debian/neutron-plugin-openvswitch-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,17 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron OpenvSwitch Plugin Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345] and started neutron-ovs-cleanup
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec 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
018
=== added file 'debian/neutron-plugin-openvswitch.install'
--- debian/neutron-plugin-openvswitch.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-openvswitch.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/openvswitch/* etc/neutron/plugins/openvswitch
02
=== added file 'debian/neutron-plugin-plumgrid.install'
--- debian/neutron-plugin-plumgrid.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-plumgrid.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/plumgrid/* etc/neutron/plugins/plumgrid
02
=== added file 'debian/neutron-plugin-ryu-agent.install'
--- debian/neutron-plugin-ryu-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ryu-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/neutron/rootwrap.d/ryu-plugin.filters etc/neutron/rootwrap.d
2usr/bin/neutron-ryu-agent usr/bin
03
=== added file 'debian/neutron-plugin-ryu-agent.logrotate'
--- debian/neutron-plugin-ryu-agent.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ryu-agent.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/ryu-agent.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-plugin-ryu-agent.manpages'
--- debian/neutron-plugin-ryu-agent.manpages 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ryu-agent.manpages 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1debian/mans/neutron-ryu-agent.8
02
=== added file 'debian/neutron-plugin-ryu-agent.upstart'
--- debian/neutron-plugin-ryu-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ryu-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,17 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron RYU Plugin Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec 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
018
=== added file 'debian/neutron-plugin-ryu.install'
--- debian/neutron-plugin-ryu.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-ryu.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1etc/neutron/plugins/ryu/* etc/neutron/plugins/ryu
02
=== added file 'debian/neutron-plugin-vpn-agent.install'
--- debian/neutron-plugin-vpn-agent.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-vpn-agent.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1etc/vpn_agent.ini etc/neutron
2usr/bin/neutron-vpn-agent usr/bin
03
=== added file 'debian/neutron-plugin-vpn-agent.upstart'
--- debian/neutron-plugin-vpn-agent.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-plugin-vpn-agent.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron vpn Plugin Agent"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-vpn-agent -- \
18 --config-file=/etc/neutron/neutron.conf --config-file=/etc/neutron/vpn_agent.ini \
19 --log-file=/var/log/neutron/vpn_agent.log
020
=== added file 'debian/neutron-server.default'
--- debian/neutron-server.default 1970-01-01 00:00:00 +0000
+++ debian/neutron-server.default 2014-02-21 16:49:36 +0000
@@ -0,0 +1,5 @@
1# defaults for neutron-server
2
3# path to config file corresponding to the core_plugin specified in
4# neutron.conf
5NEUTRON_PLUGIN_CONFIG="/etc/neutron/plugins/ml2/ml2_conf.ini"
06
=== added file 'debian/neutron-server.install'
--- debian/neutron-server.install 1970-01-01 00:00:00 +0000
+++ debian/neutron-server.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1usr/bin/neutron-server usr/bin
02
=== added file 'debian/neutron-server.logrotate'
--- debian/neutron-server.logrotate 1970-01-01 00:00:00 +0000
+++ debian/neutron-server.logrotate 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1/var/log/neutron/server.log {
2 daily
3 missingok
4 compress
5 delaycompress
6 notifempty
7}
08
=== added file 'debian/neutron-server.manpages'
--- debian/neutron-server.manpages 1970-01-01 00:00:00 +0000
+++ debian/neutron-server.manpages 2014-02-21 16:49:36 +0000
@@ -0,0 +1,2 @@
1debian/mans/neutron-server.8
2debian/mans/neutron-rootwrap.8
03
=== added file 'debian/neutron-server.upstart'
--- debian/neutron-server.upstart 1970-01-01 00:00:00 +0000
+++ debian/neutron-server.upstart 2014-02-21 16:49:36 +0000
@@ -0,0 +1,23 @@
1# vim:set ft=upstart ts=2 et:
2description "Neutron API Server"
3author "Chuck Short <zulcss@ubuntu.com>"
4
5start on runlevel [2345]
6stop on runlevel [!2345]
7
8respawn
9
10chdir /var/run
11
12pre-start script
13 mkdir -p /var/run/neutron
14 chown neutron:root /var/run/neutron
15end script
16
17script
18 [ -r /etc/default/neutron-server ] && . /etc/default/neutron-server
19 [ -r "$NEUTRON_PLUGIN_CONFIG" ] && CONF_ARG="--config-file $NEUTRON_PLUGIN_CONFIG"
20 exec start-stop-daemon --start --chuid neutron --exec /usr/bin/neutron-server -- \
21 --config-file /etc/neutron/neutron.conf \
22 --log-file /var/log/neutron/server.log $CONF_ARG
23end script
024
=== added file 'debian/neutron_sudoers'
--- debian/neutron_sudoers 1970-01-01 00:00:00 +0000
+++ debian/neutron_sudoers 2014-02-21 16:49:36 +0000
@@ -0,0 +1,3 @@
1Defaults:neutron !requiretty
2
3neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap
04
=== added directory 'debian/patches'
=== added file 'debian/patches/disable-failing-cisco-test.patch'
--- debian/patches/disable-failing-cisco-test.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/disable-failing-cisco-test.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,25 @@
1Description: Skip failing cisco test
2 ======================================================================
3 FAIL: neutron.tests.unit.ml2.drivers.test_cisco_mech.TestCiscoBasicGet.test_single_get_admin
4 neutron.tests.unit.ml2.drivers.test_cisco_mech.TestCiscoBasicGet.test_single_get_admin
5 ----------------------------------------------------------------------
6 _StringException
7
8 ----------------------------------------------------------------------
9Author: James Page <james.page@ubuntu.com>
10Forwarded: not-needed
11Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1262195
12
13--- a/neutron/tests/unit/ml2/drivers/test_cisco_mech.py
14+++ b/neutron/tests/unit/ml2/drivers/test_cisco_mech.py
15@@ -147,8 +147,8 @@ class CiscoML2MechanismTestCase(test_db_
16
17 class TestCiscoBasicGet(CiscoML2MechanismTestCase,
18 test_db_plugin.TestBasicGet):
19-
20- pass
21+ def test_single_get_admin(self):
22+ pass
23
24
25 class TestCiscoV2HTTPResponse(CiscoML2MechanismTestCase,
026
=== added file 'debian/patches/disable-failing-metaplugin-tests.patch'
--- debian/patches/disable-failing-metaplugin-tests.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/disable-failing-metaplugin-tests.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,67 @@
1Description: Disable failing metaplugin tests
2 Some metaplugin tests are currently failing in Ubuntu; patch
3 then out until they get resolved in full.
4Author: James Page <james.page@ubuntu.com>
5Forwarded: not-needed
6Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1262174
7
8--- a/neutron/tests/unit/metaplugin/test_basic.py
9+++ b/neutron/tests/unit/metaplugin/test_basic.py
10@@ -43,7 +43,14 @@ class TestMetaBasicGet(test_plugin.TestB
11
12 class TestMetaV2HTTPResponse(test_plugin.TestV2HTTPResponse,
13 MetaPluginV2DBTestCase):
14- pass
15+ def test_list_with_fields_noadmin(self):
16+ pass
17+
18+ def test_list_with_fields(self):
19+ pass
20+
21+ def test_list_with_fields_noadmin_and_policy_field(self):
22+ pass
23
24
25 class TestMetaPortsV2(test_plugin.TestPortsV2,
26@@ -53,7 +60,30 @@ class TestMetaPortsV2(test_plugin.TestPo
27
28 class TestMetaNetworksV2(test_plugin.TestNetworksV2,
29 MetaPluginV2DBTestCase):
30- pass
31+
32+ def test_list_networks_without_pk_in_fields_pagination_emulated(self):
33+ pass
34+
35+ def test_list_shared_networks_with_non_admin_user(self):
36+ pass
37+
38+ def test_list_networks_with_pagination_emulated(self):
39+ pass
40+
41+ def test_list_networks_with_sort_emulated(self):
42+ pass
43+
44+ def test_list_networks_with_pagination_reverse_emulated(self):
45+ pass
46+
47+ def test_list_networks_with_parameters(self):
48+ pass
49+
50+ def test_list_networks_with_fields(self):
51+ pass
52+
53+ def test_list_networks(self):
54+ pass
55
56
57 class TestMetaSubnetsV2(test_plugin.TestSubnetsV2,
58--- a/neutron/tests/unit/metaplugin/test_metaplugin.py
59+++ b/neutron/tests/unit/metaplugin/test_metaplugin.py
60@@ -144,6 +144,7 @@ class MetaNeutronPluginV2Test(base.BaseT
61 return data
62
63 def test_create_delete_network(self):
64+ return
65 network1 = self._fake_network('fake1')
66 ret1 = self.plugin.create_network(self.context, network1)
67 self.assertEqual('fake1', ret1[FLAVOR_NETWORK])
068
=== added file 'debian/patches/disable-udev-tests.patch'
--- debian/patches/disable-udev-tests.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/disable-udev-tests.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1008 @@
1Description: Disable udev tests
2 udev is not always avaliable in Ubuntu buildds; skip tests that
3 want to use this feature.
4Author: Chuck Short <zulcss@ubuntu.com>
5Fowarded: not-needed
6diff -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
7--- neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py 2014-01-23 10:13:25.000000000 -0500
8+++ neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py 2014-02-03 08:53:04.409255073 -0500
9@@ -46,6 +46,7 @@ class FakeIpDevice(object):
10 class TestLinuxBridge(base.BaseTestCase):
11
12 def setUp(self):
13+ self.skipTest("udev not consistently available in Ubuntu buildds")
14 super(TestLinuxBridge, self).setUp()
15 self.addCleanup(cfg.CONF.reset)
16 interface_mappings = {'physnet1': 'eth1'}
17@@ -109,6 +110,7 @@ class TestLinuxBridgeAgent(base.BaseTest
18 self.get_mac.return_value = '00:00:00:00:00:01'
19
20 def test_update_devices_failed(self):
21+ self.skipTest("udev not consistently available in Ubuntu buildds")
22 agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
23 0,
24 None)
25@@ -130,6 +132,7 @@ class TestLinuxBridgeAgent(base.BaseTest
26 self.assertEqual(3, log.call_count)
27
28 def test_process_network_devices_failed(self):
29+ self.skipTest("udev not consistently available in Ubuntu buildds")
30 device_info = {'current': [1, 2, 3]}
31 agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
32 0,
33@@ -158,6 +161,7 @@ class TestLinuxBridgeAgent(base.BaseTest
34
35 class TestLinuxBridgeManager(base.BaseTestCase):
36 def setUp(self):
37+ self.skipTest("udev not consistently available in Ubuntu buildds")
38 super(TestLinuxBridgeManager, self).setUp()
39 self.interface_mappings = {'physnet1': 'eth1'}
40 self.root_helper = cfg.CONF.AGENT.root_helper
41@@ -667,6 +671,7 @@ class TestLinuxBridgeManager(base.BaseTe
42
43 class TestLinuxBridgeRpcCallbacks(base.BaseTestCase):
44 def setUp(self):
45+ self.skipTest("udev not consistently available in Ubuntu buildds")
46 cfg.CONF.set_override('local_ip', LOCAL_IP, 'VXLAN')
47 self.addCleanup(cfg.CONF.reset)
48 super(TestLinuxBridgeRpcCallbacks, self).setUp()
49diff -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
50--- neutron-2014.1.b2.orig/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig 1969-12-31 19:00:00.000000000 -0500
51+++ neutron-2014.1.b2/neutron/tests/unit/linuxbridge/test_lb_neutron_agent.py.orig 2014-01-23 10:13:25.000000000 -0500
52@@ -0,0 +1,956 @@
53+# vim: tabstop=4 shiftwidth=4 softtabstop=4
54+
55+# Copyright (c) 2012 OpenStack Foundation.
56+#
57+# Licensed under the Apache License, Version 2.0 (the "License"); you may
58+# not use this file except in compliance with the License. You may obtain
59+# a copy of the License at
60+#
61+# http://www.apache.org/licenses/LICENSE-2.0
62+#
63+# Unless required by applicable law or agreed to in writing, software
64+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
65+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
66+# License for the specific language governing permissions and limitations
67+# under the License.
68+
69+import contextlib
70+import os
71+
72+import mock
73+from oslo.config import cfg
74+import testtools
75+
76+from neutron.agent.linux import ip_lib
77+from neutron.agent.linux import utils
78+from neutron.common import constants
79+from neutron.openstack.common.rpc import common as rpc_common
80+from neutron.plugins.common import constants as p_const
81+from neutron.plugins.linuxbridge.agent import linuxbridge_neutron_agent
82+from neutron.plugins.linuxbridge.common import constants as lconst
83+from neutron.tests import base
84+
85+LOCAL_IP = '192.168.0.33'
86+
87+
88+class FakeIpLinkCommand(object):
89+ def set_up(self):
90+ pass
91+
92+
93+class FakeIpDevice(object):
94+ def __init__(self):
95+ self.link = FakeIpLinkCommand()
96+
97+
98+class TestLinuxBridge(base.BaseTestCase):
99+
100+ def setUp(self):
101+ super(TestLinuxBridge, self).setUp()
102+ self.addCleanup(cfg.CONF.reset)
103+ interface_mappings = {'physnet1': 'eth1'}
104+ root_helper = cfg.CONF.AGENT.root_helper
105+
106+ self.linux_bridge = linuxbridge_neutron_agent.LinuxBridgeManager(
107+ interface_mappings, root_helper)
108+
109+ def test_ensure_physical_in_bridge_invalid(self):
110+ result = self.linux_bridge.ensure_physical_in_bridge('network_id',
111+ p_const.TYPE_VLAN,
112+ 'physnetx',
113+ 7)
114+ self.assertFalse(result)
115+
116+ def test_ensure_physical_in_bridge_flat(self):
117+ with mock.patch.object(self.linux_bridge,
118+ 'ensure_flat_bridge') as flat_bridge_func:
119+ self.linux_bridge.ensure_physical_in_bridge(
120+ 'network_id', p_const.TYPE_FLAT, 'physnet1', None)
121+ self.assertTrue(flat_bridge_func.called)
122+
123+ def test_ensure_physical_in_bridge_vlan(self):
124+ with mock.patch.object(self.linux_bridge,
125+ 'ensure_vlan_bridge') as vlan_bridge_func:
126+ self.linux_bridge.ensure_physical_in_bridge(
127+ 'network_id', p_const.TYPE_VLAN, 'physnet1', 7)
128+ self.assertTrue(vlan_bridge_func.called)
129+
130+ def test_ensure_physical_in_bridge_vxlan(self):
131+ self.linux_bridge.vxlan_mode = lconst.VXLAN_UCAST
132+ with mock.patch.object(self.linux_bridge,
133+ 'ensure_vxlan_bridge') as vxlan_bridge_func:
134+ self.linux_bridge.ensure_physical_in_bridge(
135+ 'network_id', 'vxlan', 'physnet1', 7)
136+ self.assertTrue(vxlan_bridge_func.called)
137+
138+
139+class TestLinuxBridgeAgent(base.BaseTestCase):
140+
141+ LINK_SAMPLE = [
142+ '1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue \\'
143+ 'state UNKNOWN \\'
144+ 'link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00',
145+ '2: eth77: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 \\'
146+ 'qdisc mq state UP qlen 1000\ link/ether \\'
147+ 'cc:dd:ee:ff:ab:cd brd ff:ff:ff:ff:ff:ff']
148+
149+ def setUp(self):
150+ super(TestLinuxBridgeAgent, self).setUp()
151+ cfg.CONF.set_override('rpc_backend',
152+ 'neutron.openstack.common.rpc.impl_fake')
153+ self.execute_p = mock.patch.object(ip_lib.IPWrapper, '_execute')
154+ self.execute = self.execute_p.start()
155+ self.addCleanup(self.execute_p.stop)
156+ self.execute.return_value = '\n'.join(self.LINK_SAMPLE)
157+ self.get_mac_p = mock.patch('neutron.agent.linux.utils.'
158+ 'get_interface_mac')
159+ self.get_mac = self.get_mac_p.start()
160+ self.addCleanup(self.get_mac_p.stop)
161+ self.get_mac.return_value = '00:00:00:00:00:01'
162+
163+ def test_update_devices_failed(self):
164+ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
165+ 0,
166+ None)
167+ raise_exception = [0]
168+
169+ def info_mock(msg):
170+ if raise_exception[0] < 2:
171+ raise_exception[0] += 1
172+ else:
173+ raise RuntimeError()
174+ with mock.patch.object(agent.br_mgr,
175+ "update_devices") as update_devices:
176+ update_devices.side_effect = RuntimeError
177+ with mock.patch.object(linuxbridge_neutron_agent.LOG,
178+ 'info') as log:
179+ log.side_effect = info_mock
180+ with testtools.ExpectedException(RuntimeError):
181+ agent.daemon_loop()
182+ self.assertEqual(3, log.call_count)
183+
184+ def test_process_network_devices_failed(self):
185+ device_info = {'current': [1, 2, 3]}
186+ agent = linuxbridge_neutron_agent.LinuxBridgeNeutronAgentRPC({},
187+ 0,
188+ None)
189+ raise_exception = [0]
190+
191+ def info_mock(msg):
192+ if raise_exception[0] < 2:
193+ raise_exception[0] += 1
194+ else:
195+ raise RuntimeError()
196+
197+ with mock.patch.object(agent.br_mgr,
198+ "update_devices") as update_devices:
199+ update_devices.side_effect = device_info
200+ with contextlib.nested(
201+ mock.patch.object(linuxbridge_neutron_agent.LOG, 'info'),
202+ mock.patch.object(agent, 'process_network_devices')
203+ ) as (log, process_network_devices):
204+ log.side_effect = info_mock
205+ process_network_devices.side_effect = RuntimeError
206+ with testtools.ExpectedException(RuntimeError):
207+ agent.daemon_loop()
208+ self.assertEqual(3, log.call_count)
209+
210+
211+class TestLinuxBridgeManager(base.BaseTestCase):
212+ def setUp(self):
213+ super(TestLinuxBridgeManager, self).setUp()
214+ self.interface_mappings = {'physnet1': 'eth1'}
215+ self.root_helper = cfg.CONF.AGENT.root_helper
216+
217+ self.lbm = linuxbridge_neutron_agent.LinuxBridgeManager(
218+ self.interface_mappings, self.root_helper)
219+
220+ def test_device_exists(self):
221+ with mock.patch.object(utils, 'execute') as execute_fn:
222+ self.assertTrue(self.lbm.device_exists("eth0"))
223+ execute_fn.side_effect = RuntimeError()
224+ self.assertFalse(self.lbm.device_exists("eth0"))
225+
226+ def test_interface_exists_on_bridge(self):
227+ with mock.patch.object(os, 'listdir') as listdir_fn:
228+ listdir_fn.return_value = ["abc"]
229+ self.assertTrue(
230+ self.lbm.interface_exists_on_bridge("br-int", "abc")
231+ )
232+ self.assertFalse(
233+ self.lbm.interface_exists_on_bridge("br-int", "abd")
234+ )
235+
236+ def test_get_bridge_name(self):
237+ nw_id = "123456789101112"
238+ self.assertEqual(self.lbm.get_bridge_name(nw_id),
239+ "brq" + nw_id[0:11])
240+ nw_id = ""
241+ self.assertEqual(self.lbm.get_bridge_name(nw_id),
242+ "brq")
243+
244+ def test_get_subinterface_name(self):
245+ self.assertEqual(self.lbm.get_subinterface_name("eth0", "0"),
246+ "eth0.0")
247+ self.assertEqual(self.lbm.get_subinterface_name("eth0", ""),
248+ "eth0.")
249+
250+ def test_get_tap_device_name(self):
251+ if_id = "123456789101112"
252+ self.assertEqual(self.lbm.get_tap_device_name(if_id),
253+ "tap" + if_id[0:11])
254+ if_id = ""
255+ self.assertEqual(self.lbm.get_tap_device_name(if_id),
256+ "tap")
257+
258+ def test_get_vxlan_device_name(self):
259+ vn_id = constants.MAX_VXLAN_VNI
260+ self.assertEqual(self.lbm.get_vxlan_device_name(vn_id),
261+ "vxlan-" + str(vn_id))
262+ self.assertIsNone(self.lbm.get_vxlan_device_name(vn_id + 1))
263+
264+ def test_get_all_neutron_bridges(self):
265+ br_list = ["br-int", "brq1", "brq2", "br-ex"]
266+ with mock.patch.object(os, 'listdir') as listdir_fn:
267+ listdir_fn.return_value = br_list
268+ self.assertEqual(self.lbm.get_all_neutron_bridges(),
269+ br_list[1:3])
270+ self.assertTrue(listdir_fn.called)
271+
272+ def test_get_interfaces_on_bridge(self):
273+ with contextlib.nested(
274+ mock.patch.object(utils, 'execute'),
275+ mock.patch.object(os, 'listdir')
276+ ) as (exec_fn, listdir_fn):
277+ listdir_fn.return_value = ["qbr1"]
278+ self.assertEqual(self.lbm.get_interfaces_on_bridge("br0"),
279+ ["qbr1"])
280+
281+ def test_get_tap_devices_count(self):
282+ with mock.patch.object(os, 'listdir') as listdir_fn:
283+ listdir_fn.return_value = ['tap2101', 'eth0.100', 'vxlan-1000']
284+ self.assertEqual(self.lbm.get_tap_devices_count('br0'), 1)
285+ listdir_fn.side_effect = OSError()
286+ self.assertEqual(self.lbm.get_tap_devices_count('br0'), 0)
287+
288+ def test_get_interface_by_ip(self):
289+ with contextlib.nested(
290+ mock.patch.object(ip_lib.IPWrapper, 'get_devices'),
291+ mock.patch.object(ip_lib.IpAddrCommand, 'list')
292+ ) as (get_dev_fn, ip_list_fn):
293+ device = mock.Mock()
294+ device.name = 'dev_name'
295+ get_dev_fn.return_value = [device]
296+ ip_list_fn.returnvalue = mock.Mock()
297+ self.assertEqual(self.lbm.get_interface_by_ip(LOCAL_IP),
298+ 'dev_name')
299+
300+ def test_get_bridge_for_tap_device(self):
301+ with contextlib.nested(
302+ mock.patch.object(self.lbm, "get_all_neutron_bridges"),
303+ mock.patch.object(self.lbm, "get_interfaces_on_bridge")
304+ ) as (get_all_qbr_fn, get_if_fn):
305+ get_all_qbr_fn.return_value = ["br-int", "br-ex"]
306+ get_if_fn.return_value = ["tap1", "tap2", "tap3"]
307+ self.assertEqual(self.lbm.get_bridge_for_tap_device("tap1"),
308+ "br-int")
309+ self.assertIsNone(self.lbm.get_bridge_for_tap_device("tap4"))
310+
311+ def test_is_device_on_bridge(self):
312+ self.assertTrue(not self.lbm.is_device_on_bridge(""))
313+ with mock.patch.object(os.path, 'exists') as exists_fn:
314+ exists_fn.return_value = True
315+ self.assertTrue(self.lbm.is_device_on_bridge("tap1"))
316+ exists_fn.assert_called_with(
317+ "/sys/devices/virtual/net/tap1/brport"
318+ )
319+
320+ def test_get_interface_details(self):
321+ with contextlib.nested(
322+ mock.patch.object(ip_lib.IpAddrCommand, 'list'),
323+ mock.patch.object(ip_lib.IpRouteCommand, 'get_gateway')
324+ ) as (list_fn, getgw_fn):
325+ gwdict = dict(gateway='1.1.1.1')
326+ getgw_fn.return_value = gwdict
327+ ipdict = dict(cidr='1.1.1.1/24',
328+ broadcast='1.1.1.255',
329+ scope='global',
330+ ip_version=4,
331+ dynamic=False)
332+ list_fn.return_value = ipdict
333+ ret = self.lbm.get_interface_details("eth0")
334+
335+ self.assertTrue(list_fn.called)
336+ self.assertTrue(getgw_fn.called)
337+ self.assertEqual(ret, (ipdict, gwdict))
338+
339+ def test_ensure_flat_bridge(self):
340+ with contextlib.nested(
341+ mock.patch.object(ip_lib.IpAddrCommand, 'list'),
342+ mock.patch.object(ip_lib.IpRouteCommand, 'get_gateway')
343+ ) as (list_fn, getgw_fn):
344+ gwdict = dict(gateway='1.1.1.1')
345+ getgw_fn.return_value = gwdict
346+ ipdict = dict(cidr='1.1.1.1/24',
347+ broadcast='1.1.1.255',
348+ scope='global',
349+ ip_version=4,
350+ dynamic=False)
351+ list_fn.return_value = ipdict
352+ with mock.patch.object(self.lbm, 'ensure_bridge') as ens:
353+ self.assertEqual(
354+ self.lbm.ensure_flat_bridge("123", "eth0"),
355+ "eth0"
356+ )
357+ self.assertTrue(list_fn.called)
358+ self.assertTrue(getgw_fn.called)
359+ ens.assert_called_once_with("brq123", "eth0",
360+ ipdict, gwdict)
361+
362+ def test_ensure_vlan_bridge(self):
363+ with contextlib.nested(
364+ mock.patch.object(self.lbm, 'ensure_vlan'),
365+ mock.patch.object(self.lbm, 'ensure_bridge'),
366+ mock.patch.object(self.lbm, 'get_interface_details'),
367+ ) as (ens_vl_fn, ens, get_int_det_fn):
368+ ens_vl_fn.return_value = "eth0.1"
369+ get_int_det_fn.return_value = (None, None)
370+ self.assertEqual(self.lbm.ensure_vlan_bridge("123", "eth0", "1"),
371+ "eth0.1")
372+ ens.assert_called_with("brq123", "eth0.1", None, None)
373+
374+ get_int_det_fn.return_value = ("ips", "gateway")
375+ self.assertEqual(self.lbm.ensure_vlan_bridge("123", "eth0", "1"),
376+ "eth0.1")
377+ ens.assert_called_with("brq123", "eth0.1", "ips", "gateway")
378+
379+ def test_ensure_local_bridge(self):
380+ with mock.patch.object(self.lbm, 'ensure_bridge') as ens_fn:
381+ self.lbm.ensure_local_bridge("54321")
382+ ens_fn.assert_called_once_with("brq54321")
383+
384+ def test_ensure_vlan(self):
385+ with mock.patch.object(self.lbm, 'device_exists') as de_fn:
386+ de_fn.return_value = True
387+ self.assertEqual(self.lbm.ensure_vlan("eth0", "1"), "eth0.1")
388+ de_fn.return_value = False
389+ with mock.patch.object(utils, 'execute') as exec_fn:
390+ exec_fn.return_value = False
391+ self.assertEqual(self.lbm.ensure_vlan("eth0", "1"), "eth0.1")
392+ exec_fn.assert_called_twice()
393+ exec_fn.return_value = True
394+ self.assertIsNone(self.lbm.ensure_vlan("eth0", "1"))
395+ exec_fn.assert_called_once()
396+
397+ def test_ensure_vxlan(self):
398+ seg_id = "12345678"
399+ self.lbm.local_int = 'eth0'
400+ self.lbm.vxlan_mode = lconst.VXLAN_MCAST
401+ with mock.patch.object(self.lbm, 'device_exists') as de_fn:
402+ de_fn.return_value = True
403+ self.assertEqual(self.lbm.ensure_vxlan(seg_id), "vxlan-" + seg_id)
404+ de_fn.return_value = False
405+ with mock.patch.object(self.lbm.ip,
406+ 'add_vxlan') as add_vxlan_fn:
407+ add_vxlan_fn.return_value = FakeIpDevice()
408+ self.assertEqual(self.lbm.ensure_vxlan(seg_id),
409+ "vxlan-" + seg_id)
410+ add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
411+ group="224.0.0.1",
412+ dev=self.lbm.local_int)
413+ cfg.CONF.set_override('l2_population', 'True', 'VXLAN')
414+ self.assertEqual(self.lbm.ensure_vxlan(seg_id),
415+ "vxlan-" + seg_id)
416+ add_vxlan_fn.assert_called_with("vxlan-" + seg_id, seg_id,
417+ group="224.0.0.1",
418+ dev=self.lbm.local_int,
419+ proxy=True)
420+
421+ def test_update_interface_ip_details(self):
422+ gwdict = dict(gateway='1.1.1.1',
423+ metric=50)
424+ ipdict = dict(cidr='1.1.1.1/24',
425+ broadcast='1.1.1.255',
426+ scope='global',
427+ ip_version=4,
428+ dynamic=False)
429+ with contextlib.nested(
430+ mock.patch.object(ip_lib.IpAddrCommand, 'add'),
431+ mock.patch.object(ip_lib.IpAddrCommand, 'delete')
432+ ) as (add_fn, del_fn):
433+ self.lbm.update_interface_ip_details("br0", "eth0",
434+ [ipdict], None)
435+ self.assertTrue(add_fn.called)
436+ self.assertTrue(del_fn.called)
437+
438+ with contextlib.nested(
439+ mock.patch.object(ip_lib.IpRouteCommand, 'add_gateway'),
440+ mock.patch.object(ip_lib.IpRouteCommand, 'delete_gateway')
441+ ) as (addgw_fn, delgw_fn):
442+ self.lbm.update_interface_ip_details("br0", "eth0",
443+ None, gwdict)
444+ self.assertTrue(addgw_fn.called)
445+ self.assertTrue(delgw_fn.called)
446+
447+ def test_ensure_bridge(self):
448+ with contextlib.nested(
449+ mock.patch.object(self.lbm, 'device_exists'),
450+ mock.patch.object(utils, 'execute'),
451+ mock.patch.object(self.lbm, 'update_interface_ip_details'),
452+ mock.patch.object(self.lbm, 'interface_exists_on_bridge'),
453+ mock.patch.object(self.lbm, 'is_device_on_bridge'),
454+ mock.patch.object(self.lbm, 'get_bridge_for_tap_device'),
455+ ) as (de_fn, exec_fn, upd_fn, ie_fn, if_br_fn, get_if_br_fn):
456+ de_fn.return_value = False
457+ exec_fn.return_value = False
458+ self.assertEqual(self.lbm.ensure_bridge("br0", None), "br0")
459+ ie_fn.return_Value = False
460+ self.lbm.ensure_bridge("br0", "eth0")
461+ upd_fn.assert_called_with("br0", "eth0", None, None)
462+ ie_fn.assert_called_with("br0", "eth0")
463+
464+ self.lbm.ensure_bridge("br0", "eth0", "ips", "gateway")
465+ upd_fn.assert_called_with("br0", "eth0", "ips", "gateway")
466+ ie_fn.assert_called_with("br0", "eth0")
467+
468+ exec_fn.side_effect = Exception()
469+ de_fn.return_value = True
470+ self.lbm.ensure_bridge("br0", "eth0")
471+ ie_fn.assert_called_with("br0", "eth0")
472+
473+ exec_fn.reset_mock()
474+ exec_fn.side_effect = None
475+ de_fn.return_value = True
476+ ie_fn.return_value = False
477+ get_if_br_fn.return_value = "br1"
478+ self.lbm.ensure_bridge("br0", "eth0")
479+ expected = [
480+ mock.call(['brctl', 'delif', 'br1', 'eth0'],
481+ root_helper=self.root_helper),
482+ mock.call(['brctl', 'addif', 'br0', 'eth0'],
483+ root_helper=self.root_helper),
484+ ]
485+ exec_fn.assert_has_calls(expected)
486+
487+ def test_ensure_physical_in_bridge(self):
488+ self.assertFalse(
489+ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VLAN,
490+ "phys", "1")
491+ )
492+ with mock.patch.object(self.lbm, "ensure_flat_bridge") as flbr_fn:
493+ self.assertTrue(
494+ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_FLAT,
495+ "physnet1", None)
496+ )
497+ self.assertTrue(flbr_fn.called)
498+ with mock.patch.object(self.lbm, "ensure_vlan_bridge") as vlbr_fn:
499+ self.assertTrue(
500+ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VLAN,
501+ "physnet1", "1")
502+ )
503+ self.assertTrue(vlbr_fn.called)
504+
505+ with mock.patch.object(self.lbm, "ensure_vxlan_bridge") as vlbr_fn:
506+ self.lbm.vxlan_mode = lconst.VXLAN_MCAST
507+ self.assertTrue(
508+ self.lbm.ensure_physical_in_bridge("123", p_const.TYPE_VXLAN,
509+ "physnet1", "1")
510+ )
511+ self.assertTrue(vlbr_fn.called)
512+
513+ def test_add_tap_interface(self):
514+ with mock.patch.object(self.lbm, "device_exists") as de_fn:
515+ de_fn.return_value = False
516+ self.assertFalse(
517+ self.lbm.add_tap_interface("123", p_const.TYPE_VLAN,
518+ "physnet1", "1", "tap1")
519+ )
520+
521+ de_fn.return_value = True
522+ with contextlib.nested(
523+ mock.patch.object(self.lbm, "ensure_local_bridge"),
524+ mock.patch.object(utils, "execute"),
525+ mock.patch.object(self.lbm, "get_bridge_for_tap_device")
526+ ) as (en_fn, exec_fn, get_br):
527+ exec_fn.return_value = False
528+ get_br.return_value = True
529+ self.assertTrue(self.lbm.add_tap_interface("123",
530+ p_const.TYPE_LOCAL,
531+ "physnet1", None,
532+ "tap1"))
533+ en_fn.assert_called_with("123")
534+
535+ get_br.return_value = False
536+ exec_fn.return_value = True
537+ self.assertFalse(self.lbm.add_tap_interface("123",
538+ p_const.TYPE_LOCAL,
539+ "physnet1", None,
540+ "tap1"))
541+
542+ with mock.patch.object(self.lbm,
543+ "ensure_physical_in_bridge") as ens_fn:
544+ ens_fn.return_value = False
545+ self.assertFalse(self.lbm.add_tap_interface("123",
546+ p_const.TYPE_VLAN,
547+ "physnet1", "1",
548+ "tap1"))
549+
550+ def test_add_interface(self):
551+ with mock.patch.object(self.lbm, "add_tap_interface") as add_tap:
552+ self.lbm.add_interface("123", p_const.TYPE_VLAN, "physnet-1",
553+ "1", "234")
554+ add_tap.assert_called_with("123", p_const.TYPE_VLAN, "physnet-1",
555+ "1", "tap234")
556+
557+ def test_delete_vlan_bridge(self):
558+ with contextlib.nested(
559+ mock.patch.object(self.lbm, "device_exists"),
560+ mock.patch.object(self.lbm, "get_interfaces_on_bridge"),
561+ mock.patch.object(self.lbm, "remove_interface"),
562+ mock.patch.object(self.lbm, "get_interface_details"),
563+ mock.patch.object(self.lbm, "update_interface_ip_details"),
564+ mock.patch.object(self.lbm, "delete_vlan"),
565+ mock.patch.object(self.lbm, "delete_vxlan"),
566+ mock.patch.object(utils, "execute")
567+ ) as (de_fn, getif_fn, remif_fn, if_det_fn,
568+ updif_fn, del_vlan, del_vxlan, exec_fn):
569+ de_fn.return_value = False
570+ self.lbm.delete_vlan_bridge("br0")
571+ self.assertFalse(getif_fn.called)
572+
573+ de_fn.return_value = True
574+ getif_fn.return_value = ["eth0", "eth1.1", "eth1", "vxlan-1002"]
575+ if_det_fn.return_value = ("ips", "gateway")
576+ exec_fn.return_value = False
577+ self.lbm.delete_vlan_bridge("br0")
578+ updif_fn.assert_called_with("eth1", "br0", "ips", "gateway")
579+ del_vlan.assert_called_with("eth1.1")
580+ del_vxlan.assert_called_with("vxlan-1002")
581+
582+ def test_delete_vxlan_bridge_no_int_mappings(self):
583+ interface_mappings = {}
584+ lbm = linuxbridge_neutron_agent.LinuxBridgeManager(
585+ interface_mappings, self.root_helper)
586+
587+ with contextlib.nested(
588+ mock.patch.object(lbm, "device_exists"),
589+ mock.patch.object(lbm, "get_interfaces_on_bridge"),
590+ mock.patch.object(lbm, "remove_interface"),
591+ mock.patch.object(lbm, "delete_vxlan"),
592+ mock.patch.object(utils, "execute")
593+ ) as (de_fn, getif_fn, remif_fn, del_vxlan, exec_fn):
594+ de_fn.return_value = False
595+ lbm.delete_vlan_bridge("br0")
596+ self.assertFalse(getif_fn.called)
597+
598+ de_fn.return_value = True
599+ getif_fn.return_value = ["vxlan-1002"]
600+ exec_fn.return_value = False
601+ lbm.delete_vlan_bridge("br0")
602+ del_vxlan.assert_called_with("vxlan-1002")
603+
604+ def test_remove_empty_bridges(self):
605+ self.lbm.network_map = {'net1': mock.Mock(), 'net2': mock.Mock()}
606+
607+ def tap_count_side_effect(*args):
608+ return 0 if args[0] == 'brqnet1' else 1
609+
610+ with contextlib.nested(
611+ mock.patch.object(self.lbm, "delete_vlan_bridge"),
612+ mock.patch.object(self.lbm, "get_tap_devices_count",
613+ side_effect=tap_count_side_effect),
614+ ) as (del_br_fn, count_tap_fn):
615+ self.lbm.remove_empty_bridges()
616+ del_br_fn.assert_called_once_with('brqnet1')
617+
618+ def test_remove_interface(self):
619+ with contextlib.nested(
620+ mock.patch.object(self.lbm, "device_exists"),
621+ mock.patch.object(self.lbm, "is_device_on_bridge"),
622+ mock.patch.object(utils, "execute")
623+ ) as (de_fn, isdev_fn, exec_fn):
624+ de_fn.return_value = False
625+ self.assertFalse(self.lbm.remove_interface("br0", "eth0"))
626+ self.assertFalse(isdev_fn.called)
627+
628+ de_fn.return_value = True
629+ isdev_fn.return_value = False
630+ self.assertTrue(self.lbm.remove_interface("br0", "eth0"))
631+
632+ isdev_fn.return_value = True
633+ exec_fn.return_value = True
634+ self.assertFalse(self.lbm.remove_interface("br0", "eth0"))
635+
636+ exec_fn.return_value = False
637+ self.assertTrue(self.lbm.remove_interface("br0", "eth0"))
638+
639+ def test_delete_vlan(self):
640+ with contextlib.nested(
641+ mock.patch.object(self.lbm, "device_exists"),
642+ mock.patch.object(utils, "execute")
643+ ) as (de_fn, exec_fn):
644+ de_fn.return_value = False
645+ self.lbm.delete_vlan("eth1.1")
646+ self.assertFalse(exec_fn.called)
647+
648+ de_fn.return_value = True
649+ exec_fn.return_value = False
650+ self.lbm.delete_vlan("eth1.1")
651+ self.assertTrue(exec_fn.called)
652+
653+ def test_update_devices(self):
654+ with mock.patch.object(self.lbm, "udev_get_tap_devices") as gt_fn:
655+ gt_fn.return_value = set(["dev1"])
656+ self.assertIsNone(self.lbm.update_devices(set(["dev1"])))
657+
658+ gt_fn.return_value = set(["dev1", "dev2"])
659+ self.assertEqual(self.lbm.update_devices(set(["dev2", "dev3"])),
660+ {"current": set(["dev1", "dev2"]),
661+ "added": set(["dev1"]),
662+ "removed": set(["dev3"])
663+ })
664+
665+ def _check_vxlan_support(self, kernel_version, vxlan_proxy_supported,
666+ fdb_append_supported, l2_population,
667+ expected_mode):
668+ def iproute_supported_side_effect(*args):
669+ if args[1] == 'proxy':
670+ return vxlan_proxy_supported
671+ elif args[1] == 'append':
672+ return fdb_append_supported
673+
674+ with contextlib.nested(
675+ mock.patch("platform.release", return_value=kernel_version),
676+ mock.patch.object(ip_lib, 'iproute_arg_supported',
677+ side_effect=iproute_supported_side_effect),
678+ ) as (kver_fn, ip_arg_fn):
679+ self.lbm.check_vxlan_support()
680+ self.assertEqual(self.lbm.vxlan_mode, expected_mode)
681+
682+ def test_vxlan_mode_ucast(self):
683+ self._check_vxlan_support(kernel_version='3.12',
684+ vxlan_proxy_supported=True,
685+ fdb_append_supported=True,
686+ l2_population=True,
687+ expected_mode=lconst.VXLAN_MCAST)
688+
689+ def test_vxlan_mode_mcast(self):
690+ self._check_vxlan_support(kernel_version='3.12',
691+ vxlan_proxy_supported=True,
692+ fdb_append_supported=False,
693+ l2_population=True,
694+ expected_mode=lconst.VXLAN_MCAST)
695+ self._check_vxlan_support(kernel_version='3.10',
696+ vxlan_proxy_supported=True,
697+ fdb_append_supported=True,
698+ l2_population=True,
699+ expected_mode=lconst.VXLAN_MCAST)
700+
701+ def test_vxlan_mode_unsupported(self):
702+ self._check_vxlan_support(kernel_version='3.7',
703+ vxlan_proxy_supported=True,
704+ fdb_append_supported=True,
705+ l2_population=False,
706+ expected_mode=lconst.VXLAN_NONE)
707+ self._check_vxlan_support(kernel_version='3.10',
708+ vxlan_proxy_supported=False,
709+ fdb_append_supported=False,
710+ l2_population=False,
711+ expected_mode=lconst.VXLAN_NONE)
712+ cfg.CONF.set_override('vxlan_group', '', 'VXLAN')
713+ self._check_vxlan_support(kernel_version='3.12',
714+ vxlan_proxy_supported=True,
715+ fdb_append_supported=True,
716+ l2_population=True,
717+ expected_mode=lconst.VXLAN_NONE)
718+
719+
720+class TestLinuxBridgeRpcCallbacks(base.BaseTestCase):
721+ def setUp(self):
722+ cfg.CONF.set_override('local_ip', LOCAL_IP, 'VXLAN')
723+ self.addCleanup(cfg.CONF.reset)
724+ super(TestLinuxBridgeRpcCallbacks, self).setUp()
725+
726+ self.u_execute_p = mock.patch('neutron.agent.linux.utils.execute')
727+ self.u_execute = self.u_execute_p.start()
728+ self.addCleanup(self.u_execute_p.stop)
729+
730+ class FakeLBAgent(object):
731+ def __init__(self):
732+ self.agent_id = 1
733+ self.br_mgr = (linuxbridge_neutron_agent.
734+ LinuxBridgeManager({'physnet1': 'eth1'},
735+ cfg.CONF.AGENT.root_helper))
736+
737+ self.br_mgr.vxlan_mode = lconst.VXLAN_UCAST
738+ segment = mock.Mock()
739+ segment.network_type = 'vxlan'
740+ segment.segmentation_id = 1
741+ self.br_mgr.network_map['net_id'] = segment
742+
743+ self.lb_rpc = linuxbridge_neutron_agent.LinuxBridgeRpcCallbacks(
744+ object(),
745+ FakeLBAgent()
746+ )
747+
748+ self.root_helper = cfg.CONF.AGENT.root_helper
749+
750+ def test_network_delete(self):
751+ with contextlib.nested(
752+ mock.patch.object(self.lb_rpc.agent.br_mgr, "get_bridge_name"),
753+ mock.patch.object(self.lb_rpc.agent.br_mgr, "delete_vlan_bridge")
754+ ) as (get_br_fn, del_fn):
755+ get_br_fn.return_value = "br0"
756+ self.lb_rpc.network_delete("anycontext", network_id="123")
757+ get_br_fn.assert_called_with("123")
758+ del_fn.assert_called_with("br0")
759+
760+ def test_port_update(self):
761+ with contextlib.nested(
762+ mock.patch.object(self.lb_rpc.agent.br_mgr,
763+ "get_tap_device_name"),
764+ mock.patch.object(self.lb_rpc.agent.br_mgr,
765+ "udev_get_tap_devices"),
766+ mock.patch.object(self.lb_rpc.agent.br_mgr,
767+ "get_bridge_name"),
768+ mock.patch.object(self.lb_rpc.agent.br_mgr,
769+ "remove_interface"),
770+ mock.patch.object(self.lb_rpc.agent.br_mgr, "add_interface"),
771+ mock.patch.object(self.lb_rpc.agent,
772+ "plugin_rpc", create=True),
773+ mock.patch.object(self.lb_rpc.sg_agent,
774+ "refresh_firewall", create=True)
775+ ) as (get_tap_fn, udev_fn, getbr_fn, remif_fn,
776+ addif_fn, rpc_obj, reffw_fn):
777+ get_tap_fn.return_value = "tap123"
778+ udev_fn.return_value = ["tap123", "tap124"]
779+ port = {"admin_state_up": True,
780+ "id": "1234-5678",
781+ "network_id": "123-123"}
782+ self.lb_rpc.port_update("unused_context", port=port,
783+ vlan_id="1", physical_network="physnet1")
784+ self.assertFalse(reffw_fn.called)
785+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_VLAN,
786+ "physnet1", "1", port["id"])
787+
788+ self.lb_rpc.port_update("unused_context", port=port,
789+ network_type=p_const.TYPE_VLAN,
790+ segmentation_id="2",
791+ physical_network="physnet1")
792+ self.assertFalse(reffw_fn.called)
793+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_VLAN,
794+ "physnet1", "2", port["id"])
795+
796+ self.lb_rpc.port_update("unused_context", port=port,
797+ vlan_id=lconst.FLAT_VLAN_ID,
798+ physical_network="physnet1")
799+ self.assertFalse(reffw_fn.called)
800+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_FLAT,
801+ "physnet1", None, port["id"])
802+
803+ self.lb_rpc.port_update("unused_context", port=port,
804+ network_type=p_const.TYPE_FLAT,
805+ segmentation_id=None,
806+ physical_network="physnet1")
807+ self.assertFalse(reffw_fn.called)
808+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_FLAT,
809+ "physnet1", None, port["id"])
810+
811+ self.lb_rpc.port_update("unused_context", port=port,
812+ vlan_id=lconst.LOCAL_VLAN_ID,
813+ physical_network=None)
814+ self.assertFalse(reffw_fn.called)
815+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_LOCAL,
816+ None, None, port["id"])
817+
818+ self.lb_rpc.port_update("unused_context", port=port,
819+ network_type=p_const.TYPE_LOCAL,
820+ segmentation_id=None,
821+ physical_network=None)
822+ self.assertFalse(reffw_fn.called)
823+ addif_fn.assert_called_with(port["network_id"], p_const.TYPE_LOCAL,
824+ None, None, port["id"])
825+
826+ addif_fn.return_value = True
827+ self.lb_rpc.port_update("unused_context", port=port,
828+ network_type=p_const.TYPE_LOCAL,
829+ segmentation_id=None,
830+ physical_network=None)
831+ rpc_obj.update_device_up.assert_called_with(
832+ self.lb_rpc.context,
833+ "tap123",
834+ self.lb_rpc.agent.agent_id,
835+ cfg.CONF.host
836+ )
837+
838+ addif_fn.return_value = False
839+ self.lb_rpc.port_update("unused_context", port=port,
840+ network_type=p_const.TYPE_LOCAL,
841+ segmentation_id=None,
842+ physical_network=None)
843+ rpc_obj.update_device_down.assert_called_with(
844+ self.lb_rpc.context,
845+ "tap123",
846+ self.lb_rpc.agent.agent_id,
847+ cfg.CONF.host
848+ )
849+
850+ port["admin_state_up"] = False
851+ port["security_groups"] = True
852+ getbr_fn.return_value = "br0"
853+ self.lb_rpc.port_update("unused_context", port=port,
854+ vlan_id="1", physical_network="physnet1")
855+ self.assertTrue(reffw_fn.called)
856+ remif_fn.assert_called_with("br0", "tap123")
857+ rpc_obj.update_device_down.assert_called_with(
858+ self.lb_rpc.context,
859+ "tap123",
860+ self.lb_rpc.agent.agent_id,
861+ cfg.CONF.host
862+ )
863+
864+ def test_port_update_plugin_rpc_failed(self):
865+ with contextlib.nested(
866+ mock.patch.object(self.lb_rpc.agent.br_mgr,
867+ "get_tap_device_name"),
868+ mock.patch.object(self.lb_rpc.agent.br_mgr,
869+ "udev_get_tap_devices"),
870+ mock.patch.object(self.lb_rpc.agent.br_mgr,
871+ "get_bridge_name"),
872+ mock.patch.object(self.lb_rpc.agent.br_mgr,
873+ "remove_interface"),
874+ mock.patch.object(self.lb_rpc.agent.br_mgr, "add_interface"),
875+ mock.patch.object(self.lb_rpc.sg_agent,
876+ "refresh_firewall", create=True),
877+ mock.patch.object(self.lb_rpc.agent,
878+ "plugin_rpc", create=True),
879+ mock.patch.object(linuxbridge_neutron_agent.LOG, 'error'),
880+ ) as (get_tap_fn, udev_fn, _, _, _, _, plugin_rpc, log):
881+ get_tap_fn.return_value = "tap123"
882+ udev_fn.return_value = ["tap123", "tap124"]
883+ port = {"admin_state_up": True,
884+ "id": "1234-5678",
885+ "network_id": "123-123"}
886+ plugin_rpc.update_device_up.side_effect = rpc_common.Timeout
887+ self.lb_rpc.port_update(mock.Mock(), port=port)
888+ self.assertTrue(plugin_rpc.update_device_up.called)
889+ self.assertEqual(log.call_count, 1)
890+
891+ log.reset_mock()
892+ port["admin_state_up"] = False
893+ plugin_rpc.update_device_down.side_effect = rpc_common.Timeout
894+ self.lb_rpc.port_update(mock.Mock(), port=port)
895+ self.assertTrue(plugin_rpc.update_device_down.called)
896+ self.assertEqual(log.call_count, 1)
897+
898+ def test_fdb_add(self):
899+ fdb_entries = {'net_id':
900+ {'ports':
901+ {'agent_ip': [constants.FLOODING_ENTRY,
902+ ['port_mac', 'port_ip']]},
903+ 'network_type': 'vxlan',
904+ 'segment_id': 1}}
905+
906+ with mock.patch.object(utils, 'execute',
907+ return_value='') as execute_fn:
908+ self.lb_rpc.fdb_add(None, fdb_entries)
909+
910+ expected = [
911+ mock.call(['bridge', 'fdb', 'show', 'dev', 'vxlan-1'],
912+ root_helper=self.root_helper),
913+ mock.call(['bridge', 'fdb', 'add',
914+ constants.FLOODING_ENTRY[0],
915+ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
916+ root_helper=self.root_helper,
917+ check_exit_code=False),
918+ mock.call(['ip', 'neigh', 'add', 'port_ip', 'lladdr',
919+ 'port_mac', 'dev', 'vxlan-1', 'nud', 'permanent'],
920+ root_helper=self.root_helper,
921+ check_exit_code=False),
922+ mock.call(['bridge', 'fdb', 'add', 'port_mac', 'dev',
923+ 'vxlan-1', 'dst', 'agent_ip'],
924+ root_helper=self.root_helper,
925+ check_exit_code=False),
926+ ]
927+ execute_fn.assert_has_calls(expected)
928+
929+ def test_fdb_ignore(self):
930+ fdb_entries = {'net_id':
931+ {'ports':
932+ {LOCAL_IP: [constants.FLOODING_ENTRY,
933+ ['port_mac', 'port_ip']]},
934+ 'network_type': 'vxlan',
935+ 'segment_id': 1}}
936+
937+ with mock.patch.object(utils, 'execute',
938+ return_value='') as execute_fn:
939+ self.lb_rpc.fdb_add(None, fdb_entries)
940+ self.lb_rpc.fdb_remove(None, fdb_entries)
941+
942+ self.assertFalse(execute_fn.called)
943+
944+ fdb_entries = {'other_net_id':
945+ {'ports':
946+ {'192.168.0.67': [constants.FLOODING_ENTRY,
947+ ['port_mac', 'port_ip']]},
948+ 'network_type': 'vxlan',
949+ 'segment_id': 1}}
950+
951+ with mock.patch.object(utils, 'execute',
952+ return_value='') as execute_fn:
953+ self.lb_rpc.fdb_add(None, fdb_entries)
954+ self.lb_rpc.fdb_remove(None, fdb_entries)
955+
956+ self.assertFalse(execute_fn.called)
957+
958+ def test_fdb_remove(self):
959+ fdb_entries = {'net_id':
960+ {'ports':
961+ {'agent_ip': [constants.FLOODING_ENTRY,
962+ ['port_mac', 'port_ip']]},
963+ 'network_type': 'vxlan',
964+ 'segment_id': 1}}
965+
966+ with mock.patch.object(utils, 'execute',
967+ return_value='') as execute_fn:
968+ self.lb_rpc.fdb_remove(None, fdb_entries)
969+
970+ expected = [
971+ mock.call(['bridge', 'fdb', 'del',
972+ constants.FLOODING_ENTRY[0],
973+ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
974+ root_helper=self.root_helper,
975+ check_exit_code=False),
976+ mock.call(['ip', 'neigh', 'del', 'port_ip', 'lladdr',
977+ 'port_mac', 'dev', 'vxlan-1'],
978+ root_helper=self.root_helper,
979+ check_exit_code=False),
980+ mock.call(['bridge', 'fdb', 'del', 'port_mac',
981+ 'dev', 'vxlan-1', 'dst', 'agent_ip'],
982+ root_helper=self.root_helper,
983+ check_exit_code=False),
984+ ]
985+ execute_fn.assert_has_calls(expected)
986+
987+ def test_fdb_update_chg_ip(self):
988+ fdb_entries = {'chg_ip':
989+ {'net_id':
990+ {'agent_ip':
991+ {'before': [['port_mac', 'port_ip_1']],
992+ 'after': [['port_mac', 'port_ip_2']]}}}}
993+
994+ with mock.patch.object(utils, 'execute',
995+ return_value='') as execute_fn:
996+ self.lb_rpc.fdb_update(None, fdb_entries)
997+
998+ expected = [
999+ mock.call(['ip', 'neigh', 'add', 'port_ip_2', 'lladdr',
1000+ 'port_mac', 'dev', 'vxlan-1', 'nud', 'permanent'],
1001+ root_helper=self.root_helper,
1002+ check_exit_code=False),
1003+ mock.call(['ip', 'neigh', 'del', 'port_ip_1', 'lladdr',
1004+ 'port_mac', 'dev', 'vxlan-1'],
1005+ root_helper=self.root_helper,
1006+ check_exit_code=False)
1007+ ]
1008+ execute_fn.assert_has_calls(expected)
01009
=== added file 'debian/patches/fix-quantum-configuration.patch'
--- debian/patches/fix-quantum-configuration.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/fix-quantum-configuration.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,48 @@
1Description: Fixes to neutron configuration for distribution.
2 Patch various bits of config to be more suitable for packaging.
3Author: James Page <james.page@ubuntu.com>
4Forwarded: not-needed
5
6diff --git a/etc/neutron.conf b/etc/neutron.conf
7index 1e2226f..a5fe086 100644
8--- a/etc/neutron.conf
9+++ b/etc/neutron.conf
10@@ -7,7 +7,7 @@
11
12 # Where to store Neutron state files. This directory must be writable by the
13 # user executing the agent.
14-# state_path = /var/lib/neutron
15+state_path = /var/lib/neutron
16
17 # Where to store lock files
18 lock_path = $state_path/lock
19@@ -50,7 +50,7 @@ lock_path = $state_path/lock
20 # previous versions, the class name of a plugin can be specified instead of its
21 # entrypoint name.
22 #
23-# core_plugin =
24+core_plugin = neutron.plugins.ml2.plugin.Ml2Plugin
25 # Example: core_plugin = ml2
26
27 # (ListOpt) List of service plugin entrypoints to be loaded from the
28@@ -320,7 +320,7 @@ notification_driver = neutron.openstack.common.notifier.rpc_notifier
29 # Use "sudo neutron-rootwrap /etc/neutron/rootwrap.conf" to use the real
30 # root filter facility.
31 # Change to "sudo" to skip the filtering and just run the comand directly
32-# root_helper = sudo
33+root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
34
35 # =========== items for agent management extension =============
36 # seconds between nodes reporting state to server; should be less than
37@@ -344,7 +344,7 @@ signing_dir = $state_path/keystone-signing
38 # connection = mysql://root:pass@127.0.0.1:3306/neutron
39 # Replace 127.0.0.1 above with the IP address of the database used by the
40 # main neutron server. (Leave it as is if the database runs on this host.)
41-# connection = sqlite://
42+connection = sqlite:////var/lib/neutron/neutron.sqlite
43
44 # The SQLAlchemy connection string used to connect to the slave database
45 # slave_connection =
46--
471.8.5.2
48
049
=== added file 'debian/patches/series'
--- debian/patches/series 1970-01-01 00:00:00 +0000
+++ debian/patches/series 2014-02-21 16:49:36 +0000
@@ -0,0 +1,7 @@
1fix-quantum-configuration.patch
2disable-udev-tests.patch
3disable-failing-metaplugin-tests.patch
4#disable-failing-cisco-test.patch
5sql-alchemy-0.8.3-compat.patch
6skip-lb-test.patch
7skip-ipv6-tests.patch
08
=== added file 'debian/patches/skip-ipv6-tests.patch'
--- debian/patches/skip-ipv6-tests.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/skip-ipv6-tests.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,22 @@
1Description: Skip ipv6 tests because they fail on the ppa buildds.
2Author: Chuck Short <zulcss@ubuntu.com>
3Forwarded: Not Needed
4diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/test_wsgi.py neutron-2014.1.b2/neutron/tests/unit/test_wsgi.py
5--- neutron-2014.1.b2.orig/neutron/tests/unit/test_wsgi.py 2014-01-23 10:13:25.000000000 -0500
6+++ neutron-2014.1.b2/neutron/tests/unit/test_wsgi.py 2014-02-03 08:58:27.817255230 -0500
7@@ -64,6 +64,7 @@ class TestWSGIServer(base.BaseTestCase):
8 launcher.wait.assert_called_once_with()
9
10 def test_start_random_port_with_ipv6(self):
11+ self.skipTest('Skipped by Ubuntu')
12 server = wsgi.Server("test_random_port")
13 server.start(None, 0, host="::1")
14 self.assertEqual("::1", server.host)
15@@ -1109,6 +1110,7 @@ class TestWSGIServerWithSSL(base.BaseTes
16 server.stop()
17
18 def test_app_using_ipv6_and_ssl(self):
19+ self.skipTest('Skipped by Ubuntu')
20 CONF.set_default('use_ssl', True)
21 CONF.set_default("ssl_cert_file",
22 os.path.join(TEST_VAR_DIR, 'certificate.crt'))
023
=== added file 'debian/patches/skip-lb-test.patch'
--- debian/patches/skip-lb-test.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/skip-lb-test.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,14 @@
1Description: Temporarily Skip LB test
2Author: Chuck Short <zulcss@ubuntu.com>
3Forwarded: Not Needed
4diff -Naurp neutron-2014.1.b2.orig/neutron/tests/unit/test_provider_configuration.py neutron-2014.1.b2/neutron/tests/unit/test_provider_configuration.py
5--- neutron-2014.1.b2.orig/neutron/tests/unit/test_provider_configuration.py 2014-01-23 10:13:25.000000000 -0500
6+++ neutron-2014.1.b2/neutron/tests/unit/test_provider_configuration.py 2014-01-27 11:39:28.611298704 -0500
7@@ -79,6 +79,7 @@ class ParseServiceProviderConfigurationT
8 'default': True}])
9
10 def test_parse_service_provider_opt_not_allowed_raises(self):
11+ self.skipTest('Skipped by Ubuntu')
12 cfg.CONF.set_override('service_provider',
13 [constants.LOADBALANCER +
14 ':lbaas:driver_path',
015
=== added file 'debian/patches/sql-alchemy-0.8.3-compat.patch'
--- debian/patches/sql-alchemy-0.8.3-compat.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/sql-alchemy-0.8.3-compat.patch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,67 @@
1Description: Fix sqlalchemy 0.8.3 compat
2Author: Chuck Short <zulcss@ubuntu.com>
3Forwarded: No
4diff --git a/neutron/openstack/common/db/sqlalchemy/session.py b/neutron/openstack/common/db/sqlalchemy/session.py
5index 3279343..113424c 100644
6--- a/neutron/openstack/common/db/sqlalchemy/session.py
7+++ b/neutron/openstack/common/db/sqlalchemy/session.py
8@@ -441,6 +441,11 @@ def get_session(autocommit=True, expire_on_commit=False,
9 # 1 column - (IntegrityError) column c1 is not unique
10 # N columns - (IntegrityError) column c1, c2, ..., N are not unique
11 #
12+# sqlite since 3.7.16:
13+# 1 column - (IntegrityError) UNIQUE constraint failed: k1
14+#
15+# N columns - (IntegrityError) UNIQUE constraint failed: k1, k2
16+#
17 # postgres:
18 # 1 column - (IntegrityError) duplicate key value violates unique
19 # constraint "users_c1_key"
20@@ -453,9 +458,10 @@ def get_session(autocommit=True, expire_on_commit=False,
21 # N columns - (IntegrityError) (1062, "Duplicate entry 'values joined
22 # with -' for key 'name_of_our_constraint'")
23 _DUP_KEY_RE_DB = {
24- "sqlite": re.compile(r"^.*columns?([^)]+)(is|are)\s+not\s+unique$"),
25- "postgresql": re.compile(r"^.*duplicate\s+key.*\"([^\"]+)\"\s*\n.*$"),
26- "mysql": re.compile(r"^.*\(1062,.*'([^\']+)'\"\)$")
27+ "sqlite": (re.compile(r"^.*columns?([^)]+)(is|are)\s+not\s+unique$"),
28+ re.compile(r"^.*UNIQUE\s+constraint\s+failed:\s+(.+)$")),
29+ "postgresql": (re.compile(r"^.*duplicate\s+key.*\"([^\"]+)\"\s*\n.*$"),),
30+ "mysql": (re.compile(r"^.*\(1062,.*'([^\']+)'\"\)$"),)
31 }
32
33
34@@ -480,10 +486,14 @@ def _raise_if_duplicate_entry_error(integrity_error, engine_name):
35 if engine_name not in ["mysql", "sqlite", "postgresql"]:
36 return
37
38- m = _DUP_KEY_RE_DB[engine_name].match(integrity_error.message)
39- if not m:
40+ for pattern in _DUP_KEY_RE_DB[engine_name]:
41+ match = pattern.match(integrity_error.message)
42+ if match:
43+ break
44+ else:
45 return
46- columns = m.group(1)
47+
48+ columns = match.group(1)
49
50 if engine_name == "sqlite":
51 columns = columns.strip().split(", ")
52diff --git a/run_tests.sh b/run_tests.sh
53index cc17124..06934e9 100755
54--- a/run_tests.sh
55+++ b/run_tests.sh
56@@ -162,7 +162,7 @@ function run_pep8 {
57 }
58
59
60-TESTRTESTS="python setup.py testr"
61+TESTRTESTS="python -m neutron.openstack.common.lockutils python setup.py testr"
62
63 if [ $never_venv -eq 0 ]
64 then
65--
661.8.5.2
67
068
=== added file 'debian/pydist-overrides'
--- debian/pydist-overrides 1970-01-01 00:00:00 +0000
+++ debian/pydist-overrides 2014-02-21 16:49:36 +0000
@@ -0,0 +1,3 @@
1quantum_server quantum-server
2quantum_common quantum-common
3setuptools-git
04
=== added file 'debian/python-neutron.install'
--- debian/python-neutron.install 1970-01-01 00:00:00 +0000
+++ debian/python-neutron.install 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
1usr/lib/python*/dist-packages/*
02
=== added file 'debian/rules'
--- debian/rules 1970-01-01 00:00:00 +0000
+++ debian/rules 2014-02-21 16:49:36 +0000
@@ -0,0 +1,31 @@
1#!/usr/bin/make -f
2
3# Uncomment this to turn on verbose mode.
4#export DH_VERBOSE=1
5
6%:
7 dh $@ --with python2
8
9override_dh_install:
10 dh_install --fail-missing -X/usr/etc -X/usr/bin/quantum
11
12override_dh_installinit:
13 dh_installinit
14 dh_installinit -pneutron-plugin-openvswitch-agent --no-start --name=neutron-ovs-cleanup
15
16override_dh_auto_clean:
17 dh_clean
18
19get-orig-source:
20 uscan --verbose --force-download --rename --destdir=../build-area
21
22ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
23override_dh_auto_test:
24 # Unpatch quantum configuration to fixup tests which conflict
25 # with a core_plugin being set.
26 patch -p1 -R < debian/patches/fix-quantum-configuration.patch
27 # Set a reasonable level of concurrency
28 ./run_tests.sh -N -P
29 # Patch configuration file after testing
30 patch -p1 < debian/patches/fix-quantum-configuration.patch
31endif
032
=== added directory 'debian/source'
=== added file 'debian/source/format'
--- debian/source/format 1970-01-01 00:00:00 +0000
+++ debian/source/format 2014-02-21 16:49:36 +0000
@@ -0,0 +1,1 @@
13.0 (quilt)
02
=== added directory 'debian/tests'
=== added file 'debian/tests/bigswitch-plugin'
--- debian/tests/bigswitch-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/bigswitch-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#-------------------------
3# Testing bigswitch-plugin
4#-------------------------
5set -e
6apt-get -y install neutron-plugin-bigswitch
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/bigswitch\/restproxy\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.bigswitch\.plugin\.NeutronRestProxyV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-bigswitch
14 echo "OK"
15else
16 echo "ERROR: BIGSWITCH PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-bigswitch
18 exit 1
19fi
020
=== added file 'debian/tests/brocade-plugin'
--- debian/tests/brocade-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/brocade-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#-----------------------
3# Testing brocade-plugin
4#-----------------------
5set -e
6apt-get -y install neutron-plugin-brocade
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/brocade\/brocade\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.brocade\.NeutronPlugin\.BrocadePluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-brocade
14 echo "OK"
15else
16 echo "ERROR: BROCADE PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-brocade
18 exit 1
19fi
020
=== added file 'debian/tests/cisco-plugin'
--- debian/tests/cisco-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/cisco-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#---------------------
3# Testing cisco-plugin
4#---------------------
5set -e
6apt-get -y install neutron-plugin-cisco
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/cisco\/cisco_plugins\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.cisco\.network_plugin\.PluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-cisco
14 echo "OK"
15else
16 echo "ERROR: CISCO PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-cisco
18 exit 1
19fi
020
=== added file 'debian/tests/control'
--- debian/tests/control 1970-01-01 00:00:00 +0000
+++ debian/tests/control 2014-02-21 16:49:36 +0000
@@ -0,0 +1,6 @@
1Tests: neutron-daemons python-neutron cisco-plugin nec-plugin bigswitch-plugin
2 hyperv-plugin brocade-plugin plumgrid-plugin nicira-plugin openvswitch-plugin
3 linuxbridge-plugin ryu-plugin midonet-plugin
4Depends: neutron-server, neutron-l3-agent, neutron-dhcp-agent, neutron-metadata-agent,
5 neutron-lbaas-agent, python-neutron, rabbitmq-server
6Restrictions: needs-root
07
=== added file 'debian/tests/hyperv-plugin'
--- debian/tests/hyperv-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/hyperv-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#----------------------
3# Testing hyperv-plugin
4#----------------------
5set -e
6apt-get -y install neutron-plugin-hyperv
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/hyperv\/hyperv_neutron_plugin\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.hyperv\.hyperv_neutron_plugin\.HyperVNeutronPlugin/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-hyperv
14 echo "OK"
15else
16 echo "ERROR: HYPERV PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-hyperv
18 exit 1
19fi
020
=== added file 'debian/tests/linuxbridge-plugin'
--- debian/tests/linuxbridge-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/linuxbridge-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#---------------------------
3# Testing linuxbridge-plugin
4#---------------------------
5set -e
6apt-get -y install neutron-plugin-linuxbridge
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/linuxbridge\/linuxbridge_conf\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.linuxbridge\.lb_neutron_plugin\.LinuxBridgePluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-linuxbridge
14 echo "OK"
15else
16 echo "ERROR: LINUXBRIDGE PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-linuxbridge
18 exit 1
19fi
020
=== added file 'debian/tests/midonet-plugin'
--- debian/tests/midonet-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/midonet-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#-----------------------
3# Testing midonet-plugin
4#-----------------------
5set -e
6apt-get -y install neutron-plugin-midonet
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/midonet\/midonet\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.midonet\.MidonetPluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-midonet
14 echo "OK"
15else
16 echo "ERROR: MIDONET PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-midonet
18 exit 1
19fi
020
=== added file 'debian/tests/nec-plugin'
--- debian/tests/nec-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/nec-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#-------------------
3# Testing nec-plugin
4#-------------------
5set -e
6apt-get -y install neutron-plugin-nec
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/nec\/nec\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.nec\.nec_plugin\.NECPluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-nec
14 echo "OK"
15else
16 echo "ERROR: NEC PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-nec
18 exit 1
19fi
020
=== added file 'debian/tests/neutron-daemons'
--- debian/tests/neutron-daemons 1970-01-01 00:00:00 +0000
+++ debian/tests/neutron-daemons 2014-02-21 16:49:36 +0000
@@ -0,0 +1,14 @@
1#!/bin/bash
2#-----------------------
3# Testing neutron-daemon
4#-----------------------
5set -e
6DAEMONS=('neutron-server' 'neutron-l3-agent' 'neutron-dhcp-agent' 'neutron-metadata-agent' 'neutron-lbaas-agent')
7for daemon in "${DAEMONS[@]}"; do
8 if pidof -x $daemon > /dev/null; then
9 echo "OK"
10 else
11 echo "ERROR: ${daemon} IS NOT RUNNING"
12 exit 1
13 fi
14done
015
=== added file 'debian/tests/nicira-plugin'
--- debian/tests/nicira-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/nicira-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#----------------------
3# Testing nicira-plugin
4#----------------------
5set -e
6apt-get -y install neutron-plugin-nicira
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/nicira\/nvp\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.nicira\.NeutronPlugin\.NvpPluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-nicira
14 echo "OK"
15else
16 echo "ERROR: NICIRA PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-nicira
18 exit 1
19fi
020
=== added file 'debian/tests/openvswitch-plugin'
--- debian/tests/openvswitch-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/openvswitch-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#---------------------------
3# Testing openvswitch-plugin
4#---------------------------
5set -e
6apt-get -y install neutron-plugin-openvswitch
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/openvswitch\/ovs_neutron_plugin\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.openvswitch\.ovs_neutron_plugin\.OVSNeutronPluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-openvswitch
14 echo "OK"
15else
16 echo "ERROR: OPENVSWITCH PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-openvswitch
18 exit 1
19fi
020
=== added file 'debian/tests/plumgrid-plugin'
--- debian/tests/plumgrid-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/plumgrid-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#------------------------
3# Testing plumgrid-plugin
4#------------------------
5set -e
6apt-get -y install neutron-plugin-plumgrid
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/plumgrid\/plumgrid\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.plumgrid\.plumgrid_plugin\.plumgrid_plugin\.NeutronPluginPLUMgridV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-plumgrid
14 echo "OK"
15else
16 echo "ERROR: PLUMGRID PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-plumgrid
18 exit 1
19fi
020
=== added file 'debian/tests/python-neutron'
--- debian/tests/python-neutron 1970-01-01 00:00:00 +0000
+++ debian/tests/python-neutron 2014-02-21 16:49:36 +0000
@@ -0,0 +1,14 @@
1#!/bin/bash
2#-------------------------
3# Testing client utilities
4#-------------------------
5set -e
6
7result=$(python `dirname $0`/test_import_neutron.py 2>&1)
8if [ "$result" ]; then
9 echo "ERROR: PYTHON-NEUTRON MODULE CANNOT BE IMPORTED"
10 exit 1
11else
12 echo "OK"
13 exit 0
14fi
015
=== added file 'debian/tests/ryu-plugin'
--- debian/tests/ryu-plugin 1970-01-01 00:00:00 +0000
+++ debian/tests/ryu-plugin 2014-02-21 16:49:36 +0000
@@ -0,0 +1,19 @@
1#!/bin/bash
2#-------------------
3# Testing ryu-plugin
4#-------------------
5set -e
6apt-get -y install neutron-plugin-ryu
7
8# update plugin path
9sed -i 's/NEUTRON_PLUGIN_CONFIG\=.*/NEUTRON_PLUGIN_CONFIG\=\"\/etc\/neutron\/plugins\/ryu\/ryu\.ini\"/g' /etc/default/neutron-server
10sed -i 's/core_plugin/core_plugin \= neutron\.plugins\.ryu\.ryu_neutron_plugin\.RyuNeutronPluginV2/g' /etc/neutron/neutron.conf
11service neutron-server restart > /dev/null 2>&1
12if pidof -x neutron-server > /dev/null; then
13 apt-get -y remove --purge neutron-plugin-ryu
14 echo "OK"
15else
16 echo "ERROR: RYU PLUGIN IS NOT RUNNING"
17 apt-get -y remove --purge neutron-plugin-ryu
18 exit 1
19fi
020
=== added file 'debian/tests/test_import_neutron.py'
--- debian/tests/test_import_neutron.py 1970-01-01 00:00:00 +0000
+++ debian/tests/test_import_neutron.py 2014-02-21 16:49:36 +0000
@@ -0,0 +1,4 @@
1try:
2 import neutron
3except ImportError, e:
4 print "ERROR IMPORTING MODULE"
05
=== added file 'debian/watch'
--- debian/watch 1970-01-01 00:00:00 +0000
+++ debian/watch 2014-02-21 16:49:36 +0000
@@ -0,0 +1,3 @@
1version=3
2opts="uversionmangle=s/\.([a-zA-Z])/~$1/;s/%7E/~/" \
3 https://launchpad.net/neutron/+download https://launchpad.net/neutron/.*/.*/.*/neutron-(.*)\.tar\.gz

Subscribers

People subscribed via source and target branches

to all changes: