Commit Graph

525 Commits (f0f16bffd751017487a0bd5aaee8b2374614ce32)

Author SHA1 Message Date
Jenkins 9db5d73e31 Merge "Bug #949261 Removing nova drivers for Linux Bridge Plugin" 2012-03-12 19:26:26 +00:00
Sumit Naiksatam f614a7ddf5 Bug #949261 Removing nova drivers for Linux Bridge Plugin
These have been added to nova, so they need not be in the Quantum
code base any more.

Change-Id: Ibbd88792bfb0f58b2d9d347298964bf0b77baa95
2012-03-07 10:27:45 -08:00
Dan Wendlandt 973f33e530 Remove outdated content from OVS plugin README, point to website instead.
bug 943810

Change-Id: I12c801a83789a2c3f3b0adac4b44f2febf32c523
2012-03-06 13:17:34 -08:00
Jenkins 8d1d6cc94e Merge "remove pep8 and strict lxml version from" 2012-03-05 16:43:13 +00:00
Sumit Naiksatam 7ad5d9b093 Introducing the tenant owenrship checks in the Cisco plugin, changes are
almost identical to those in Bug#942713

Change-Id: Ia320116e73db72090d925796bb2c832f31f878de
2012-02-28 22:31:36 -08:00
Dan Wendlandt c029777dd7 Fix some plugins that don't check that nets + ports are owned by tenant
bug 942713. This bug confuses the validate_networks() method of
QuantumManager in Nova, causing it to believe that it is valid for a
tenant to plug into a particular network when in fact that network is not
owned by the tenant, nor the "provider".

The patch also adds unit tests to confirm correct plugin behavior.

This patch fixes the issue for the Sample Plugin, the OVS plugin,
the Linux Bridge plugin, and the Ryu plugin, all of which has the
same DB model.  Validated the fix with the unit tests.

I couldn't run the unit tests for the NVP plugin standalone, but by
inspection, the code seems to handle this case.  I wasn't able to run
the Cisco plugin unit tests, and that code uses its own DB model, so I
am uncertain whether this issue exists in that plugin.

Change-Id: I8c4a5f3eb151b91a1076821dc1916842510dfb90
2012-02-28 12:34:49 -08:00
Ionuț Arțăriși 8213824569 remove pep8 and strict lxml version from
Change-Id: I671f3e924641cdfdfb5d20d0b0e3c77e1dc714e2
2012-02-27 12:56:22 +01:00
Isaku Yamahata a5f97ccc3b plugin: introduce ryu plugin
blueprint ovs-driver-extention
This patch implements the blueprint ovs-driver-extention

This patch factors out ovs common logic from ovs plugin into ovscommon
and adds Ryu NOS plugin.
This patch enhances ovs plugin for generic OVS controller support and

This patch is to add ofp controller support to OVS.
Store ofp controller address in ovs quantum data base.
- nova firewall_driver
- nova linuxnet_interface_driver

There may be ports unmanaged by nova/quantum. Those ports are used
to connect vm to outside of physical machine. They needs special care.

Changes 12 -> 13:
- rebased to 543e150d6d
  changed files are only,, tools/pip-requres

Changes 11 -> 12:
- ryu agent
  eliminated from quantum.common import exceptions as exc
- ryu.db.api
  eliminated ofp_has_servers
- ryu.nova
  eliminated from quantum.plugins.ryu.nova import ovs_utils
  and eliminate ovs_utils

Chnages 10 -> 11:
- rebased to a945d1a304
- more Maru's review
- fix setup() argument
  This isn't directly related to ryu plugin though
- improve fake ini file when unit test
  remove fake ini file after unit tests.
  use StringIO when no file is required.
- LOG: don't use %

Chnages 8 -> 9 -> 10:
- minor fixes: forgot to commit some hunks

Chnages 7 -> 8:
- rebased to d6bf2b7616
- catch up d6bf2b7616 change
  introduced bin/quantum_ryu_agent
- addressed Maru's review
  - avoid custom patching, use mock for test
    and added mox and mock to pip-requires
  - more pep8
  - avoid \ for line continuation
  - avoid single char variables
  - db.api: first() -> one()
  - utilize implicit conversion
    var is not None -> var
  - and more...

