Mark McClain [Sun, 24 Feb 2013 12:55:06 +0000 (07:55 -0500)]
LBaaS Agent Reference Implementation
implements blueprint lbaas-namespace-agent
This a reference implemention of the Quantum load balancing service
using HAProxy. The implemention is designed for vendors, developers,
and deployers to become familiar with the API and service workflow.
This change also adds some constraint checks for data integrity.
The API previously allowed a VIP to be created without verifying that
the tenant had access to the subnet and that the address was valid and
available. This change modifies VIP creation behavior to create a
Quantum port with the requested address. If an address is not provided, an
address is allocated using the normal allocation process for the subnet.
This change also renames the port attribute to protocol_port to remove the
ambiguity about which type of port it represents.
Additional tests were added to validate the change in behavior.
gongysh [Fri, 22 Feb 2013 15:34:57 +0000 (23:34 +0800)]
Add scheduling feature basing on agent management extension
3rd part of blueprint quantum-scheduler
1. Allow networks to be hosted by certain dhcp agents.
Network to dhcp agent is a
many to many relationship. Provide a simple
scheduler to schedule a network randomly
to an active dhcp agent when a network or port is created.
2. Allow admin user to (de)schedule network to a
certain dhcp agent manually.
3. Allow routers to be hosted by a certain l3 agent.
Router to l3 agent is a many to one relationship.
Provide a simple scheduler to
schedule a router to l3 agent if the router is not
scheduled when the router is updated.
4. Auto schedule networks and routers to agents when agents
start.
5. Only support ovs plugin at this point
This patch adds a new tag_scope, 'shared', in order to allow
the NVP plugin to retrieve also shared networks from NVP when
listing networks. This way it won't appear as Quantum has a
network without a corresponding lswitch in NVP
Due to recent changes in notification logic between Quantum and the DHCP
agent, the notifier the NVP plugin previously used for metadata access
network was not working anymore and needed to be replaced
Monty Taylor [Wed, 6 Feb 2013 06:01:30 +0000 (17:01 +1100)]
Use testtools instead of unittest or unittest2.
As part of the move towards testr and parallel test running, we
start to use testtools and fixtures to make the test suite
resilient and more pedantic.
Akihiro MOTOKI [Tue, 26 Feb 2013 04:14:26 +0000 (13:14 +0900)]
Enables packetfilter ext in NEC plugin based on its driver config
packet filter extension in NEC plugin should be determined based on
a return value of filter_supported method in the backend driver.
Previously filter_supported was not called actually and packetfilter
extension was always enabled.
Akihiro MOTOKI [Tue, 26 Feb 2013 03:37:37 +0000 (12:37 +0900)]
Set default api_extensions_path for NEC plugin
NEC plugin has a plugin specific extension in its plugin directory.
api_extension_path must be set in quantum.conf to enable quantum-server
to load the extension, but users sometimes forget to set it. It provides
better usability if api_extensions_path is set appropriately by default.
This fixes the bug by changing LoadBalancerPluginDbTestCase to inherit
from test_db_plugin.QuantumDbPluginV2TestCase. This allows for the
plugin to access context managers for core resources. Additionally,
this change adds subresource and service_plugin support to
QuantumDbPluginV2TestCase.
Aaron Rosen [Thu, 21 Feb 2013 23:50:21 +0000 (15:50 -0800)]
Provide a default api_extensions_path for nvp_plugin
The NVP plugin has several extensions within it's plugin directory. In order
to tell quantum-server to load this, api_extensions_path must be set in
quantum.conf. This is sort of painful because one needs to set this value.
Aaron Rosen [Thu, 21 Feb 2013 22:44:16 +0000 (14:44 -0800)]
AttributeError: No such RPC function 'report_state'
This patch changes dhcp_agent_manager to be DhcpAgent instead of
DhcpAgentWithStateReport since not all plugins support DhcpAgentWithStateReport
and having this as the default breaks all current deployments that upgrade
source without changing their config files.
This patch adds an API extension, the relevant DB logic, and the NVP
plugin logic for managing a NVP-specific feature, Layer-2 Network
Gateway, through the Quantum API.
The proposed extension is meant to be used with the NVP plugin only.
Nachi Ueno [Thu, 17 Jan 2013 01:52:47 +0000 (17:52 -0800)]
Routing table configuration support on L3
Implements bp quantum-l3-routes
-- Adding the extraroute extension
-- Updating the routing table based on routes attribute on route
-- Updated OVS plugin, linuxbridge plugin, metaplugin
NEC plugin, Ryu plugin
User can configure the routes through quantum client API by
using the extension feature.
sample
quantum router-update <router_id> \
--routes type=dict list=true destination=40.0.1.0/24,nexthop=10.1.0.10
He Jie Xu [Thu, 1 Nov 2012 08:05:44 +0000 (16:05 +0800)]
Supporting pagination in api v2.0
Implements bp support-pagination-in-api-v2.0
Add sort and pagination feature for api v2.0.
*Add sort_key, sort_dir for sorting feature.
*Add limit, marker, page_reverse for pagination feature.
*Add emulated sorting and pagination
Allows the NVP plugin to leverage the metadata proxy, by creating an
ad-hoc topology for allowing access to a metadata proxy from a NVP
router leveraging existing agents.
This patch also removes previous code for metadata support in the
NVP plugin, which was based on DHCP Option 121. This is now provided
by the dhcp agent as well.