This patch makes sure that a route entry for dnsmasq is placed first
before any others (for example the l3-agent one). This makes DHCP work
when network namespaces are disabled.
also fixes bug 1083180, which has L3 plugin base class implement
get_*_count methods and raise
NotImplemented, which is the "right" thing to do from a
code-as-documentation perspective.
Yaguang Tang [Tue, 27 Nov 2012 08:55:32 +0000 (16:55 +0800)]
Use auth_token middleware in keystoneclient.
The auth_token middleware moved into keystoneclient so a full
keystone install is not required to use the middleware.Also
add missing signing_dir to api-paste.ini.
Iryoung Jeong [Mon, 26 Nov 2012 04:56:36 +0000 (13:56 +0900)]
Removing unnecessary setUp()/tearDown() in SecurityGroupsTestCase
This patch removes not required setUp()/tearDown() functions in
SecurityGroupsTestCase. The functions are almost identical in
test_db_plugin.QuantumDbPluginV2TestCase. Only difference is initializing
ext_mgr which is done by SecurityGroupDBTestCase.setUp().
And redundant inheritance of unittest2.TestCase for SecurityGroupsTestCase
is fixed.
Dan Prince [Mon, 26 Nov 2012 03:01:27 +0000 (22:01 -0500)]
Don't force run_tests.sh pep8 only to use -N.
Previously running run_tests.sh -p would *always* run
outside of the virtual environment. This commit makes -p
work equally well with -N (no-virtual-env) and -V (virtual-env).
Iryoung Jeong [Thu, 22 Nov 2012 03:58:47 +0000 (12:58 +0900)]
Updates tearDown() to release instance objects
This change fixes the bug by releasing the objects of the instance
of class QuantumDbPluginV2TestCase. Removing unnecessary objects
explicitly reduces the memory required by unit tests.
Bob Kukura [Tue, 13 Nov 2012 18:50:53 +0000 (13:50 -0500)]
Improve openvswitch and linuxbridge agents' parsing of mappings
Created generic quantum.utils.parse_mappings function that detects
duplicate key or value strings, and changed openvswitch and
linuxbridge agents to use this to parse their mappings from physical
networks to bridges or interfaces. Fixes bug 1067669.
Dan Prince [Mon, 5 Nov 2012 16:57:53 +0000 (11:57 -0500)]
Move extension.py into quantum/api.
This change moves extensions.py out of the extensions module
and into the api module. This resolves an issue where the
following log WARNING message would occur each time the Quantum
API starts:
Did not find expected name "Extensions" in
/usr/lib/python2.7/site-packages/quantum/extensions/extensions.py
gongysh [Fri, 9 Nov 2012 14:45:58 +0000 (22:45 +0800)]
Fix context problem
On plugin side, we use normal API context if any to call RPC methods.
We use our plugin dispatcher to convert RPC context into quantum admin
context. After that the callback's functions have the first argument context
as normal quantum context.
On agent side, we use admin context without session property as its
RPC calling context. Call back context is default RPCCommonContext in
Openstack common modules.
This patch also fixes the problem in the following bug:
Dan Wendlandt [Tue, 20 Nov 2012 22:09:19 +0000 (14:09 -0800)]
bug 1057844: improve floating-ip association checks
allow multiple floating ips to be associated with the same internal port
as long as they map to different external nets (not yet supported in
Folsom) or different internal fixed IPs. With Quantum, there is no
need to disallow either scenario.
Also improve check for a valid external network to router to internal
subnet path when a floating IP is bound.
This change fixes the bug by ensuring the metadata and session objects
are properly cleaned up by clear_db(). Using the proper calls reduces
the memory required by unit tests.
The change allows loading several service plugins along with core plugin.
The following functionality changes were made:
1. Multiple plugins are loaded one per type
2. QuantumManager now holds dictionary {plugin_type: plugin_instance}
Core plugin is stored there as well
3. Extensions are checked against all loaded plugins
4. Service plugins are specified by service_plugins option in quantum.conf file
5. Provide basic interface for service plugins
6. Introduce dummy service plugin as example and PoC
7. Service plugin's REST calls get corresponding plugin's common prefix
8. Add UTs for new extension framework functionality and for QuantumManager
Aaron Rosen [Wed, 14 Nov 2012 22:52:06 +0000 (14:52 -0800)]
All egress traffic allowed by default should be implied
This commit removes the egress rules that were created by default
to align with the way security groups work in amazon VPC.
"By default, all egress is allowed from the security
group until you add outbound rules to the group (then only the egress you
specified is allowed)."
During quota check we used to simply retrieve the entire collection
of resources from the database, then counting them in Python. This
patch introduces a specialized _get_collection_count() method, which
instead take advantage of the DB's built-in count capabilities.
In order to take advantage of this, plugins can now implement
get_*_count() methods for their resources. This is used (if present)
by the quota checking function.
Patch incorporates review feedback from Dan W, Alex Xu, Zhongyue Luo,
Edgar Magana, Akihiro Motoki and gongysh.
blueprint ryu-plugin-update-for-ryu
Now ryu has GRE tunnel support, so update ryu plugin to support it.
This implements/simplifies GRE tunneling support for ryu plugin
Isaku Yamahata [Fri, 10 Aug 2012 05:53:08 +0000 (14:53 +0900)]
plugin/ryu: add tunnel support
blueprint ryu-tunnel-support
This patch adds tunneling support to Ryu plugin.
Ryu supports gre tunneling which requires quantum ryu plugin to manage
key assignment.
Zhongyue Luo [Mon, 12 Nov 2012 03:49:42 +0000 (11:49 +0800)]
Adds tests for attributes.is_attr_set
ATTR_NOT_SPECIFIED and None are singleton objects
When conducting "is in" against a list of objects, they are compared using
unequal unless they are the same object.
http://docs.python.org/2/reference/expressions.html#in
According to PEP8, they should be compared by their id not value
Therefore the is_attr_set logic has changed to:
return not (attribute is None or attribute is ATTR_NOT_SPECIFIED)