Changes 6 -> 7:
- update comment in ryu/
- make unit tests pass without ryu installed
  PLUGIN_DIR=quantum/plugins/ryu/ ./
  works now

Chages 5 -> 6:
- remove comment

Change 4 -> 5:
- eliminate relative imports
- copyright
- doc string
- naming (s/CONF_FILE/conf_file/g)
- add " check to ryu/nova/ovs_utils
- ryu/nova/linux_net: comment
- ryu agent: eliminated unused methods
- updated ryu/README: add
- added unit tests

Changes 3 -> 4:
- reflected Dan's review
- on-OVS in ryu.ini
- update @author
- some naming

Changes 2 -> 3:
- rebased to 04d144ae0b
- abandoned to share code and duplicated codes from openvswitch plugin
  for ovs plugin stability.
- dropped and added README
- update nova driver to catch up upstream change (gflags -> cfg)

Changes 1 -> 2:
- unbreak openvswtich unit test

Changes 3 -> new 1:
- rebased to 1eb3c693b5
- factor out common loginc from openvswitch plugin into ovscommon
- Introduced a new independent ryu plugin
- try new review due to the previous effort was marked abandoned.
  > Change-Id: I17801a7a74d4087838a8a26c1b1f97f28c2dcef3

- rebased to 9c5c2caef1
- some clean ups

Signed-off-by: Isaku Yamahata <>
Change-Id: Ia9fe87525cebccc87b7c18a533f48607272cd97f
2012-02-26 13:30:25 +09:00
Jenkins 543e150d6d Merge "Return appropriate error for invalid-port state in create port API." 2012-02-25 18:16:09 +00:00
Jenkins c8c2929151 Merge "Initial commit: nvp plugin" 2012-02-25 17:43:44 +00:00
Madhav Puri b9805bd234 Return appropriate error for invalid-port state in create port API.
Fixes ovs-plugin to return appropriate error code when create port API is passed a port state value other than ACTIVE or DOWN. Fixes bug 919265.

Also added unit-test to test the behavior and verified it using ovs-plugin with devstack.

Change-Id: Ibd4e7bfdf4483c7ad1ef4ca70a336cb164493ae1
2012-02-23 23:05:04 -08:00
Dave Lapsley c812b9dc03 blueprint quantum-ovs-tunnel-agent
Enhance existing Quantum OVS Plugin with a tunneling agent that
enables Hypervisors to be connected via GRE tunnels. The new agent
can be enabled/disabled via configuration file and provides backwards
compatibility with existing non-tunneling OVS Agent.

Change-Id: Id3b79430726b162fcb84f99df152d88a5766328f
2012-02-23 17:45:22 -05:00
Brad Hall 2386a7e2d5 Initial commit: nvp plugin
blueprint: quantum-nvp-plugin

Change-Id: I07c5d7b305928c341ef1b35a0d9b3281abcb03ae
2012-02-22 14:40:51 -08:00
Isaku Yamahata a945d1a304 unittests: setup FLAGS.state_path properly: bug 938637
This patch fixes bug 938637
Quantum unittests doesn't pass with plugin (openvswitch, linuxbridge) in venv
as follows.
This is because config file under <quantum src>/etc/ can't be find due to
FLAGS.state_path points to <python-quantumclient src> which can be different
from <quantum src>.
Set FLAGS.state_path to <quantum src> when quantum unit tests.

 $ PLUGIN_DIR=quantum/plugins/openvswitch ./ -V
    test_extended_action_for_adding_extra_data (quantum.tests.unit.test_extensions.ActionExtensionTest)ERROR
ERROR: test_extended_action_for_adding_extra_data (quantum.tests.unit.test_extensions.ActionExtensionTest)
Traceback (most recent call last):
  File "/quantum/tests/unit/", line 212, in setUp
    self.extension_app = setup_extensions_test_app()
  File "/quantum-src/quantum/tests/unit/", line 474, in setup_extensions_test_app
    return TestApp(setup_extensions_middleware(extension_manager))
  File "/quantum-src/quantum/tests/unit/", line 469, in setup_extensions_middleware
    conf, app = config.load_paste_app('extensions_test_app', options, None)
  File "/quantum-src/.venv/src/python-quantumclient/quantum/common/", line 316, in load_paste_app
    conf_file, conf = load_paste_config(app_name, options, args)
  File "/quantum-src/.venv/src/python-quantumclient/quantum/common/", line 286, in load_paste_config
    "Cannot load application %s" % app_name)
