Shiv Haris [Tue, 3 Feb 2015 01:58:53 +0000 (17:58 -0800)]
Brocade vendor code decomposition from neutron repo.
Brocade code decomposition of VDX mechanism driver,
includes moving out the driver and unit tests. Left
behind are the DB model for migration and config
Eugene Nikanorov [Thu, 22 Jan 2015 12:54:29 +0000 (15:54 +0300)]
Refactor retry mechanism used in some DB operations
Use oslo_db helper that will allow to restart the whole
transaction in case it needs a certain operation to be repeated.
This is a workaround for the REPEATABLE READ problem where
retrying logic will not work because queries inside a transation
will not see updates made by other transactions.
So, run every attempt in a separate transaction.
Ihar Hrachyshka [Thu, 26 Feb 2015 22:26:41 +0000 (23:26 +0100)]
Migrate to oslo.log
It's mostly a matter of changing imports to a new location.
Non-obvious changes needed:
* pass overwrite= argument to oslo_context since oslo.log reads context
from its thread local store and not local.store from incubator
* don't store context at local.store now that there is no code that
would consume it
* LOG.deprecated() -> versionutils.report_deprecated_feature()
* dropped LOG.audit check from hacking rule since now the method does
not exist
* WritableLogger is now located in oslo_log.loggers
Dropped log module from the tree. Also dropped local module that is now
of no use (and obsolete, as per oslo team).
Added versionutils back to openstack-common.conf since now we use the
module directly from neutron code and not just as a dependency of some
other oslo-incubator module.
Note: tempest tests are expected to be broken now, so instead of fixing
all the oslo.log related issues for the subtree in this patch, I only
added TODOs with directions for later fix.
Assaf Muller [Thu, 12 Mar 2015 02:11:33 +0000 (22:11 -0400)]
Stop using RPC namespace to unbreak rolling upgrades
This is a temporary patch until we get an Oslo messaging
release that supports Targets with multiple namespaces:
https://review.openstack.org/#/c/163673/
Assaf Muller [Wed, 11 Mar 2015 15:45:00 +0000 (11:45 -0400)]
Fix pylint issue with type VS isinstance in event_observers
New version of pylint started complaining about the unpythonic
usage of type. This patch fixes the issue. Another patch will
propose to pin the version of pylint.
Ihar Hrachyshka [Tue, 10 Mar 2015 21:57:58 +0000 (22:57 +0100)]
Added oslo.log dependency
This is needed for vendor libraries out of tree to start switching their
code to oslo.log logging interface. Hopefully, they will be able to run
against neutron core using neutron.openstack.common.log while executing
oslo_log.log.* calls.
This is needed to avoid a case when agent sees network
removal notifications on startup. Processing of those notifications
may overlap with processing of active networks and DHCP might be
disabled on some of active networks as a result.
Elena Ezhova [Thu, 19 Feb 2015 10:34:17 +0000 (13:34 +0300)]
Prevent calling waitall() inside a GreenPool's greenthread
When neutron-server is running with several api workers
sending it a termination signal (SIGTERM, SIGHUP or SIGINT)
leads to waitall() being called inside a GreenPool's greenthread.
The reason is that a wsgi server is started in a green thread
from the same green pool that is passed to the server itself
to be used for spawning client green threads.
To avoid it, it is reasonable to use different pools for spawning
a wsgi server and for its internal usage.
This is also the case for metadata agent running with several
metadata workers.
Improve performance of _get_security_group_member_ips
Use set operations instead of using list.
Currently complexity of the method is O(n^2) where n is
amount of ips (amount of VMs in the network).
When amount of VM is big (large L2 domain), this method
can significantly load the controller.
Reduce method complexity to O(n) on average.
Akihiro Motoki [Sat, 7 Feb 2015 13:22:14 +0000 (22:22 +0900)]
NEC plugin code split
- Removes main codes and unit tests of NEC plugin
- Add plugin-specific requirements.txt to the plugin dir.
- Move config to the plugin top dir
- Remove references of networking_nec from config module
because it may prevent config guide generator.
- agent command can be moved to neutron/cmd/eventlet
if some consensus has been made.
Closes-Bug: #1419396
Related to blueprint core-vendor-decomposition
Brian Haley [Thu, 19 Feb 2015 19:50:43 +0000 (14:50 -0500)]
Change linux/ip_lib code to better handle address families
The code in linux/ip_lib doesn't handle IP address families
similarly amongst all its APIs. It also doesn't consistently
handle how it passes options and arguments along to /sbin/ip
So in the spirit of re-factoring, let's try and fix that:
1. Have the code determine the IP address family from its
arguments, given that it was passed an IP address.
2. Always follow an (options, command, arguments) style.
Options need a '-' prepended and go first, followed by the
command, and finally by any arguments.
3. In cases where we can't infer an address family but need
one it is now required (e.g. listing routes).
I also cleaned-up the IpRule class to fall in line with the
other classes.
Kevin Benton [Fri, 27 Feb 2015 22:56:39 +0000 (14:56 -0800)]
Don't start transaction during floating IP delete
The previous floating IP code was starting a transaction to
delete the floating IP object from the database and then
calling the core plugin's delete_port method which could make
many yielding calls, risking deadlocks.
This patch updates the relationship between floating IP and the
ports table to allow the port deletion to automatically clear
the floating IP object via a cascade.
Sukhdev [Mon, 9 Mar 2015 21:45:21 +0000 (14:45 -0700)]
In Arista ML2 delete tenant without any resources
If there are no resources associated with a
tenant, it was deleted from Arista DB in
delete_xxx_precommit() methods. The sync
mechanism used to make sure that back-end is in
sync with DB.
Lately, the sync mechanism has been enhanced to
support scaled deployment. Therefore, the
delete_tenat() call now needs to be invoked from
delete_xxx_postcommit() methods instead of
delete_xxx_precommit() methods. Additionally,
when the tenant is removed from the DB, it is
removed from the back-end as well. This removes
the dependancy on the sync mechanism to take
care of this.
[Note: Sync will still do it, but, this way it
gets done right away]
Michael Smith [Tue, 24 Feb 2015 00:21:54 +0000 (16:21 -0800)]
FIP debug messages
The experimental DVR test job is seeing intermittent failures
related to FIPs. This patch will add debug log messages to the
l3-agent to help debug the failures. These logs messages will
indicate when fips have been added and the fip statuses before
they are sent to the plugin.
Mike Kolesnik [Tue, 3 Feb 2015 08:58:47 +0000 (10:58 +0200)]
Add proccess monitor to keepalived
Adding process monitor to keepalived code, so that keepalived processes
launched by the L3 agent will get monitored the same as other processes
launched by the L3 agent.
Old monitoring code was removed since it's not needed anymore.
Fix wrong log output in neutron/neutron/agent/linux/dhcp.py
When all subnets are turning off dhcp and killing the process,
this wrong log output "Killing dhcpmasq for network ..." occurs.
It should be "Killing dnsmasq for network ..."