Matt Riedemann [Fri, 20 Nov 2015 02:43:07 +0000 (18:43 -0800)]
Set timetable for removal of oslo.messaging.notify.drivers
Icehouse is dead and gone, at least upstream. These special driver
registrations are not tested in the gate-tempest-dsvm-neutron-full job
which means they are also not tested in requirements constraints jobs.
oslo.messaging 2.6.0 broke these already by removing the internal modules,
which was fixed in o.m 3.0.0 with (deprecated) alias modules.
The minimum required version of o.m in mitaka is currently greater than
2.6.1, so we're OK to remove these once stable/mitaka is our oldest
supported branch. So add a TODO to remove these once liberty-eol happens.
Proper configuration for notification drivers happens through the
config file using the oslo_messaging options:
The configuration options come from oslo and the server
executable is usually wrapped in a service script, supplied
by packagers and/or deployment tools. Any extra documentation
available in tree is of relative value, and the fact that
this file has been virtually ignored ever since it was
added is a testament of that.
Let's stop its agony and wish it to rest in peace.
Henry Gessau [Sun, 22 Nov 2015 02:39:35 +0000 (21:39 -0500)]
Final decomposition of the nuage plugin
This removes what's left of the nuage code and artifacts from the
neutron tree. All the vendor code is now in the
nuagenetworks/nuage-openstack-neutron repo on github.
rossella [Mon, 23 Nov 2015 12:53:45 +0000 (12:53 +0000)]
Add a script to create review dashboard for a milestone
This script queries launchpad to get:
1) Bug number of bugs tagged with rfe-approved
2) Bug number of critical/high bugs
3) list of blueprints targeted for the milestone passed as param
With this information the scripts prints queries that can be used
in Gerrit directly and creates a .dash file that can be used by
gerrit-dash-creator to output a dashboard url.
Victor Laza [Fri, 4 Dec 2015 09:11:23 +0000 (11:11 +0200)]
Remove Neutron core static example configuration files - addition
Change id Ic7ae2e038b5bd7b215c65c9c565bfe31ef551520 is incomplete,
the files had to be removed from setup.cfg also.
It beaks the HyperV-CI beacause the config files do not exist
anymore.
This patch adds the availability_zone support for router.
APIImpact
DocImpact: Make router scheduler availability zone aware. If multiple
availability zones are used, set router_scheduler_driver =
neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler. This scheduler
selects agent depends on LeastRoutersScheduler logic within an availability
zone so that considers the weight of agent.
Kevin Benton [Thu, 3 Dec 2015 01:55:01 +0000 (17:55 -0800)]
Fix default RBAC policy quota
The previous config value for the default RBAC policy
was not in neutron.conf and value that was registered
as a config option 'rbac_entry' didn't match the resource
name 'rbac_policy' so the default did not take effect.
This patch corrects it by registering the 'rbac_policy'
option instead of 'rbac_entry' and documents it in neutron.conf.
It also adds an API test that exercises the quota limit and
ensures that it's not set to -1.
Mike Bayer [Thu, 3 Dec 2015 19:21:13 +0000 (14:21 -0500)]
Run NOT NULL alterations before foreign key adds
The "migrate resources table" migration will fail
for some MariaDB versions if the NOT NULL alteration
is applied after the foreign key constraint has been
added [1]. This patch reverses the order so that
NOT NULL is applied first.
Ryan Moats [Tue, 21 Jul 2015 21:52:56 +0000 (16:52 -0500)]
Add instrumentation devref, Part I
Presents what instrumentation is available from VIFs in Nova,
Metering Lables and Rules, Linux Bridge, and OVS. Proposes
mappings for structures defined in RFC 2863 and RFC 4293 and
the method that will be followed for a data collection proof
of concept.
How to aggregate and consume these counters will be covered
in future patch sets that extend this devref.
Gary Kotton [Thu, 26 Nov 2015 13:12:53 +0000 (05:12 -0800)]
Hyper-V: remove driver from the neutron tree
The hyperv drivers and code should be part of the networking-hyperv
project (https://github.com/openstack/networking-hyperv).
A few changes are necessary in order to prevent Hyper-V deployments from
breaking, especially when upgrading to Mitaka.
Hyper-V deployments are configured to use the in-branch HyperVSecurityGroupsDriver.
Removing it will cause the Hyper-V Neutron Agent to fail. If the agent is
configured to use the old driver, the networking_hyperv's driver must be used
instead and the users must be warned to update their configuration files to
use the networking_hyperv's security groups driver.
Removes the neutron-hyperv-agent entry point from setup.cfg.
Removes the hyperv mechanism_driver from setup.cfg
Moves the in-tree HyperVSecurityGroupsDriver to the networking_hyperv equivalent.
Logs a warning if the in-tree HyperVSecurityGroupsDriver is used.
Removes pywin32 and wmi requirements, as they've been included in networking_hyperv
and they are Hyper-V specific requirements.
Adds release note regarding the deprecated security groups driver.
Kevin Benton [Wed, 2 Dec 2015 23:35:00 +0000 (15:35 -0800)]
Make port binding message on dead agents clear
The previous message was misleading because it made it
sound like port binding was being attempted even though
the agent is dead. However, the actual logic is that
binding will be completely skipped if the agent is dead.
This patch updates the message to make that clear and also
provides the port ID as part of the warning so operators
without debugging enabled can see which ports failed.
Doug Wiegley [Wed, 25 Nov 2015 23:46:19 +0000 (15:46 -0800)]
Move i18n to _i18n, as per oslo_i18n guidelines
- This does NOT break other projects that rely on neutron.i18n,
as this change includes a debtcollector shim to maintain those
older entry points, until they can migrate.
- Also updates _i18n.py to the latest pattern defined by oslo_i18n
- Guidance and template are from the reference:
http://docs.openstack.org/developer/oslo.i18n/usage.html
Oleg Bondarev [Wed, 25 Nov 2015 12:14:18 +0000 (15:14 +0300)]
DVR:don't reschedule the l3 agent running on compute node
For a DVR router, when it updates router gateway_ip, it should not
reschedule the l3 agents running on compute nodes whose mode is dvr,
it just need to reschedule the l3 agents running on network nodes
whose mode is dvr_snat.
l3_db: it updates port attribute without L2 plugin
L3_NAT_dbonly_mixin._add_interface_by_port update Port.owner
db entry directly without notifying l2 plugin.
Thus L2 plugin/ML2 mechanism driver will be confused when
interface is attached to router by port because port owner is different.
Use L2 plugin update_port method to update port:owner.
Change check_ports_exist_on_l3agent to pass the subnet_ids
The get_subnet_ids_on_router is called for every
available l3agent in check_ports_exist_on_l3agent.
This introduces un-necessary call to the same
function multiple times which is expensive since it
calls get_ports internally.
In large scale the time taken to schedule a VM
on a given N-Node increases.
By passing the subnet_ids to check_ports_exist_on_l3agent
we would be only calling once get_subnet_ids_on_router in
the get_l3_agent_candidates.
This patch addresses the above problem by calling
get_subnet_ids_on_router just once.
neutron should rely on nova doing the job instead of trying to 'fix' it.
'Fixing' it introduces race conditions between lb agent and nova VIF
driver. Particularly, lb agent can scan for new tap devices in the
middle of nova plumbing qbr-tap setup, and attempt to do it on its own.
So if agent is more lucky to plug the tap device into the bridge, nova
may fail to do the same, getting the following error:
libvirtError: Unable to add bridge brqxxx-xx port tapxxx-xx: Device or
resource busy
This also requires a change in how the port admin_state_up is implemented
by setting the tap device's link state instead of moving it in or out
of the bridge.
Co-Authored-By: Sean M. Collins <sean@coreitpro.com> Co-Authored-By: Darragh O'Reilly <darragh.oreilly@hp.com> Co-Authored-By: Andreas Scheuring <andreas.scheuring@de.ibm.com>
Change-Id: I02971103407b4ec11a65218e9ef7e2708915d938
Closes-Bug: #1312016
Gary Kotton [Mon, 9 Nov 2015 08:38:54 +0000 (00:38 -0800)]
Remove transparent VLAN support from base plugin
The transparent VLAN is an extension. This code was bundled part
of the base plugin.
Commit 809e434d2da99cb3e1a778be9838b1175e785e76 has a todo to remove
the code from the base plugin.
Victor Stinner [Fri, 27 Nov 2015 15:20:28 +0000 (16:20 +0100)]
Support Unicode request_id on Python 3
The oslo.context change If48ee7f4d1c113f1f26b3b1698c6b055807b950f will change
request_id type on Python 3 from bytes to str. This change prepares Neutron for
this change.
Cedric Brandily [Thu, 26 Nov 2015 15:21:30 +0000 (15:21 +0000)]
Correct unwatch_log to support python <= 2.7.5
Currently unwatch_log[1] uses WatchedFileHandler.delay attribute to
build a FileHandler instance from a WatchedFileHandler instance but
this attribute doesn't exist before 2.7.6.
This change removes WatchedFileHandler.delay usage and uses default
FileHandler delay (it also ensures we open immediately the log file).
Akihiro Motoki [Tue, 24 Nov 2015 03:15:05 +0000 (12:15 +0900)]
Update toctree of neutron document
* Display more contents in the top page.
It is useful to access various things from the top page.
The contents after this change looks reasonable.
* Remove "Indices and tables" section in policies and stadium index.
They are unnecessary.
Kevin Benton [Wed, 25 Nov 2015 23:42:46 +0000 (15:42 -0800)]
Don't drop ARP table jump during OVS rewiring
The previous OVS ARP spoofing code was dropping the rule to jump to
the ARP protection table each time it was called. This call was
unnecessary since the majority of port updates are not turning
off port security.
This patch adjusts the logic to only drop the jump rule if port-sec
is disabled or if it is a network port. The existing functional tests
ensure that connectivity works as expected.
Currently when the last HA router of a tenant is deleted the HA network
belonging to this tenant is not removed. While running tempest aganist an
OpenStack setup where tenant VLANs (with small VLAN range) is used we hit
the limits are tempest tests start to fail as we cannot create new networks.
This patch addresses this issue by deleting the HA network when the last HA
router is deleted for the tenant.