RuntimeError: Unable to locate any configuration file. Cannot load application extensions_test_app
-------------------- >> begin captured logging << --------------------
quantum.extensions.extensions: INFO: Initializing extension manager.
quantum.extensions.extensions: INFO: Loading extension file:
quantum.extensions.extensions: DEBUG: Ext name: Fox In Socks
quantum.extensions.extensions: DEBUG: Ext alias: FOXNSOX
quantum.extensions.extensions: DEBUG: Ext description: The Fox In Socks Extension
quantum.extensions.extensions: DEBUG: Ext namespace:
quantum.extensions.extensions: DEBUG: Ext updated: 2011-01-22T13:25:27-06:00
quantum.extensions.extensions: WARNING: Loaded extension: FOXNSOX
quantum.extensions.extensions: INFO: Loading extension file:
quantum.extensions.extensions: INFO: Loading extension file: foxinsocks.pyc
quantum.extensions.extensions: INFO: Loading extension file: __init__.pyc
--------------------- >> end captured logging << ---------------------

Change-Id: I3b8e1414b22b1a526468488fe885ac39f2e6c420
2012-02-23 02:01:54 +09:00
Bob Kukura d6bf2b7616 Cleanup the source distribution.
Missing text files such as LICENSE and various READMEs are now
included in the tarball source distribution. The Makefile and shell
script for installing the openvswitch agent on xen are also now
included. The openvswitch and linuxbridge agents are included, and
executable wrapper scripts for the agents are provided. The cisco and
linuxbridge nova drivers are now setup to be run from the quantum
namespace rather than copied to nova. Finally, the setup_*.py scripts
have been removed from the project. Fixes bug 925074.

Test by running "python sdist" and examining the generated

Change-Id: I33d336a5eb13678e6d527b575958393b337b6f3d
Signed-off-by: Bob Kukura <>
2012-02-17 17:55:00 -05:00
Jenkins 04d144ae0b Merge "Fix ovs config file location" 2012-02-16 18:59:14 +00:00
Jenkins d8f39dbd4d Merge "Bug 925372: remove deprecated webob attributes (and also specify stable webob version in pip-requires)" 2012-02-16 18:57:11 +00:00
Ghe Rivero cec98a7374 Fix ovs config file location
Change-Id: I957079434e14222e48fffb00e6bc3d58af8e40c8
2012-02-15 10:33:34 +01:00
Sumit Naiksatam 25e22bb750 blueprint quantum-linux-bridge-plugin
Squashed commit of the following:

commit 6c4995736a56349923d34353031eb301780fc6d2
Author: Sumit Naiksatam <>
Date:   Sat Jan 21 22:31:09 2012 -0800

    Some more explanation in the README.

    Changing defaults in the conf file.

commit 924b118468d7bd21737e9e2cf468ff83d0a20764
Author: Shweta <>
Date:   Sat Jan 21 20:58:39 2012 -0500

    Adding Unit Tests for LinuxBridge Agent

commit 12115650257483172c5e2bc889634dbdf3596d27
Author: Sumit Naiksatam <>
Date:   Sat Jan 21 05:21:24 2012 -0800

    Adding sqlite requirement

    Changing default mysql port number

    Fixing log statement

commit 0ad1400e5dfc445b94e9024d92321eb3cd0588a5
Merge: 1b7ba8f 9c5c2ca
Author: Sumit Naiksatam <>
Date:   Sat Jan 21 05:12:44 2012 -0800

    Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin

commit 1b7ba8f7e7b6657734b669194ddfdcfcbfc833be
Author: Sumit Naiksatam <>
Date:   Sat Jan 21 04:04:50 2012 -0800

    Fixes to get the tests to run correctly.

    Also incorporated changes to be able to run both sqlite and mysql DBs.

