Morgan Fainberg [Tue, 10 Dec 2013 22:03:12 +0000 (14:03 -0800)]
Sync global requirements to pin sphinx to sphinx>=1.1.2,<1.2
Sync the global requirements to pin sphinx. This addresses an issue
where Sphinx 1.2 is not building documents correctly and causing
check/gate to fail.
Oleg Bondarev [Tue, 6 Aug 2013 08:52:34 +0000 (12:52 +0400)]
LBaaS: unify haproxy-on-host plugin driver and agent
Unifies haproxy reference implementation to make common agent based plugin driver
which is suitable for all vendors who wants to use async mechanism.
- Agent API as well as device driver API changed to handle
loadbalancer objects individually;
- Agent loads device drivers according to config;
- LogicalDeviceCache class was removed from agent as it was used only
as a list - to put and remove entries ant check whether entry is in or not.
It was replaced with instance_mapping dict in agent to store known instances and
corresponding device_drivers;
- Agent reports which device drivers are supported (needs for scheduling on plugin side);
- Agent-to-plugin API was extended to provide an ability for agent to update
statuses of pools/vips/members/health_monitors;
- Vendor should only implement device driver; plugin driver just needs
to inherit AgentBasedPluginDriver and override device_driver member;
- This patch doesn't move files to make review easier;
all rename/replace will be done in a subsequent patch;
DocImpact
NOTE: Since the change in the agent RPC API is backward-incompatible
(major RPC version change), LBaaS server-agent communications will be
completely broken until both sides are upgraded so users will be unable to
create new or update existing HAProxy loadbalancer instances during upgrade
Akihiro Motoki [Mon, 9 Dec 2013 17:07:54 +0000 (02:07 +0900)]
Remove root_helper config from plugin ini
As root_helper is defined in neutron.conf, root_helper in plugin ini
is unnecessary and brings confusion when configuring the parameter.
This patch updates plugin ini of NEC plugin and Brocade plugin.
Sylvain Afchain [Tue, 26 Nov 2013 21:24:33 +0000 (22:24 +0100)]
Add LeastRouters Scheduler to Neutron L3 Agent
Allow scheduling of a virtual router on an L3 Agent node with the least
number of routers currently scheduled. This scheduler can be used
instead of the default random scheduler.
Also refactor the l3_agent_scheduler to allow for adding new schedulers.
Aaron Rosen [Fri, 6 Dec 2013 19:12:33 +0000 (11:12 -0800)]
Remove dead code _arp_spoofing_rule()
This code should have been removed when the allowed_address_pair
extension was added here (0efce6195fa7be80e110bd841dc9b3537a94c376).
The arp spoofing rules are handled in the method _setup_spoof_filter_chain().
Reported by: Amir Sadoughi that this was crud I left behind :)
John Dewey [Fri, 6 Dec 2013 03:35:37 +0000 (19:35 -0800)]
Removed erronus config file comment
The comment stating 'DHCP agents needs it.' with regards to the
rpc_notifier notification_driver is incorrect. Looking through
the code, I see no place this is true. I believe it to be an
error.
This fix improves the unit test coverage for the Cisco Nexus plugin
common modules (directory neutron/plugins/cisco/common) from:
--- cisco_credentials_v2.py 82%
--- cisco_faults.py 0%
--- config.py 84%
To:
--- cisco_credentials_v2.py 100%
--- cisco_faults.py 76%
--- config.py 100%
Ed Bak [Tue, 3 Dec 2013 23:00:23 +0000 (23:00 +0000)]
Change to improve dhcp-agent sync_state
Added a pool.waitall to dhcp-agent sync_state
to ensure that the last pool of threads are complete
before another sync_state begins. Added another
log message to aid in debugging. Also added the
test_sync_state_waitall unit test.
If a network/subnet is deleted while creating the dhcp
port, the agent will detect a conflict on state of the
network and deal with it accordingly.
A concurrent delete may manifest itself via a number
of exceptions, IPAddressGenerationFailure amongst others,
hence the refactoring of the error handling logic into its
own utility method.
Aaron Rosen [Thu, 21 Nov 2013 13:28:28 +0000 (05:28 -0800)]
Fix unable to add allow all IPv4/6 security group rule
Previously, if one tried to add a rule to allow all ingress ipv4 neutron
would respond that the rule was already part of the security group.
This happened as the filter for querying existing rules uses a wildcard for
remote_group_id thus returning a false match. This patch addresses
this issue.
Irena Berezovsky [Sun, 29 Sep 2013 11:09:44 +0000 (13:09 +0200)]
Add request timeout handling for Mellanox Neutron Agent
Add request timeout handling for messages sent to eswitch Daemon.
Using configurable number of retries and increasing waiting interval
between retries resend the message.
If request timeout persists, eswitch daemon is not reachable.
In such case, exit the agent process.
There is really no problem with this change. However, it is probably
triggering a port_update notification to the agent for each port
with an allocated IP.
The agent handles that notification in a way which might be improved
from a scalability perspective.
I don't actually want this change to removed, I am just checking
whether neutron without it passess jobs.
This patch adds some debug logging statements aimed at profiling
tasks in the agent's main rpc loop.
These logging capabilities will help gain some better insights into
the performance bottlenecks of the agent.
Jian Wen [Wed, 27 Nov 2013 14:23:26 +0000 (22:23 +0800)]
l3_agent: make process_router more robust
If internal_network_added/removed fails, _sync_routers_task will call
process_router to do fault recovery. Because the port is already
added/removed to/from ri.internal_ports, internal_network_added or
internal_network_removed will not be called again.
The patch fix this issue by calling ri.internal_ports.append/removed
only if internal_network_added/removed succeed. Without the patch,
the added testcases would fail.
Zhenguo Niu [Thu, 28 Nov 2013 15:12:00 +0000 (23:12 +0800)]
Updates .gitignore
To ignore swap files from getting into repository
currently the implemented ignores are *.swp and *.swo
however vim adds more swap files if these files exists,
so improving this with *.sw?
Maru Newby [Wed, 27 Nov 2013 07:57:48 +0000 (07:57 +0000)]
Stop logging unnecessary warning on context create
The context was previously logging at the 'warn' level when unknown
kwargs were being passed to its __init__(). Since the agents were
passing tenant=None with each rpc request, this was generating an
unreasonable amount of log chatter that would not be useful to an
operator. The fix is to log at the debug level instead so that
the operators don't see the output by default but developers can
still choose to.
Eugene Nikanorov [Thu, 28 Nov 2013 08:46:41 +0000 (12:46 +0400)]
Avoid loading policy when processing rpc requests
When Neutron server is restarted in the environment where multiple agents
are sending rpc requests to Neutron, it causes loading of policy.json
before API extensions are loaded. That causes different policy check
failures later on.
This patch avoids loading policy when creating a Context in rpc layer.