Kevin Benton [Wed, 18 Jun 2014 07:17:02 +0000 (00:17 -0700)]
Big Switch ML2: sync detection in port-update
Adds logic to the update_port_postcommit method of the
Big Switch ML2 driver to detect when afailure to update
the port via REST was caused by the backend being out-of-sync
with neutron.
This was accomplished by checking for the NXNETWORK message
which indicates that a port request referenced a network that
does not exist on the backend. This only occurs when they are
out-of-sync so the driver will then trigger a full topology sync.
The same logic exists in the port creation method shared with
the Big Switch plugin. However, the Big Switch ML2 driver does
not send port requests to the controller unless the port binding
host ID is set, which doesn't occur until a port update after
binding in the ML2 scenario. Therefore, the logic has to be repeated
in the ML2 driver port update operation.
Ihar Hrachyshka [Tue, 3 Jun 2014 19:05:20 +0000 (21:05 +0200)]
Make sure we call BaseTestCase.setUp() first
Some test cases instantiate RPC clients in setUp() before calling to
super(). After we port to oslo.messaging, we'll initialize RPC layer in
BaseTestCase, so we should make sure we call there before proceeding
with clients in subclasses.
Ihar Hrachyshka [Tue, 3 Jun 2014 11:30:58 +0000 (13:30 +0200)]
Don't instantiate RPC clients on import
In oslo.messaging port, we'll need to make sure no RPC clients or
servers or notifiers are created before RPC layer is initialized using
n_rpc.init(). This means that there should be no global objects that
create those objects on __init__.
There should also be no such class attributes because in that case
import will itself instantiate the object, probably before RPC layer is
ready.
Ihar Hrachyshka [Tue, 3 Jun 2014 10:39:17 +0000 (12:39 +0200)]
Configure agents using neutron.common.config.init (formerly .parse)
After oslo.messaging port is done, we'll need to initialize RPC layer
from all RPC agents. We'll put initialization into init() function, so
the first step for migration is to make agents use it.
The function is renamed to be explicit about the fact that we don't just
parse configuration by calling it, but also do other common
initializations, like setting RPC layer.
Jakub Libosvar [Tue, 17 Jun 2014 15:20:25 +0000 (17:20 +0200)]
Notify systemd when starting Neutron server
systemd is notified only when Neutron is started with multiple api
workers. This patch adds systemd.notify_once() call when starting
Neutron server with api_workers=0
Aaron Rosen [Mon, 16 Jun 2014 22:41:04 +0000 (15:41 -0700)]
NSX: revert queue extension name change
The following patch: d7aa2dfcb14b84e2ef3242fb0787200d852d6103 renamed the
nvp-qos extension to qos-queue which breaks the integration with nova as
nova checks for the nvp-qos extension to be loaded and now it's called
qos-queue. This patch adds back nvp-qos for trunk chasers and another
patch will migrate nova from nvp-qos to qos-queue.
Vishal Agarwal [Mon, 16 Jun 2014 16:01:15 +0000 (21:31 +0530)]
Fix pool statistics for LBaaS Haproxy driver
Total connections was mapped to none of the counters
of haproxy. Active connections was mapped to active request
counter(qcur)) of haproxy which in low load situations
always remains zero.
Patch maps connections API counters to haproxy session counters
and fixes unit test accordingly.
Tom Fifield [Mon, 16 Jun 2014 09:15:42 +0000 (17:15 +0800)]
Fix opt helpstring for dhcp_lease_duration
Recently (https://review.openstack.org/#/c/92453), the
functionality of dhcp_lease_duration was changed to support
infinite lease times.
However, this change failed to update the associated help text
with the option declaration. This patch simply updates the text
so that the new functionality can be understood by the user.
This patch simply adds some log statements with debug
severity for tracking events related to the NSX object
cache kept by the operational status synchronization
thread.
This will be helpful when debugging error conditions.
Kevin Benton [Thu, 12 Jun 2014 09:15:27 +0000 (02:15 -0700)]
Big Switch: Remove unnecessary initialization code
Removes a server_timeout parameter that was never set by anything
in the Big Switch plugin and the ML2 driver.
Also eliminates an __init__ method that didn't do anything except
incorrectly log an unset server pool warning before the inheriting
class setup the server pool.
Kevin Benton [Thu, 12 Jun 2014 08:35:10 +0000 (01:35 -0700)]
Big Switch: Import DB module in unit test
Import the portbinding db module in the Big Switch base test case
so the table gets created before the test is run. Otherwise the
tests will fail when being run with testtools because the portbinding
db isn't normally imported until a function call from the Plugin.
When l2-pop ON, clean stale ports in table0 br-tun
When l2-pop is turned ON, the tunnels towards a
specific node are created and torn down by other nodes,
based on availability of ports on that specific node in
specific networks. This generally reclaims the resources
used for such tunnels in all the nodes.
Under such conditions, in the current code (without this
fix), the cleaned up ports continue to be present in
rules of table0 of br-tun, resulting in flow explosion.
This fix adds cleanup-logic to remove such rules that
continue to use l2-pop cleaned up ports, from table0 of
br-tun.
ronak [Wed, 21 May 2014 17:05:48 +0000 (10:05 -0700)]
Floatingip extension support for nuage plugin
Nuage's VSP supports adding floating-ip which fits
nicely with this floatingip extension supported by
openstack's neutron. This set of change enables that.
stanzgy [Mon, 9 Jun 2014 09:42:12 +0000 (17:42 +0800)]
ovs-agent: Ensure integration bridge is created
ovs-agent will fail to launch if integration bridge(br-int by default) is not
existed. To fix this, the agent should check and create the bridge if necessary
during launching.
Eugene Nikanorov [Tue, 10 Jun 2014 03:55:40 +0000 (07:55 +0400)]
Fix race condition with firewall deletion
In some cases when firewall is created and then deleted in short
period of time, there could be a race condition of firewall status
changes. Agent may change firewall status from PENDING_DELETE to ACTIVE
because the agent has just set it up on the backend.
Delete request then is not properly served and firewall remains in ERROR
state and can't be deleted at all.
To fix this changing status from PENDING_DELETE is not allowed.
Deleting firewall in ERROR state is allowed.