commit 4cead17576c293319dfdfd363dd18e81ba196b3b
Author: Sumit Naiksatam <>
Date:   Fri Jan 20 15:32:35 2012 -0800

    Fixed inccorect calls to the DB

commit c4f325729fbd06ee3f5d3520da4d23b2cd8c353b
Author: Sumit Naiksatam <>
Date:   Fri Jan 20 12:18:18 2012 -0800

    Removing the specialized db modules (which used InnoDB engine) and
    instead using the Quantum DB now.
    Incorporated changes to setup so that the Linux Bridge plugin can be
    Other changes to README and tests.

commit b9498939d723e353808cface87f4453e33e94b41
Author: Sumit Naiksatam <>
Date:   Mon Jan 16 20:00:14 2012 -0800

    Adding unit tests

commit a0ab990fdcbf67a950d08c6b5b6d20ceb850619a
Merge: 60e38cc f268b5e
Author: Sumit Naiksatam <>
Date:   Mon Jan 16 18:02:55 2012 -0800

    Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin

commit 60e38cc44886b5c8c9e47d89d8912d1dee23fbd1
Author: Sumit Naiksatam <>
Date:   Mon Jan 16 13:44:37 2012 -0800

    This contains a fix for the earlier reported issue with the DHCP

    The gateway IP address is now applied both to the bridge, and the
    gateway interface.

commit ffea86a3465b8a5ed93b13f818e0afaefa6787ee
Author: Sumit Naiksatam <>
Date:   Sun Jan 15 20:00:38 2012 -0800

    Fixing an issue in the agent, sometimes the bridges for deleted networks
    were not getting cleaned up

commit 87f76fc34f1c70cd82576b8698d704853c892422
Merge: c8b097a 60d171e
Author: Sumit Naiksatam <>
Date:   Sun Jan 15 19:40:33 2012 -0800

    Merge remote branch 'upstream/master' into snaiksat/linux-bridge-plugin

commit c8b097abc2060b2eae01d84f9fed2c89851d93fd
Author: Sumit Naiksatam <>
Date:   Sun Jan 15 19:37:08 2012 -0800

    Simplified the logic for creating the bridge on the nova network host.

commit 499dbacd4c5352c5320f3b6e5e8cd7f3629dbcc8
Author: Sumit Naiksatam <>
Date:   Fri Jan 13 16:07:53 2012 -0800

    Fix for the DHCP issue, now applying Gateway IP to the bridge

    Also MAC address from original tap device are applied to bridge
    and vlan subinterface

commit 6b4a2aea59702e2c12eeacc86101df9f6770d5ec
Author: Sumit Naiksatam <>
Date:   Sat Jan 7 14:29:00 2012 -0800

    Optimizations for processing in the loop

commit 01aa47d3572439b193077432c63bf2b85c629edb
Merge: 184f5dd 05df087
Author: Sumit Naiksatam <>
Date:   Sun Jan 1 19:04:17 2012 -0800

    Changes to incorporate Operational Status
    Merge remote branch 'origin' into snaiksat/linux-bridge-plugin


commit 05df0870191fac0353fe12a33efff68ef7ed0784
Merge: 31d586b 5b23b5e
Author: Sumit Naiksatam <>
Date:   Fri Dec 30 12:30:05 2011 -0800

    Merge remote branch 'upstream/master'

commit 184f5dd8b73bc51025509792c15203ee73cd015e
Author: Sumit Naiksatam <>
Date:   Mon Dec 12 02:09:12 2011 -0800

    Initial checkin for Linux Bridge L2 plugin.

Change-Id: I5b27538be6a768a6f7eb77409197f7d8b4bbc628
2012-02-08 13:32:55 -08:00
Salvatore Orlando a56ad238f2 Bug 925372: remove deprecated webob attributes
(and also specify stable webob version in pip-requires)

Change-Id: Id8dd53368f88042b71fc73a5f94803e635c4140b
2012-02-02 10:56:56 +00:00
Dan Wendlandt 1eb3c693b5 bug 923510: avoid querying all ports for non-detail GET Network call.
Change-Id: I9b4a20e5f6eb22dc234dfa675e7ca4f52893707d
2012-01-29 14:11:03 -08:00
Salvatore Orlando 3a38a3f70e bp/api-filters
This changeset implements filters for core Quantum API and provides unit tests

