* flake8 supports more checks than pep8 (e.g. detection of
unused imports and variables), and has an extension mechanism.
A plugin to support automatic HACKING validation is planned.
* See: http://flake8.readthedocs.org/
Roman Podolyaka [Wed, 20 Mar 2013 16:50:50 +0000 (18:50 +0200)]
Use wrappers instead of direct calls to ip route.
- extract the logic of ip route wrapper into a separate
class to drop dependency on a specific network device
- add route wrapper to IPWrapper class
- use IPWrapper instead of direct calls to ip route in l3 agent
- update tests
EmilienM [Tue, 26 Mar 2013 13:43:12 +0000 (14:43 +0100)]
Add RabbitMQ and QPID HA support flags to quantum.conf
Since Quantum supports HA queues with RabbitMQ (https://review.openstack.org/#/c/13760/),
quantum.conf should provide new flags for explain how to configure multiple RabbitMQ servers and enable HA.
New flags :
rabbit_hosts=$rabbit_host:$rabbit_port
rabbit_ha_queues=false
qpid_hosts = localhost:5672
Rich Curran [Tue, 5 Feb 2013 20:55:28 +0000 (15:55 -0500)]
blueprint cisco-single-config
Scope: Unification of all the various plugin files for the Cisco plugin into a single file.
Use Cases: Quantum with the Cisco plugin.
Implementation Overview: All the config values contained in the various files in
etc/quantum/plugins/cisco will be unified into a single file
etc/quantum/plugins/cisco/cisco_plugin.ini. The plugins needs to be modified to
read from a single file instead of multiple.
Added quantum.openstack.common.cfg support.
Previously when creating a lb-vip it would be created without
a default gw. This patch fixes that and adds unit tests to check
that route add is called if the subnet has a gateway_ip.
When try to serialize an exception object as json, it failed
with 'ValueError: Circular reference detected' that is same error
as bug 119790. So this patch fixes bug 119790 too.
This implements work item #1 of the blueprint.
This patch enables authZ checks for 'member actions' in the base
controller and removes explicit checks from l3_db.
This patch also addresses a small glitch in the policy engine which
was assuming the request always had a body.
Davanum Srinivas [Fri, 22 Mar 2013 14:31:35 +0000 (10:31 -0400)]
Support for SSL in wsgi.Server
SSL are entirely optional. Support for SSL as well using code from glance. We
have some new options for configuring the SSL support. There are tests for
accessing a sample app w/o ipv6 or ssl, one with just ssl and one with
ipv6 and ssl
Aaron Rosen [Fri, 15 Mar 2013 21:45:42 +0000 (14:45 -0700)]
Add metadata support for nvp plugin without namespaces
If using a host that does not support namespaces the nvp plugin did not have
a way to leverage metadata unless using enable_isolated_metadata which
requires a subnet to not have a gateway. This patch changes the metadata
configuration for the NVP plugin by adding a flag metadata which can be
set to access_network (which was previously enable_metadata_access_network)
or dhcp_host_route. When set to dhcp_host_route when the dhcp agent creates
it's port a host_route is added towards the dhcp server's ip for the
destination 169.254.169.254/32 only if the subnet has as gatway_ip.
In order for a host to leverage metadata via dhcp_route_route it requires
the host's dhcp client to support host routes (code 121).
Dan Prince [Mon, 25 Mar 2013 17:47:50 +0000 (13:47 -0400)]
Enable exception format checking when testing.
Updates our new exception base class to enable exception
format checking. This should help enforce that we pass
the correct kwargs to exceptions when testing.
Isaku Yamahata [Mon, 18 Mar 2013 21:56:15 +0000 (06:56 +0900)]
netns: ip netns exec <name> kill doesn't make sense
It seems confusing netns with pidns.
Although 'ip netns exec' doesn't make sense,
'ip netns exec <netns> kill <pid>' itself success as expected.
But as side effects, dentry of /proc/<pid>/ns/net becomes young,
which increases the possibility to fail to delete netns. That's not good.
Aaron Rosen [Thu, 21 Mar 2013 01:19:04 +0000 (18:19 -0700)]
Fix race condition in dhcp agent
This patch fixes a race condition that can happen in the dhcp agent when
a subnet is created and then a host route is then immediately added to that
subnet following a subnet.update.end notification. The race condition occurs
in refresh_dhcp_helper() where self.enable_dhcp_helper() gets called twice
since the first call had not completed self.cache.put(network). This same race
condition can also occur in the other events so lockutils.synchronized() is
added to synchronize those code segments as well.
adding parameter to configure QueuePool in SQLAlchemy
This patch introduces the parameter sqlalchemy_pool_size.
The parameter is used to configure the QueuePool, created
in configure_db(). At the moment the configuration of the
pool is only possible when using eventlet's db_pool for
MySQL (sql_dbpool_enable = True).
This patch removes extra colons from policy.json.
Also, it fixes some checks in the nicira plugin which were not
passing correctly the target resource for the policy engine.
Paul Michali [Mon, 18 Feb 2013 13:57:14 +0000 (08:57 -0500)]
Add bulking support for Cisco plugin
For each bulk request, the Cisco plugin will handle the call,
and, through the base class method, convert them into a series of
non-bulking calls wrapped in a transaction (emulated bulking).
Those non-bulking requests will all be forwarded to the Cisco
model (VirtualPhysicalSwitchModelV2), which will either handle
the request locally (as in create_port), or delegate the request
to the OVS plugin (OVSQuantumPluginV2).
As a result, the model should not receive any bulking calls.
However, the model was set up to delegate any bulk calls to the
OVS plugin (which would act like the existing code, in case we
decide later to pass along any bulk calls). An alternative would
be to raise an exception, if a bulk call was made to the model.
Prior to this change, all bulking calls were forwarded from the
Cisco plugin to the model plugin, which would would delegate
(directly or indirectly) to the OVS plugin. The OVS plugin would
turn the request into a transction of non-bulking calls.
The effective difference proposed is that the create_port will now
create the port in OVS and then create the network in the Nexus
plugin.
The Nexus plugin does not currently handle bulking so this commit
is implementing emulated (versus native) bulking.
This patch has been updated with latest from upstream (Havana).
Alessio Ababilov [Mon, 18 Mar 2013 16:48:30 +0000 (18:48 +0200)]
Allow tests in TestDhcpAgentEventHandler run independently
Tests in TestDhcpAgentEventHandler depend on dhcp_confs
option that is defined in quantum.agent.linux.dhcp. We have
to register the option in order to allow independent testing.