Maru Newby [Thu, 17 Jan 2013 18:42:37 +0000 (18:42 +0000)]
Config lockutils to use a temp path for tests.
* Tests for iptables_manager were leaving lockfiles in the source
tree due to the default lock path being in the openstack common
tree. This patch sets the lock_path option to an empty string
for unit tests to ensure that a temporary location is used
instead.
Aaron Rosen [Thu, 10 Jan 2013 21:36:35 +0000 (13:36 -0800)]
Provide atomic database access nvp plugin
* This patch ensures that if multiple queries are done against the
database they are atomic.
* Removes outdated doc string comments.
* Changes update_network so that it doesn't update the network name in nvp
since the name is retreved from the database.
* Fixes get_network to return the correct status from nvp. Previously,
it was always returning ACTIVE.
Fixes bug 1097990
Aaron Rosen [Wed, 9 Jan 2013 23:08:02 +0000 (15:08 -0800)]
_validate_security_groups_on_port was not validating external_ids
The function _validate_security_groups_on_port was not validating a ports
security group id if the id was an external id. The unit tests now use
set_override() rather than setting cfg values directly. Lastly, quantum.conf
now has the proxy_mode option exposed.
Fixes bug 1095864
Akihiro MOTOKI [Wed, 16 Jan 2013 02:13:15 +0000 (11:13 +0900)]
Add a common test case for Port Binding Extension
This commit merges the test cases for Port Binding Extension in
Linux Bridge plugin and Open vSwitch plugin into a common one.
It makes it easier for each plugin to support the port binding extension.
This commit also adds binding:capabilities attribute to OVS plugin.
Note that binding:capabilities is under discussion and it may be changed
in the future. This change is done just to make OVS plugin support
same as Linux Bridge plugin and pass the common unit test for the extension.
Replaced equality operators used with ATTR_NOT_SPECIFIED to 'is' or 'is not'.
Used is_attr_set() where comparsion is done to None and ATTR_NOT_SPECIFIED.
Gary Kotton [Tue, 15 Jan 2013 13:00:03 +0000 (13:00 +0000)]
Update latest OSLO.
Changes include:
1. Removing the 'extras' in the pip-requires
2. Fixes for fake implementations for RPC calls
3. Version updates due to common version update
Arvind Somya [Mon, 7 Jan 2013 23:40:59 +0000 (18:40 -0500)]
Adding multi switch support to the Cisco Nexus plugin
This commit adds intelligent multiple nexus physical switch support for the Cisco plugin.
The plugin also has been modified to scan for the host when an instance is created and
selectively trunk VLAN's for the port for that host only. It also deletes VLANs from nexus
switches when no longer required.
Dan Prince [Mon, 14 Jan 2013 17:26:36 +0000 (12:26 -0500)]
Name the securitygrouprules.direction enum.
Updates to the SecurityGroupRule model and migration so that we
explicitly name the securitygrouprules.direction enum. This fixes
'Postgresql ENUM type requires a name.' errors.
Initial Hyper-V Quantum plugin including VLAN support.
Support for NVGRE networking will be added in a subsequent patch.
The plugin architecture relies heavily on the OVS plugin, with some
design differences to handle different network types via polymorphism.
The plugin contains two main components:
The plugin itself, to be executed on Linux or Windows
The L2 agent, to be executed on each Hyper-V node
L3 networking is currently handled on Linux with the existing agents.
A Nova Quantum Vif plugin is included in the Nova project.
Akihiro MOTOKI [Sat, 12 Jan 2013 12:42:32 +0000 (21:42 +0900)]
Inform a client if Quantum provides port filtering feature
Part of blueprint vif-plugging-improvements
Quantum and Nova have duplicated functionality of packet filtering
such as security groups and anti spoofing filters.
By passing information whether Quantum supports the port filtering feature,
Nova VIF driver can skip its own packet filtering setup.
It is based on Daniel's advise in https://review.openstack.org/#/c/19436/
Notifications in quantum api do not honor default_notification_level
in quantum.conf and always use INFO level. On the other hand
dhcp-agent refers to default_notification_level.
If default_notification_level is set to a value other than INFO,
dhcp-agent cannot receive notification from quantum server.
Aaron Rosen [Thu, 10 Jan 2013 22:40:33 +0000 (14:40 -0800)]
NvpPluginException mixes err_msg and err_desc
In a few places err_msg was passed to NvpPluginException though that
expected err_desc. This patch makes NvpPluginException take err_msg
instead and updates err_desc to err_msg when calling NvpPluginException
Aaron Rosen [Wed, 9 Jan 2013 22:24:47 +0000 (14:24 -0800)]
rename port attribute variable to SECURITYGROUPS from SECURITYGROUP
This patch renames the port attribute variable to the plural form since
multiple security groups can be associated with a port. This patch does
not change the security groups api and also does not change the
configuration section name to be SECURITYGROUPS.
Fixes bug 1095885
Aaron Rosen [Fri, 4 Jan 2013 00:52:42 +0000 (16:52 -0800)]
Remove relative imports from NVP plugin
The majority of relative imports in the nvp plugin will be fixed in
blueprint nvp-api-client-loadbalance-request. This patch removes the
rest of them in and moves the vim tabstop line to the top of the
header file to be consistent with the rest of the files in quantum.
Fixes bug 1091596
Gary Kotton [Mon, 7 Jan 2013 13:25:26 +0000 (13:25 +0000)]
Port to argparse based cfg
Implements blueprint argparse-based-cfg
Sync the following changes from oslo-incubator:
479f19c Add deprecated --logdir common opt 27b2ff4 Add deprecated --logfile common opt. 9b81289 Allow nova and others to override some logging defaults 3557d84 Fix ListOpt to trim whitespace 01ab910 Fix set_default() with boolean CLI options af18eaa Improve cfg's argparse sub-parsers support f21e1d9 Fix regression with cfg CLI arguments ceb4aa7 Fix broken --help with CommonConfigOpts 5e9503b Hide the GroupAttr conf and group attributes b6d24bb updating sphinx documentation 403509e Don't reference argparse._StoreAction e17deb8 Fix minor coding style issue 0c29e1d Remove ConfigCliParser class 5b9cb41 Add support for positional arguments dbc72a6 Use stock argparse behaviour for optional args 768a147 Use stock argparse --usage behaviour ac180b9 Use stock argparse --version behaviour 0787e38 Remove add_option() method 5afead0 Completely remove cfg's disable_interspersed_args() 5f564b2 argparse support for cfg d7b6397 Add a missing comma in a docstring. aca1805 cfg: fix required if option has a dash
Note: various utilities/services with command line parameters needed to be
updated due to the changes mentioned above. The downside is that these are
not backward compatible. Unknown arguments are no ignored. Only bound
arguments will be treated.
Thanks to Mark McLoughlin for migration cli code changes.
Leon Cui [Thu, 13 Dec 2012 00:04:24 +0000 (16:04 -0800)]
The change implemented Lbaas CRUD Sqlalchemy operations.
- This change only contains the database access implementation
of LBaaS API. There is no real configuration down to device
side.
- This change implements a loadbalancer plugin which doesn't
do much thing but only db access. The object status needs to
be updated when integrate with the lbaas agent.
- This change follows the new LBaaS API 1.0 model. Please see
the spec on wiki.
Nachi Ueno [Wed, 7 Nov 2012 19:00:53 +0000 (11:00 -0800)]
Iptables security group implementation for LinuxBridge
Implements bp quantum-security-groups-iptables-lb
- Added firewall driver
- Added iptables based firewall driver
- Implemented security groups for rpc support mixin classes
Aaron Rosen [Wed, 31 Oct 2012 04:35:42 +0000 (21:35 -0700)]
Allow nvp_api to load balance requests
The current version of the nvp_api client does not load balance
requests across multiple controllers. Instead, it just sends all the requests
to one controller and if there is a controller failure it will failover
to use another controller. This blueprint implements the ablility to
utilize all controllers at once.
This patch allows for managing service types through the API.
The default service type is specified in the configuration file.
The patch also provides a 'dummy' API extension, which uses the
'dummy' service plugin, as a PoC for usage of service type.
The dummy API extension is used in unit tests only.