Change-Id: I8247b3587c2cc8e53785781a45d1e457980261d2
2012-01-25 08:51:51 +00:00
Jenkins c0cdc0f37a Merge "Split out quantum.client and quantum.common." 2012-01-25 04:56:48 +00:00
Monty Taylor 13222958a5 Split out quantum.client and quantum.common.
Change-Id: I1241bcd3305b6859c0cd2bb8c35b523e27aa3b18
2012-01-24 18:49:31 -08:00
Salvatore Orlando cc832e5d58 bp/api-error-codes
Restructured API error codes for Quantum API v1.1
This changeset provides the following changes:
- Only standard HTTP errors for Quantum API v1.1
- Customized fault response body formatting according to API version
- Changes to unit tests to deal with version specific status codes

NOTE: Client side changes are not in this branch.
They should be implemented within bp/quantum-client-1.1.
NOTE-2: Fixing references to QuantumHTTPErrors in extensions framework

Change-Id: I56f50b5c59d73fd6f02905106f0c2a3c8341a741
2012-01-25 01:28:30 +00:00
Brad Hall 1dd7766dca blueprint ovs-portstats
This adds an extension to support fetching port statistics from any plugin
that supports it.

Change-Id: Id14ee3c9604878b8a06d668126452cd5a5071b10
2012-01-24 12:47:08 -08:00
Brad Hall 975d5a996b Add support for dealing with 501 errors (notimplemented)
This allows us to return NotImplemented() from an extension if the plugin
doesn't support a given function.

Change-Id: I73c6dec959aea7b2bde1378222b62e6fc82a5d43
2012-01-24 12:47:08 -08:00
Jenkins a645692d25 Merge "Improved VlanMap." 2012-01-24 09:40:07 +00:00
Ghe Rivero 7a7e8e2bc1 Improved VlanMap.
Simplified logic and less time spent creating  vlans.

Change-Id: I90fda09faa1869b38993aa0aeed64d813d29afa9
2012-01-23 14:40:16 +01:00
Dan Wendlandt 543bf67833 bug 920299: remove duplicate + outdate README
Change-Id: I2122e69f7394420c912ab700da5bc91dd77f84af
2012-01-22 21:07:37 -08:00
James E. Blair c6ffd875df Base on glance.
This makes setting and calculating the versioning of quantum more
like other OpenStack projects, simplifying the work of the CI
and Release Management teams.

Addresses bug 916018 which prevents the quantum-tarball job from
running correctly.

Change-Id: I5b006ccc3d31c5d213c703853dfa38f04d983918
2012-01-17 16:24:34 +11:00
Monty Taylor f268b5e62c Make the quantum top-level a namespace package.
Change-Id: I8fa596dedcc72fcec73972f6bf158e53c17b7e6d
2012-01-17 10:43:48 +11:00
Jenkins 60d171ea18 Merge "PEP8 quantum cleanup" 2012-01-12 00:39:39 +00:00
lzyeval 4572e6500a PEP8 quantum cleanup
Fixes bug #911663

The None, True, and False values are singletons.

All variable *comparisons* to singletons should use 'is' or 'is not'.
All variable *evaluations* to boolean should use 'if' or 'if not'.
All Object type comparisons should use isinstance()
instead of comparing types directly.

Change-Id: Id5c797d3339d0d7015bac386088133540f0c0c9e
2012-01-04 20:12:31 +08:00
James E. Blair a90fab1193 Rename .quantum-venv to .venv.
This simplifies a number of Jenkins jobs which currently, other
than directory names, could be the same for all OpenStack
projects. By renaming the virtualenv directory, the redundant
Jenkins virtualenv build and copy jobs can be eliminated.

Change-Id: I93c7f6577b4c3a76b021f002bda59fcb8fac3f95
2011-12-23 15:02:57 -08:00
Tyler Smith 5b23b5ef6b Updating Cisco README with instructions on installing the patched ncclient library
Change-Id: I6bd7cb96fc6e1d2ac0bc811561b7f89d1c7d18c8
2011-01-12 20:51:27 -05:00
James E. Blair dadbae9833 Remove plugin pip-requires.
Fixes bug 906636.

The cisco plugin included ncclient, but does not use it when testing.
The openvswitch plugin included SQLAlchemy which is already required
by quantum itself.

I've also changed the script to only look at
tools/pip-requires, so that it behaves more like the rest of the
OpenStack projects.  In Jenkins that's the only file we look at
to see if we need to rebuild the virtualenv, so it would be best
if the project only hade one pip-requires.

Also added .gitignore to ignore files created during testing.

Change-Id: Ic460452ec89aa8377c975ca63b57563119860e6b
2011-12-19 16:30:54 -08:00
Jenkins 7c1b26c2eb Merge "Implementation of the BP services-insertion-wrapper inside the Cisco Plugin" 2011-12-14 00:56:21 +00:00
Jenkins 8c53e3b726 Merge "Fix for bug 902175" 2011-12-14 00:38:01 +00:00
Edgar Magana fa912dfcd9 Implementation of the BP services-insertion-wrapper inside the Cisco Plugin
This utility offers a simplify way to insert and remove network services
in the path of the traffic to the server VMs, by splitting the network
into two, and having the service bridge between the two networks,
in the process applying the service. This model is called In-Path
(Bump in the Wire)

Change-Id: If7e9ad2dcb8124e7d82ac837c5b62c0d09b00bcd
2011-12-13 13:35:11 -08:00
Dan Wendlandt e5095b06d5 blueprint operational-status-ovs-plugin
Implements operational status API for OVS plugin.   Uses existing
database model for operational status.  For network, status is always
up.  For a port, status is down unless there is an agent that
indicates that the port is active on its compute host.

Updated: use Salvatore's config hook to set default op-status for OVS
in OVS

Updated: fixed issue in _make_port_dict() found by Brad.

Change-Id: I0560cbde9dc69bd4211d9aaf12cef204df2f7664
2011-12-13 12:55:01 -08:00
Brad Hall b0652c0dff Fix for bug 902175
We can't use merge if we're removing a field from the port object so use add
instead.  Also, pass the session to port_get so that we don't run into the
"this port is already bound to session x" error.

Change-Id: I54a8484c8f6429ad18fb0c5e088720d21fc16299
2011-12-12 18:27:35 +00:00
Jenkins 1a048e944e Merge "bug #891246: Fix paths in agent Makefile" 2011-12-11 07:12:06 +00:00
Jenkins 7ee5686494 Merge "blueprint api-framework-essex" 2011-12-11 07:06:01 +00:00
Shweta P f8152805b1 Readme Fix
Change-Id: I3bf79cbd591b911e4f6d9329a7bf0c77f811ee8a
2011-12-09 09:29:18 -05:00
Jenkins d957efd706 Merge "Fix for bug 900277" 2011-12-08 16:38:31 +00:00
Ghe Rivero f53fb7705a blueprint api-framework-essex
Addressing Dan's comments.

This changeset provides:
- improved framework for API versioning, with separated controllers for each API version
- Taken from nova:'Resource' class in WSGI framework. This class is a container for serializers, deserializers and controller
- Better deserialization thanks to resource class. _parse_request_params has been removed
- Improved management of HTTP client errors
NOTE: this changeset does not update the framework used by API extensions.

Change-Id: I88a669ce418225c415e0da22e951762d0708e0a5
2011-12-06 09:53:11 +00:00
Rohit Agarwalla 9f6c2e0ee6 Fix for bug 900277
Removes duplicate network name checks from cisco db api module

Change-Id: I620b3abefeb2cb80eb98778807fd26c5a084bb0e
2011-12-05 09:58:26 -08:00
Shweta P 2184460b65 Modified the Readme for Unit Test Execution Instructions
Change-Id: Ib7ff79c166e34c4f99a8df55feb0191f37555597

Removed the trailing whitespaces in the README

Change-Id: Ic2299bf35d9e0d8512ae4f57976884d12ba92159
2011-12-05 11:13:32 -05:00
Salvatore Orlando bb6cbb09f5 Bug 900093
Remove unused function in db/

Change-Id: Icbf72ea4069bf56e147d7bc5160ed8c9905a6791
2011-12-05 01:10:23 +00:00