[release-announce] [neutron] neutron 10.0.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Wed Feb 22 13:48:30 UTC 2017


We high-spiritedly announce the release of:

neutron 10.0.0: OpenStack Networking

This release is part of the ocata release series.

Download the package from:

    https://tarballs.openstack.org/neutron/

For more details, please see below.

10.0.0
^^^^^^

Hyper-V Neutron Agent has been fully decomposed from Neutron.
Therefore, the *neutron.plugins.hyperv.agent.security_groups_driver.H
yperVSecurityGroupsDriver* firewall driver has been deleted. Update
the *neutron_hyperv_agent.conf* / *neutron_ovs_agent.conf* files on
the Hyper-V nodes to use
*hyperv.neutron.security_groups_driver.HyperVSecurityGroupsDriver*,
which is the networking_hyperv security groups driver.


New Features
************

* Middleware was added to parse the "X-Forwarded-Proto" HTTP header
  or the Proxy protocol in order to help Neutron respond with the
  correct URL references when it's put behind a TLS proxy such as
  "haproxy". This adds "http_proxy_to_wsgi" middleware to the
  pipeline. This middleware is disabled by default, but can be enabled
  via a configuration option in the "[oslo_middleware]" group.

* The Linux Bridge agent now supports QoS DSCP marking rules.

* Keepalived VRRP health check functionality to enable verification
  of connectivity from the "master" router to all gateways. Activation
  of this feature enables gateway connectivity validation and
  rescheduling of the "master" router to another node when
  connectivity is lost. If all routers lose connectivity to the
  gateways, the election process will be repeated round-robin until
  one of the routers restores its gateway connection. In the mean
  time, all of the routers will be reported as "master".

* Linux Bridge driver now supports QoS egress minimum bandwidth
  limit rules.

* Add a new configuration section, "[placement]", with two new
  options that allow to make "segments" plugin to use the "Compute"
  placement ReST API. This API allows to influence node placement of
  instances based on availability of IPv4 addresses in routed
  networks. The first option, *region_name*, indicates the placement
  region to use. This option is useful if keystone manages more than
  one region. The second option, *endpoint_type*, determines the type
  of a placement endpoint to use. This endpoint will be looked up in
  the keystone catalog and should be one of "public", "internal" or
  "admin".

* Designate driver can now use Keystone v3 authentication options.
  "The "[designate]" section now accepts the "auth_type" option, as
  well as other "keystoneauth" options (e.g. "auth_url", "username",
  "user_domain_name", "password", "project_name",
  "project_domain_name")."

* Resource tag mechanism now supports subnet, port, subnetpool and
  router resources.

* A new mechanism has been added to the "neutron-netns-cleanup" tool
  that allows to kill processes listening on any "Unix" or network
  socket within a namespace. The new mechanism will try to kill those
  processes gracefully using the "SIGTERM" signal and, if they refuse
  to die, then the "SIGKILL" signal will be sent to each remaining
  process to ensure a proper cleanup.

* The QoS driver architecture has been refactored to overcome
  several previous limitations, the main one was the coupling of QoS
  details into the mechanism drivers, and the next one was the need of
  configuration knobs to enable each specific notification driver,
  that will be handled automatically from now on.

* The "created_at" and "updated_at" resource fields now include a
  timezone indicator at the end.  Because this is a change in field
  format, the old "timestamp_core" extension has been removed and
  replaced with a "standard-attr-timestamp" extension.

* Initial support for "oslo.privsep" has been added. Most external
  commands are still executed using "oslo.rootwrap".

* vhost-user reconnect is a mechanism  which allows a vhost-user
  frontend to reconnect to a vhost-user backend in the event the
  backend terminates either as a result of a graceful shutdown or a
  crash.  This allows a VM utilising a vhost-user interface to
  reconnect automatically to the backend e.g.  Open vSwitch without
  requiring the VM to reboot.  In this release, support was added to
  the neutron Open vSwitch agent and "ml2" driver for vhost-user
  reconnect.


Known Issues
************

* In kernels < 3.19 "net.ipv4.ip_nonlocal_bind" sysctl option was
  not isolated to network namespace scope. L3 HA sets this option to
  zero to avoid sending gratuitous ARPs for IP addresses that were
  removed while processing. If this happens, then gratuitous ARPs will
  be sent.  It may populate ARP cache tables of peer machines with
  wrong MAC addresses.


Upgrade Notes
*************

* The "api-paste.ini" configuration file for the paste pipeline was
  updated to add the "http_proxy_to_wsgi" middleware.

* The "dhcp_domain" DHCP agent configuration option was deprecated
  in Liberty cycle, and now is no longer used. The "dns_domain" option
  should be used instead.

* On upgrade, IPv6 addresses in DHCP namespaces that have been
  created dynamically via SLAAC will be removed, and static IPv6
  addresses will be added instead.

* Update the *neutron_hyperv_agent.conf* / *neutron_ovs_agent.conf*
  files on the Hyper-V nodes to use
  *hyperv.neutron.security_groups_driver.HyperVSecurityGroupsDriver*,
  which is the networking_hyperv security groups driver.

* A new option "ha_keepalived_state_change_server_threads" has been
  added to configure the number of concurrent threads spawned for
  keepalived server connection requests. Higher values increase the
  CPU load on the agent nodes. The default value is half of the number
  of CPUs present on the node. This allows operators to tune the
  number of threads to suit their environment. With more threads,
  simultaneous requests for multiple HA routers state change can be
  handled faster.

* Obsolete "oslo.messaging.notify.drivers" entrypoints that were
  left in tree for backwards compatibility with pre-Icehouse releases
  have been removed. Those are
  "neutron.openstack.common.notifier.log_notifier",
  "neutron.openstack.common.notifier.no_op_notifier",
  "neutron.openstack.common.notifier.test_notifier",
  "neutron.openstack.common.notifier.rpc_notifier2",
  "neutron.openstack.common.notifier.rpc_notifier". Use values
  provided by "oslo.messaging" library to configure notification
  drivers.

* The "advertise_mtu" option is removed. Now Neutron always uses all
  available means to advertise MTUs to instances (including DHCPv4 and
  IPv6 RA).

* The "min_l3_agents_per_router" configuration option was deprecated
  in Newton cycle and removed in Ocata. HA routers no longer require a
  minimal number of L3 agents to be created, although obviously they
  require at least two L3 agents to provide HA guarantees. The
  rationale for the removal of the option is the case a router was
  created just when an agent was not operational. The creation of the
  router will now succeed, and when a second agent resumes operation
  the router will be scheduled to it providing HA.

* After upgrade, a macvtap agent without physical_interface_mappings
  configured can not be started. Specify a valid mapping to be able to
  start and use the macvtap agent.

* The "timestamp_core" extension has been removed and replaced with
  the "standard-attr-timestamp" extension. Resources will still have
  timestamps in the "created_at" and "updated_at" fields, but
  timestamps will have time zone info appended to the end to be
  consistent with other OpenStack projects.


Deprecation Notes
*****************

* Configuration options "kernel_hz" and "tbf_latency" in "[qos]"
  section have been removed due to being no longer used.

* The "physical_device_mappings" option is deprecated and will be
  removed in Pike. PCI device validation is done in Nova, controlled
  via the "pci_whitelist" configuration option.  Therefore it is
  redundant to validate it in Neutron with "physical_device_mappings".

* The L3 agent "send_arp_for_ha configuration" option is deprecated
  and will be removed in Pike. The functionality will remain, and the
  agent will send three gratuitious ARPs whenever a new floating IP is
  configured.

* The "iptables" firewall driver will no longer enable bridge
  firewalling in next versions of Neutron. If your distribution
  overrides the default value for any of relevant sysctl settings
  ("net.bridge.bridge-nf-call-arptables", "net.bridge.bridge-nf-call-
  ip6tables", and "net.bridge.bridge-nf-call-iptables") then make sure
  you set them back to upstream kernel default ("1") using
  /etc/sysctl.conf or /etc/sysctl.d/* configuration files.

* notification_drivers from [qos] section has been deprecated. It
  will be removed in a future release.


Bug Fixes
*********

* There is a race condition when adding ports in DHCP namespaces
  where an IPv6 address could be dynamically created via SLAAC from a
  Router Advertisement sent from the L3 agent, leading to a failure to
  start the DHCP agent. This bug has been fixed, but care must be
  taken on an upgrade dealing with any potentially stale dynamic
  addresses. For more information, see bug 1627902
  (https://launchpad.net/bugs/1627902).

* Versions of "keepalived" < 1.2.20 don't send gratuitous ARPs when
  keepalived process receives a "SIGHUP" signal. These versions are
  not packaged in some Linux distributions like Red Hat Enterprise
  Linux 7, CentOS 7, or Ubuntu Xenial. Not sending gratuitous ARPs may
  lead to peer ARP cache tables containing wrong entries about
  floating IP addresses until those entries are invalidated.  To fix
  that scenario, Neutron now sends gratuitous ARPs for all new IP
  addresses that appear on non-HA interfaces in router namespaces.
  This behavior simulates behavior of new versions of "keepalived".


Other Notes
***********

* Due to changes in internal L3 logic, a server crash/backend
  failure during FIP creation may leave dangling ports attached on
  external networks. These ports can be identified by a "PENDING"
  "device_id" parameter. While those ports can also be removed by
  admins, the "neutron-server" service will now also trigger periodic
  (approximately once in 10 minutes) cleanup to address the issue.

* The "allow_pagination" and "allow_sorting" configuration options
  are now removed. Now, sorting and pagination are always enabled for
  plugins that support the features.

* vhost-user reconnect requires dpdk 16.07 and qemu 2.7 and
  openvswitch 2.6 to function. if an older qemu is used, reconnect
  will not be available but vhost-user will still function.

Changes in neutron 9.0.0.0rc1..10.0.0
-------------------------------------

339855f Clean up ovsdb-native's use of verify()
0eb59ef Invert device_owner to avoid filtering too much
54a3dd6 Switch to 'subquery' for 1-M relationships
ae74f0a DVR: Look at all SNAT ports for a subnet match
8905397 Pecan: Fix tags handling for pecan
7d372b6 Update UPPER_CONSTRAINTS_FILE for stable/ocata
0eb7bf9 Revert "Linux Bridge: driver support for QoS egress minimum bandwidth"
c93215f Update devref for enhanced tag mechanism
365ad91 Skip reading config files from neutron.conf.d for the namespace proxy
0fb35ea Use only_contrib option for nova_client calls
7d04882 Improve tunnel_sync
48e1b42 DVR: Add static routes to FIP namespace
a264318 Update .gitreview for stable/ocata
f7b1fc6 Terminate macvtap agent when physical_interface_mapping config not present
fbf40fe Enhance tag mechanism
0dad0bc Tag the alembic migration revisions for Ocata
1e1e7a8 Add Loki service plugin for optional DB havoc
33129f2 Use bytes for python3 friendly os.write
8aa7a46 Updated from global requirements
c88debc Use addCleanup instead of tearDown
b53291a Remove --omit argument in run_tests.sh
f3a2266 Integration of Provisioning Block OVO.
185d6cb Add support for Keepalived VRRP health check
5c5badf Use socket.AF_INET6 in ip_lib tests
792cc0f Update bug triaging policy for documentation
95ce333 Remove duplicated and unused code in iptables_firewall
7b5f01c Add IPv6 Prefix Delegation support for DVR
b61b630 Fix port update for service subnets
49e84a7 Update in-tree code to use new neighbour functions
e5320e7 functional: Check for processes only if there are any
1182508 Fix link in QoS devref
10bfa69 Clear conntrack entries without zones if CT zones are not used
cd38886 Fix iptables rules for Prefix Delegated subnets
3a1873f policies: Replace Joe's graphite graphs with Grafana
4750112 Init privsep on l3 agent start
afab7c6 Display deprecation warning in test only once
a502c96 Kill the metadata proxy process unconditionally
38de22b Always acquire network.id lock in dhcp port update
b6d9a3f Fix WaitTimeout string representations
8d3f216 Addressing L3 HA keepalived failures in functional tests
6ce47f1 Stop passing datapath as 'may_exist' argument
4c636bd Retry on routerport delete race
c148edb Do not raise an error deleting neighbour entry
7872508 [Live Migration] Extend ml2_port_binding table
26128ac Fix some pylint errors in IPAM tests
faf80b9 Use weakrefs for common_db_mixin callbacks
9645877 Add bulk pull OVO interface
750c491 Handle attempt to enable br_netfilter in namespace
59727be Check arg type for SegmentTypeDriver functions
8a79090 Add missing port UPDATE event to ML2
28d2e69 Fixes to allow OVO deserializion of ports/networks
7915b4a Add missing module-level SUBNET ref
829b39b ovsfw: Refresh OFPort when necessary
4fe3d27 Fix a bad docstring in provisioning blocks module
38c1812 Transition qos notification driver into qos driver
271a4ff OVS: merge the required OpenFlow version rather than replace
f8a224a Adjust psutil usage for psutil > 2
318650a Allow all migration of routers
c7dd0ab Set access_policy for messaging's dispatcher
72154cc Elminate join for network owner filter
519d7cc Always add unique sort keys when sorting
1bcdc29 Allow the other nic to allocate VMs post PCI-PT VM creation.
d7a6827 Change neighbour commands to use pyroute2
5cbdd10 Routed networks IPv4 inventory in Nova GRP
af6b9b3 Correctly set project_name
7d99bf0 Break circular import with use of common_types
d5c07fe ovsfw: Support protocol numbers instead of just tcp and udp
d6c99d5 Add KillFilter for python 3.5
553ab6d Register sqlalchemy events through hook for UT cleanup
7953e98 Fix empty string check for python 3
6ffc58d Update docstring in validate_provider_segment
a43e992 Modify docref commands to reflect OSC transition
d8440e4 Server-side push notifications for ML2
e834986 Allow 0 in port range for securitygrouprule object
48580f3 Updated from global requirements
89f6dd3 OVO for Ipam(Allocation,Subnet,Pool)
91b2efc Remove get_router_cidrs method of dvr_edge_ha router
6944d74 Use plugin directory fixture
ea2cab0 openvswitch agent: add OVS_RESTARTED event
4f17f70 Stop using legacy facade
8047da1 XenAPI: Support daemon mode for rootwrap
66c7c60 Fix importing old path for exceptions
743a610 Use ubuntu image for tempest scenarios from Neutron
a594df6 Catch invalid subnet service_types on input
45e047f Fullstack SG test for LinuxBridge agent
8252b94 Get rid of L3 HA override of _update_router_db
0296455 Get rid of create_router override in l3_ha mixin
ebe62dc Add a ReST client for placement API
39c74b0 Add OVO for AutoAllocatedTopology
ada4237 Fix typos
39567df Fix broken Windows compatibility in ovs_lib
18e2e2d Add IPLink class to Windows ip_lib implementation
71edbb0 Support ovsdb-client monitor with remote connection
393a3bd Protect against non-determinstic sort
dd5aca3 Remove deprecated min_l3_agents_per_router
2725b4d Include port_security check in fullstack tests
a8b6a59 Revert "Setup firewall filters only for required ports"
e9572ea test_l3: Enable native pagination and sort
e74b45d Revert "Protect against non-determinstic sort"
4a66fa8 Multiple tweaks for Ocata release notes
536ea85 L3: Add in missing translation
d8d41ae Fix broken links in devref
a27ec6c Rename a test method
dcd4c8b DVR: delete stale devices after router update
84b3ae3 Linux Bridge: driver support for QoS egress minimum bandwidth
8b048cc Use project_id instead of tenant_id in objects
f57dbf3 Remove references to defunct Stadium docs
decbf0c Use new enginefacade for dvr mac db
f15851b DHCP: enhance DHCPAgent startup procedure
bd9e646 Use writer for trunk database operations
1927da1 Add check for ha state
38c070b DVR: fix csnat port missing after router update
fc075fa Manually add pk for alembic_version table
a734bdd Only migrate ports on DVR migration
175bfe0 Protect against non-determinstic sort
a7c633d Decompose router extra attr processing
f2b6975 Use unique subnetpools in SubnetPoolPrefixDbObjectTestCase
3f9f740 Fix netns_cleanup interrupted on rwd I/O
7b1a390 Don't emit SG rule AFTER events until TX closed
7872160 Updated from global requirements
526816d neutron-lib: use L3 constant
b38f1cb Use the session loader in keystoneauth1 for designate
3040e44 Fix delete_network to delete ports one by one
9a0bdb9 Cleanup unused helper function from test code
dd36243 Added UT for floating ips with dns
d5f4cdc Centralize creation of security group test obj
6f20f1c Suppress annoying "Could not load" stevedore warnings
ca60a91 adds support for vhost user reconnect.
5b7c8c3 Clean up _get_ports_query
f204728 Get rid of additional fixed_ip filter join
b09a380 Remove advertise_mtu config option
495b786 Get rid of _network_model_hook for external_net
b87715d Protect against '.delete()' for quota and revisions
bf56b85 Don't use .delete() on a port in unit test
9dea90d Stop using .delete() in external net handling code
3e4c0ae Revert "Add ALLOCATING state to routers"
3ea5f7c Get rid of ml2 port model hook join
0378194 Add retry to _create_ha_port_binding
b4c1dda Correct the msg ipv6 enable in system
42cc227 Change default exception in wait_until_true
45ae248 Checking functionality of DVR
7c0e62e l3scheduler: create ha_vr_id more robustly
911eb51 Get rid of l3 ha delete_router inheritance
47ee253 Allow to pass suite flavor to gate_hook to disable dvr tests
ffc4489 Don't create default SG in transaction
17c2b45 Kill neutron-keepalived-state-change gracefully
f142ab2 gate_hook: Add support for neutron-full with the ovs firewall
22707fb Add filter check for quering
d17befe Fix dir doc typo error
8de5060 Flavor and Service Profile to OVO
021f2f8 DHCP: "reserved_dhcp_port" not well managed during startup
161e580 Raise AssertionError instead of eventlet.timeout.Timeout when failing.
327f7fc Adding debug trace to IPWrapper.get_devices()
b1405cb Use gate_hook to enable q-trunk for rally.
5b056e0 Update contacts and team list
4f3be30 Replaces uuid.uuid4 with uuidutils.generate_uuid()
9a022e7 Reduce IP link show calls for SR-IOV scan loop
cc27af1 Add DictOfMiscValuesField in OVO for dict usage
d5205e8 SR-IOV: Remove physical_device_mappings depreciation warning
69b49a5 Fix a typo in iptables_manager.py
2ba12ae DB: remove deprecated oslo_db warnings
a12de89 Fullstack tests for DHCP agent HA
444184a Remove greenlet useless requirement
5af25db Fix pylint warning in test_l3_hamode_db.py
e1f43a6 Fix typo
8f37f2d Replace nc command with ncat
7fc79f4 Refactors QosAgentDriver
0af6e6d Change the order of installing flows for br-int
5a0aa8d Updated from global requirements
ce9aa9c [TrivialFix] Fix comment typo error
2ad9c67 Don't create HA resources until needed
6958829 Do not try and remove non-existent iptables chains
dbcdc11 Fix ext alias in revision API test
e54ddc9 Modify error word "procedence" to "precedence"
8754b9c Updated from global requirements
2d508fc [TrivialFix] Fix comment typo error
ad16d63 neutron-lib: use CORE from neutron lib constants
c28bade Use Port OVO in ml2/db and plugins/ml2/test_db
8ef0979 gate_hook: Add a no-op rally case
45ef899 Remove Duplicate line in privsep.filters
1c5bf09 Use DB field sizes instead of _MAX_LEN constants
9bab88b Account for unwire failures during OVS trunk rewiring operations
12b0e16 Change passing session to context in segments db functions
55a25bd Fix a bug in process_spawn binding on ports
af3620e team update: john-davidge doc liasion
2b16cb8 OVO for FlatAllocation
5c02e1f Fix python3 issues with devstack
af0c538 iptables: don't enable arptables firewall
aacd8e0 Pecan: Fix subresource policy check
9183da7 Adopt privsep and read routing table with pyroute2
df7e36c Change passing session to context for TypeDriver
92199db of_interface: Revert patching ryu
22352f5 Remove iptables nat and mangle rules for security group
e9efe86 SR-IOV: remove ml2_conf_sriov.ini from oslo-config-generator
a0b8ea7 Sort and Remove duplicate field types
1d38f30 Kill processes when cleaning up namespaces
d67a966 Don't return content when we set HTTP 204
e234ecc Set standard_attr_id as property in DeclarativeObject.
e48caf6 Add agent object in router info
6bd3ad2 Bump revision of resource on tag add/remove
a802b38 Use subqueries for rbac_entries and subnets<->network
a66c271 ovsfw: Raise exception if tag cannot be found in other_config
0176637 Proposing tidwellr and njohnston as service layer go-to contacts
8733190 Propose mlavalle as neutron core and L3 second in command
71fac62 Use get_random_string from neutron-lib
605df9c Moving pyroute and oslo.privsep deps into requirements.txt
af28cba devref: suggest bug deputies to send brief reports to ML
02fa4a1 Ensure random object unique constraints aren't violated
14bf594 Update comment about foreign keys
3bac406 Document how to proceed with new platform features
5c8dffa Update MTU on existing devices
eccb6e4 Added log messages while creating neutron objects.
15163c0 Add subprojects database migration
f38688c Fullstack test for DHCP agent
ec153ee get_random_object_fields() for setting object attr
489cc97 Updated from global requirements
118720d Remove external_fixed_ips from Plural_mappings in l3.py
3fec181 Clean-up L3 constant TODOs
2cedbf2 Unittests improvement
7b6e236 Restore extraroute dict after OVO change
aed187d tests: change order of assertion in _validate/compare_resource
4eb4500 Refactor ml2_db to pass context
db59d42 Propose abhiraut as neutronclient core
2baeaea OVO for Allocation and Endpoint
e45d2a9 Correctly print --limit value passed via API
9b58a18 Fix flake8 error in DHCPOptsTestCase class
0ec47f9 objects: add delete_objects public method
d40322c DVR: Fix race condition in creation of fip gateway
1866bd4 Bulk creation of SecurityGroups
55bda46 Remove model_base deprecations
fd3bf33 DSCP packet marking support in Linuxbridge agent
503fc8c Remove duplicated revises_on_change in qos db model
1800ae6 Fix DHCP Port Creation on Service Subnets
60dc1a0 tempest: Fix qos extension check
fd3eebb Unplug external device when delete snat namespace
ced332c Revert "Squash revert to breaking changes"
a1817f7 Optimize trunk details extension hook
8976e42 rally trunk port list
5772ba5 Get rid of DVR override of remove_router_interface
a5a8a37 Check for unbound ports in L3 RPC handler
464397f devref: don't suggest to manually request stable branches
d352661 Revert "lb-agent: ensure tap mtu is the same as physical device"
7eba573 Fix some slow unit tests
ec6ed98 DVR: Fix IPtables driver for metering with DVR routers
efe1c30 Get rid of DVR override of add_router_interface
8055746 Remove redundant "dvr" in test name
cf6ffb7 Pass context and resource_type in RPC callback
9f19b3e Tempest tests uses only supported QoS rule types
2f4154a Get rid of DVR override of _port_has_ipv6_address
e91561e Add filters support to constant queries test
6578c53 Remove deprecated dhcp_domain from dhcp_agent.ini
1a2a71b SRIOV: don't block report_state with device count
640618b OVO for VlanAllocation
21bb776 Correctly configure IPv6 addresses on upgrades
6948467 Add janitor to cleanup orphaned fip ports
bb78621 Make UUIDField actually validate UUIDs
2acdced Delete related conntrack when delete vm
5cb73f5 Pecan: Change Quotas to use original controllers
1ef552a Use Query.column_descriptions instead of private property
a2f971c Remove fallback functions in agent/rpc
3ee76d4 Convert filters to empty dict if None in DB's get_subnetpools().
c0983a1 stadium guidelines: Document stable branch creation
26020fe doc: Fix a warning
91d048d Allow keystone v3 in the designate driver
8fcba9d QoS: update the database before notifying the backend on delete
fc251bf Expose [agent] extensions option into l3_agent.ini
ebc56e8 Include ovsdb_connection option into all interface_driver agents
5e674bf Eliminate DVR inheritance of router create/update_db
dfe738a Use ExtensionDescriptor from neutron-lib
d8055d5 Support alembic 0.8.9 in test_autogen_process_directives
d49b6f5 Use Port OVO object in test_l3_ext_gw_mode
42031f7 Refactoring config opts for ml2 plugin openvswitch
b0ea7c9 Don't compile OVS kernel modules for functional job
5b49eff Update bug tag contacts due to absconsions
74e7145 configure_for_func_testing.sh: Remove neutron-legacy inclusion
c15c4e4 configure_for_func_testing.sh: Source lib/neutron as well
59bb1ec Functional tests: change assert to wait_until_true
6ef6c3c revise doc: support_extension_aliases to supported_extension_aliases
958c093 Pecan: Remove get_resources() from get_pecan_resources()
76c9984 Fix docs headers
f87274c Update DB lieutenant to Ann Taraday
aa5985d Compare port_rule_masking() results with different approach
2e621ee Use to_policy_values for policy enforcement
028a349 Skip larger than /64 subnets in DHCP agent
78d5b24 Refactoring config options for mech_sriov opts
9168dbf Delete conntrack when remote ipset member removed
4c41a25 Migrate device_owner for router's interface
61eb74a Remove allow_pagination and allow_sorting config options
a1b21e3 Integration of RouterRoute OVO
79e6251 tests: introduce update_obj_fields method in base objects test class
0daed9e Add notify for tag operations
10c0e36 gate_hook: Remove a stale comment
c952952 Renamed all [AGENT] config sections into [agent]
1e36e9b Reuse plugin's update method for changing trunk status
b522345 Calculate IPv4 DHCP subnets once for metadata
d1930ce Lock in DHCP agent based on network_id
6aa9a3c Fix OSprofiler support
a2047bb Introduce objects_exist method in neutron/objects/base.py
a20eac7 OVO: add SubnetServiceType object and code integration.
b25e29c Revert "Deprecate SR-IOV 'physical_device_mappings' config option"
ea517a0 Removed deprecated method
69d7363 ml2: Add original port to context on _bind_port
0d07327 Integrate Address Scope OVO into DB
3b610a1 Add missing revises_on_change attribute
8b0bdbe Redirect ExtensionDescriptor to neutron-lib
f33bada Remove PLURALS
20cd64b Show team and repo badges on README
949bce9 ovs-agent: Close ryu app on all exceptions
f6df76c Get rid of DVR inheritance of _delete_current_gw_port
62176a9 Solve unexpected NoneType returned by _get_routers_can_schedule.
88ee81d fullstack: add some more security group tests
9660c2f Update network dict with segment and mtu info in _create_subnet_db
9e006cb Capture NotFound Exceptions in subnet postcommit
4e96500 Revert "DHCP agent: advertise SLAAC prefixes"
46430ab Get rid of floating IP bgp next_hop query
6566fb1 L3: Only send notifications if l3 plugin exists
542ff34 Pecan: Minor Fix in startup
b0fd588 Squash revert to breaking changes
4151486 Remove REVERSED_PLURALS and get_resource_info()
562b638 Remove legacy oslo.messaging.notify.drivers
29273ad Fix InvalidInput exception output
2db889b Revert "Fix file permissions"
17563a8 Adopt neutron-lib plugin directory
cf6917f DB: use get_unique_keys from oslo_db
7d42176 ovsdb: don't erase existing ovsdb managers
4c45d1e OVO for Provisioning Block DB Model
3e45c19 ovs-agent: Catch exceptions in agent_main_wrapper
3815a60 functional: Remove unused l3 config
427a960 Updated from global requirements
e83d07d Improve performance of _modify_rules
1e91b63 Refactoring config options for plugin l2pop opts
5e1c3c7 Refactoring config options for plugin macvtap opts
d7b40d1 Refactoring config options for l2 agent ext opts
fcc13b5 Refactoring agent metadata config
7962dd4 Metering: sync only active routers hosted on the same host
42b209a Fix security_groups_provider_updated for linuxbridge
cc92b42 Using a new security group in scenario tests
eb14f66 Fix file permissions
3b8143b DB: remove deprecation warnings for BASEV2
fe7cac5 cors: update default configuration
138179a Add unit test in test_allowedaddresspairs_db
90398a3 Adjustment method execution order
2e5b4cb functional: Pass string tag to other_config
54beb5e functional: Use VLAN tags from range <1; 4094>
8f4a84c Replace create_test_segment with NetworkSegment object
846cad8 Remove unused LOG
132e220 Get post-subnet actions out of transaction
c932b69 ProviderResourceAssociation to OVO
7e8f9d4 sanity check: Check that ip_nonlocal_bind works with namespaces
eef348f callbacks: Make the value of FLOATING_IP match with api resource
299c3f8 Move SR-IOV VIF type constants to the portbindings extension
43b75bf Use new enginefacade metering db
5ea4c98 Move DVR fip agent gw port create out of transaction
c935868 Separate floating IP port creation from transaction
03f7ec3 Use callbacks to create DVR floating GW port
01c4bda Disallow specifying too long name and description for qos
8eac5e2 Move AgentStatusCheckWorker to PeriodicWorker
5ff8aec Speed-up iptables_manager remove_chain() code
512455d Typo on side_effect rendering the test useless
7c7e241 Fix reset/start methods on AgentStatusCheckWorker
d99724b Pecan:Add functional test for QuotasController
19336bb Elimination duplication of lots of DVR tests
0e51574 Have qos object increment port/network revision
07c8e14 Update devref examples about alembic migrations
9dbaf1c Trivial Fix - Update code to use Pike as the code name
5d6585b Stop using deprecated CORS.set_latent()
1e195af L3 scheduler: add retry indicators for bind_router
7403bcc Install OVS from git if current version < 2.5.1
1a0da09 Fix typos in standard_attr.py & attributes.py
081ad3b Clean up agent status check debt
894999d Collect OVS Debt
904f85e Disable 'accept_ra' in DHCP agent namespace
f276a96 Replace assertEqual(None, *) with assertIsNone in tests
202564c Fix ML2, base db plugin update_subnet for transactions
bd63489 DVR: Fix func docstring and comments
97f4a3f Move sysctl out of IPDevice class
7647e3e Parse the output of ip route more robustly
16ae419 Add L3 HA test with linux bridge
bc03048 Fix "failed unplugging ha interface" error when deleting router
d2c292e Add a trunk rally test
56a195e Updated from global requirements
653972f Fix typo in release note filename
9cb31b1 Use new enginefacade for servicetype_db
b45fd35 Remove floatingip address ignores ha_state
7db68e3 ovsfw: small cleanups to improve readability
53ad480 Use new enginefacade for tag
4a91eea Change import statement to not rename the module
90e6715 Add unit tests for ip_lib.get_routing_table
3d6d939 policy: cache extracted parent fields for OwnerCheck
cc9ce51 Changing arping command execute to accept 1 as extra OK code
4fdd89e l3-ha: Send gratuitous ARP when new floating IP is added
17ecc54 Make OVO exception NeutronDbObjectDuplicateEntry retriable
0a27cf7 Move OVO exceptions to neutron/objects/exceptions
7c0b219 neutron-lib: complete usage of helpers
63d428a Add check to address_pair that items in list are dict
f5e30ab Add rally hook to neutron devstack plugin
96b8d9a Agent to OVO
b0e56ac Retire deprecations for constants, exceptions, attributes
c9847ef Remove second -m protocol from iptables rules
0140a18 Truncate IPDevice's name to interface max size
9c81f27 Change cfg.set_defaults into cors.set_defaults
9f1057b DHCP: Add missing path for marking ports as ready
f90eefc Stop using osprofiler options as if they are part of public API
e727b92 Register osprofiler options before setting engine hook
79ad849 Don't pass config object to send_ip_addr_adv_notif()
03b84bc Deprecate SR-IOV 'physical_device_mappings' config option
5805a07 Remove timeutils.clear_time_override in neutron
2013058 Refactor OVSDB native lib to be more customizable
e8e4e5d Deprecate run_tests.sh
e43eb80 Removed deprecation warning for waiting_until_true
bea8985 Removed deprecated tests function
6bb12ef Removed deprecated function import_modules_recursively
4e25ba8 Switch to new hacking 0.12
b97d008 Avoid UnboundLocalErrors in _create_bulk_ml2
f5a721e Introduce context in methods for Router Extra Attributes OVO usage.
3e44d75 Pecan: Find subresource controllers by parent
eca4ace Removed dispose_pool() from db/api
6d85a51 Removed deprecation warning for converters and validators
7d17f8c Removed get_engine() from db/api
5189cbc Removed paginate_query and sqlalchemyutils module
05cd620 Removed deprecated methods for AgentSchedulers
1cd0585 Removed deprecated checks
eb43062 Removed update_network from plugin.common.utils
3e6eea3 Removed network_segment functions from ml2.db
4ec456d Removed deprecated class LocalVLANMapping
6b59cc7 Deprecate send_arp_for_ha option
cc861ad Change IPAM DB API to use context instead of session object.
ea7b516 Add fullstack test for check DSCP marks outbounds
0e8b32b L3-HA: remove unused deprecated code
3d68a51 neutron-lib: use replace_file from neutron lib
f692c81 Remove unused configuration variable
fa34da9 Fix typo in comment
ed6aeed Migrate to neutron-lib released API definition for trunk APIs
db353d3 Updated from global requirements
16901e8 Reduce rally executions of create_and_list_ports
f2fb460 Neutron lib adoption
dbbbe59 Use ensure_tree from oslo_utils.fileutils
7b277a1 Remove last vestiges of oslo-incubator
4c5a654 Updated from global requirements
ac2b7b0 Updated from global requirements
1392d37 Pecan: No fields to plugin on GET member actions
468b2f1 IP Conntrack Manager changes for FWaaS v2
7dc2707 Only mark ports ready on synced networks
660946a Fix modify_fields_from_db for vif_details empty str
1a696c5 Forbid contract migration scripts for Ocata
7675495 Check if namespace exists before getting devices
11c3f0c DHCP agent: advertise SLAAC prefixes
8be87fb Use new enginefacade for address_scope_db
b7fad98 Replace a test with use of network object
d400c04 Add 'to_primitive' for MACAddress and IPNetwork
be3aa89 Update Lieutenant table with new entries
48d9583 Usage of new enginefacade for flavor db
3c1bf86 Don't depend on translated strings for error check
204a89e Simplify resources module in RPC callbacks
e8fd250 SR-IOV: Remove deprecated supported_pci_vendor_devs option
fef33d7 ipv6_utils: delete get_ipv6_addr_by_EUI64
2475265 Fix specs broken link
6980962 Make README less verbose and to the point
aa54d12 Make crystal clear how to contribute/approach the neutron community
8f80a52 Refactor/prepare db common utils for neutron-lib
837abf5 Add OVO for dns Objects
23ffde8 Fix test_unwatch_log() to cleanup after itself
4135040 Updated from global requirements
2605056 TrivialFix: Modify the spelling mistake
4f0caa0 Rename ipv6_utils.is_enabled()
2c7ef56 Handle db_add in transaction for new objects
6baedb9 [TrivialFix] Replace 'assertTrue(a in b)' with 'assertIn(a, b)'
c154045 Correcting a spelling in README
d34bbf5 Refactoring config options for cache_utils opts
a44543f Updated from global requirements
a233ac5 OVO for SegmentHostMapping
32e1ee2 Updated from global requirements
6425240 Pecan: Bulk create with one item returns plural
93104d3 Log OVS IDL library errors to neutron logs
e8bd642 Replace retrying with tenacity
b806d2c Removes the superfluous 'that'
f7a2d4e Add functional tests for OVSDB Connection
9a6e3f9 Removed unnecessary file(openstack/common) in run_stack.sh
063cbca objects: add validate_filters option for count() method.
14ee329 ovsfw: Add a dl_type match for action=ct flows
784864d Update metadata proxy when subnet add/delete
dcf2efd OVO for Router Extra Attributes
9204b34 Validate type of allowed_address_pairs
c1b28a8 Pecan: Fix internal server error on QoS rule PUT
9006726 Pecan: Don't prefetch resource fields on DELETE
4264083 Generate OVSDB schema helper in a separate method
de3ff15 objects: Remove tenant_id from to_dict() when project_id is not set.
b39bad5 Updated from global requirements
934b95d Cleanup coverage configuration
71c8d35 Fix spelling errors
ca62e7e Make ovs functional tests mutually isolated
7fdb98c Pecan: rework notifier hook for registry callbacks
cb48d15 set_db_attribute differs between vsctl and native
3d500d3 Only send string values to OVSDB other_config column
c4b2c8d test_routers_flavors: Skip if requirements are not met
19c354a Add http_proxy_to_wsgi to api-paste
46ba1aa Only emit deprecation warning when deprecated value read
0c1c754 Swap the order of arguments to _check_equal
9733825 Cleanup of SecurityGroup classes
013a48f Remove deprecation warnings for agents_db
29e15f9 Have RouterRoute object increment Router revision
070ee35 Allow to override Idl class in OVSDB Connection
43f5b59 Drop MANIFEST.in - it's not needed by pbr
7858b75 Updated from global requirements
ff9c6e2 fullstack: Add security group tests
c4a3a72 neutron-lib: use dict methods from helpers
6941152 neutron-lib: use get_hostname
45517be neutron-lib: use cpu_count
e6d6a38 Pecan: add http_proxy_to_wsgi middleware
6d143e8 Use BaseDbObjectTestCase in AddressScope UT
20a290d Devref: fix repeated 'testing documentation' text
03be404 Removes remaining Hyper-V plugin
1d01864 Added trailing slash in link to Networking API v2.0
135a3fd Add db_add to OVSDB API
abc31a7 Extend project_id in object dicts (Newton only)
a6909c8 Integrate SubnetRoute OVO
83479f8 Fix callers of _make_port_dict()
88853cc objects: Removed project_id/tenant_id field translation
2901640 Remove deprecation warnings for l3_hamode_db
14ffea4 Fix IPv6 PD with pluggable IPAM
bb9b610 OVO for Router Route
1628fb7 Improved readibility and fixed indentation
396abb8 neutron-lib: start using neutron-lib helpers
497e6bd Cleanup Newton Release Notes
6d7586e Fix periodic jobs: Add databases to bindep.txt
ead39fa Relocate DNS db models
f1099f1 Updated from global requirements
84511a8 ovsfw: Fix warning message when fetching port's other_config
e669e7b Relocate Agent DB model
db9ef6d Add api test for create update network and port with dns
0963aec Refactor code to deprecate get_interface_mac
1762dc7 Objects: Add README for neutron/objects directory tree
68caece Add sample_default for state change server config
0e5caeb Ignore gre0 and gretap0 devices in netns cleanup script.
145dbaa Get rid of double-join to rbac_entries without filter
bd1c454 Deterministic ordering of fixed_ips
eb1efc7 Account for Py2/Py3 differences in fcntl.ioctl return value
cf7bb2f Enable release notes translation
2d33e2d Handle label_id's DBReferenceError when creating label-rule
945295a Add required extension to trunk_details descriptor
72ddd23 Relocate Segment DB Models
d41ebf8 Make Jakub Libosvar contact for ovs-fw tag
fc93f7f Relocate Flavor and ServiceProfile DB models
6797cbe Fix typo in comment
fb53038 L3 DVR: always notify on ROUTER_INTERFACE AFTER_CREATE
5b9fe34 Fix _list_availability_zones for PostgreSQL
509bc4c Relocate dvr model
19af726 Fix the 'port_id' attribute not exist error
f9b1f09 Relocate L3HARouter DB model
6a011c3 Replace create_test_network with network object
b6a296e Relocate Tag DB model
2f7c58f DVR: remove misleading error log
5c09536 Enable OVSDB Connection unit tests for py3
1f4f806 Handle uuid references within an ovsdb transaction
f327aa6 Remove deprecation warning for l3_agent_scheduler
a8e1bad Expose OVS bridge related options into metering agent config file
62fd09a Refactoring config options for ml2 plugin drivers
676257c Remove recursion from import_modules_recursively
2823c2e Refactoring config options for l3 ha agent opts
cf6d700 Relocate SegmentHostMapping DB model
22b4f03 Relocate Router Extra Attributes DB Model
8ad62fe Remove old oslo.messaging transport aliases
a53a4d9 Relocate router route DB model
d59fa2b Disallow specifying too long name for meter-label
190ae4f Fix misleading error trace in trunk fullstack life cycle test
e1a832d Relocate Geneve DB models
438d4a8 TestSanityCheck: drop test tables during cleanup
322c1ee Removed is_deadlock from db/api
2760157 Relocate external network db models
f0439a0 fullstack: VLAN aware VMs test
94ee8bc Introduce ovo objects for networks
698a8f0 Schedulers: use consistent plugin, context args
80eb375 Fixed functional iptables firewall tests for newer kernels
286af7c Relocate ProviderResourceAssociation DB models
dcd7842 Introduce ovo objects for ports
558c051 Relocate VlanAllocation DB model
a80b89b Ignore NULL fixed_ips for duplicate floating_ip check
820270f Relocate Metering DB models
930655c Relocate RouterL3AgentBinding DB model
ddc2367 Updated from global requirements
2b66c6a Relocate L3 DB Models
0d81441 Relocate Provisioning Block DB Model
4148102 Process OVS trunk bridges associated to VM deletes
7acfc2f Fix typo overriden => overridden
e83a44b iptables: fail to start ovs/linuxbridge agents on missing sysctl knobs
cd7d63b Refetch subnet/network from DB in ML2 update ops
71dd840 Send a callback before attaching a subnet to a router
98de72e Don't try to delete non-existent namespace
a9585c7 Added bindep.txt to the project
83ef231 Don't swallow ImportError from load_class_by_alias_or_classname
e17d8ec Remove requests-mock from test-requirements
c0d0986 Correct fix for IPv6 auto address interfaces
3daffd2 Darek (@dasm) is our new release liaison for Ocata
3ace0e5 Make HenryG the Magnificent responsible for 'oslo' LP tag
971cf85 Add missing revision number altercations
d1fb423 Fixes for missing IPs on subnets in DHCP agent
873b5ac Retry port update on IpAddressAllocationNotFound
70ea188 New option for num_threads for state change server
08f2af1 Handle add/remove subports events loss due to agent failures
e49b707 Fullstack: Add helper FakeFullstackMachinesList
d24f664 trunk: Log RPC communication
3224e39 tests: Move testtools to 3rd party libraries section
a17cda0 Fix pep8 E501 line too long
d4f92ed Fix dhcp_release6 error when not supported
0d84833 XenAPI: add support for conntrack with XenServer
cb79d09 Fix ML2 revision_number handling in port updates
7e82296 Fix ML2 test extension driver API test cases
7422903 Relocate PortBindingPort DB Model
b078060 Relocate VxlanAllocation/VxlanEndpoints DB model
c582d17 Support new osprofiler API
8612aaa Include entity in provisioning block logs
edf3f23 API tests: Check MTU sanity of trunk/subport
a4846c0 Use assertItemsEqual to compare dicts
a01ca10 Fix wrong use of six.moves.queue.get()
9730104 Allow more time for DB migration tests
2945763 Update trunk metadata during wire/unwire operations
4371ae0 Ensure trunk status is acknowledged during OVS subport operations
66df336 Clean-up Tempest test networks with project_id
39c4f8f Add MAC address to subports in trunk_details
01f3c54 Updated from global requirements
d1389dc Install dibbler.filters rootwrap file
e11102e tests: catch eventlet.Timeout exception
8842460 Add basic status transition trunk scenario test
49609f3 Remove deprecated class NeutronController
5e39b88 Fix typos in test_ipam_pluggable_backend.py & base.py
09d1185 Do not retry default security group creation
e80112c Fix a release note typo for implicit provider loading deprecation
2a5826c Revert "Do not retry default security group creation"
14fee9c Try to reuse existing IPs when a port update specifies subnet
9019ff2 Make DHCP agent use 'revision_number'
bad3eaa Stop oslo_messaging from error logging CallbackNotFound
673abd5 Don't immediately restart in DHCP agent on port change
70907b3 Always cleanup stale devices on DHCP setup failure
0db052d Reduce log level for extensions not being supported
b65d18c Add admin api tests for project-id
5ad5d10 Do not retry default security group creation
648e079 Increase subnet count for rally test
a15d259 Lower concurrency on rally port job
933af3f Add to rally quotas to handle worst case quota race
19f3e9a Fix linuxbridge trunk subport RPC event handler
039673c OVS agent: configure both OF10 and OF13
251922f Disable DHCP on agent port removal
414f607 Garbage collect HasStandardAttributes subclasses in StandardAttrTestCase
225477c fullstack: execute qos tests for all ovsdb/of interface permutations
ecdf751 Change the prefix for trunk subports device_owner
0541402 Fix devref typo
b3af52e Keepalived global_defs configuration entries required to avoid DNS lookup
d9cc6de DHCP: enhance DHCP release log
d0f1a61 Make neutron-db-manage ready for ocata development
f1f4121 Update reno for stable/newton
f4a7ad4 Fix useless use of _nxm variant in an OVS field name
ebd9aff Added missing translation marker for an error
033903a Add fullstack test with OVS arp_responder
0f5d18d Don't raise RetryRequest for port in delete_subnet
31e1aeb Forbid importing neutron.tests.* from outside tests subtree
268e10e Raise level of message to info
465d221 Add common way to extend standard attribute models
e80e19f Don't warn in VLAN Plumber on tagless children
424a633 Include timezone in timestamp fields
42b574e Demote error trace to debug level for auto allocation operations
a17c52f tests: Don't raise TimeoutError when waiting for ping
3e25ee3 Add sg_id in the AFTER_DELETE event of sg_rule delete
053448d stadium: remove neutron-release from release job for stadium projects
65757a3 devref: cleaning up release guidelines for stadium subprojects
1380856 Fix SR-IOV qos extension calls to clear_rate functions.
47439cb Add link to review dashboard in the effective guide
9339117 Remove duplicated tool
0494f21 ovsfw: fix troublesome port_rule_masking
b5fa868 Skip setup_port_filters for skipped_devices
ae09911 Disallow specifying too long description for meter-label
55b6c6a Fixes DBDeadlock race condition during driver initialization.
753f4ea Not check subnet with dhcp disabled when get_isolated_subnets
7e5d12d Clean import in code
7deba33 Use more specific asserts in tests
989aba6 fullstack: test for IPv6 north-south traffic
2e33fd8 ML2: Lower log level of "Host filtering is disabled" message
20bdfaa Removing unused file neutron/agent/l3/config
a348c38 Add API test for tag
846b83f Remove unused params named "context" in filter_attributes
a167a3e Check for l3 agents count before router update


Diffstat (except docs and test files)
-------------------------------------

.coveragerc                                        |   2 +-
.gitreview                                         |   1 +
.pylintrc                                          |   2 +-
.testr.conf                                        |   6 +-
CONTRIBUTING.rst                                   |  12 +-
HACKING.rst                                        |   3 +-
MANIFEST.in                                        |  14 -
README.rst                                         |  44 +-
TESTING.rst                                        | 116 +--
bin/neutron-rootwrap-xen-dom0                      |  24 +-
bindep.txt                                         |  19 +
devstack/lib/dns                                   |   6 +
devstack/lib/ovs                                   |  73 +-
devstack/plugin.sh                                 |   7 +
.../devref/db_transient_failure_injection.rst      |  38 +
etc/api-paste.ini                                  |  11 +-
etc/neutron/rootwrap.d/dhcp.filters                |   5 +-
etc/neutron/rootwrap.d/iptables-firewall.filters   |   9 +-
etc/neutron/rootwrap.d/l3.filters                  |   9 +-
etc/neutron/rootwrap.d/netns-cleanup.filters       |  12 +
etc/neutron/rootwrap.d/privsep.filters             |  31 +
etc/oslo-config-generator/dhcp_agent.ini           |   1 +
etc/oslo-config-generator/l3_agent.ini             |   1 +
etc/oslo-config-generator/metering_agent.ini       |   1 +
etc/oslo-config-generator/ml2_conf_sriov.ini       |   6 -
etc/oslo-config-generator/neutron.conf             |   1 +
etc/oslo-config-generator/openvswitch_agent.ini    |   1 +
neutron/agent/agent_extensions_manager.py          |  17 +-
neutron/agent/common/config.py                     |  12 +-
neutron/agent/common/ovs_lib.py                    |  54 +-
neutron/agent/common/utils.py                      |   8 +
neutron/agent/dhcp/agent.py                        | 185 +++--
neutron/agent/dhcp_agent.py                        |   6 +-
neutron/agent/l2/extensions/fdb_population.py      |  18 +-
neutron/agent/l2/extensions/qos.py                 |  15 +-
neutron/agent/l2/extensions/qos_linux.py           |  29 +
neutron/agent/l2/l2_agent_extensions_manager.py    |   3 +-
neutron/agent/l3/agent.py                          |  19 +-
neutron/agent/l3/config.py                         |  26 -
neutron/agent/l3/dvr.py                            |   6 -
neutron/agent/l3/dvr_edge_ha_router.py             |  12 +-
neutron/agent/l3/dvr_edge_router.py                |  37 +-
neutron/agent/l3/dvr_fip_ns.py                     | 177 ++++-
neutron/agent/l3/dvr_local_router.py               | 112 ++-
neutron/agent/l3/dvr_router_base.py                |  34 +-
neutron/agent/l3/dvr_snat_ns.py                    |  17 +-
neutron/agent/l3/ha.py                             |  58 +-
neutron/agent/l3/ha_router.py                      |  47 +-
neutron/agent/l3/keepalived_state_change.py        |  45 +-
neutron/agent/l3/l3_agent_extensions_manager.py    |   3 +-
neutron/agent/l3/legacy_router.py                  |   2 +-
neutron/agent/l3/router_info.py                    | 140 ++--
neutron/agent/l3/router_processing_queue.py        |   2 +-
neutron/agent/l3_agent.py                          |  11 +-
neutron/agent/linux/async_process.py               |  21 +-
neutron/agent/linux/daemon.py                      |   2 +-
neutron/agent/linux/dhcp.py                        | 163 +++--
neutron/agent/linux/dibbler.py                     |   6 +-
neutron/agent/linux/external_process.py            |   4 +-
neutron/agent/linux/interface.py                   | 106 ++-
neutron/agent/linux/ip_conntrack.py                | 104 ++-
neutron/agent/linux/ip_lib.py                      | 310 +++++---
neutron/agent/linux/ipset_manager.py               |   9 +-
neutron/agent/linux/iptables_firewall.py           | 187 ++---
neutron/agent/linux/iptables_manager.py            |  34 +-
neutron/agent/linux/keepalived.py                  | 130 +++-
.../agent/linux/openvswitch_firewall/constants.py  |   6 -
.../agent/linux/openvswitch_firewall/exceptions.py |  28 +
.../agent/linux/openvswitch_firewall/firewall.py   | 139 ++--
neutron/agent/linux/openvswitch_firewall/rules.py  |  11 +-
neutron/agent/linux/ovsdb_monitor.py               |  23 +-
neutron/agent/linux/pd.py                          |  38 +-
neutron/agent/linux/polling.py                     |   4 +-
neutron/agent/linux/ra.py                          |   8 +-
neutron/agent/linux/utils.py                       | 110 ++-
neutron/agent/linux/xenapi_root_helper.py          | 120 ++++
neutron/agent/metadata/agent.py                    |   2 +-
neutron/agent/metadata/config.py                   | 116 ---
neutron/agent/metadata/namespace_proxy.py          |  41 +-
neutron/agent/metadata_agent.py                    |   8 +-
neutron/agent/ovsdb/api.py                         |  63 +-
neutron/agent/ovsdb/impl_idl.py                    |  25 +-
neutron/agent/ovsdb/impl_vsctl.py                  |  45 +-
neutron/agent/ovsdb/native/commands.py             | 175 ++++-
neutron/agent/ovsdb/native/connection.py           |  94 ++-
neutron/agent/ovsdb/native/helpers.py              |  12 +-
neutron/agent/ovsdb/native/idlutils.py             |  57 +-
neutron/agent/ovsdb/native/vlog.py                 |  30 +
neutron/agent/rpc.py                               |  85 +--
neutron/agent/securitygroups_rpc.py                |  50 +-
neutron/agent/windows/ip_lib.py                    |  44 +-
neutron/agent/windows/utils.py                     |   5 +-
neutron/api/api_common.py                          |  49 +-
neutron/api/extensions.py                          | 154 +---
.../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py   |   7 +-
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py |   9 +-
.../rpc/agentnotifiers/metering_rpc_agent_api.py   |   9 +-
neutron/api/rpc/callbacks/consumer/registry.py     |  26 +-
neutron/api/rpc/callbacks/resources.py             |  45 +-
neutron/api/rpc/callbacks/version_manager.py       |   4 +-
neutron/api/rpc/handlers/dhcp_rpc.py               |  18 +-
neutron/api/rpc/handlers/dvr_rpc.py                |   4 +-
neutron/api/rpc/handlers/l3_rpc.py                 |  18 +-
neutron/api/rpc/handlers/metadata_rpc.py           |   4 +-
neutron/api/rpc/handlers/resources_rpc.py          |  44 +-
neutron/api/rpc/handlers/securitygroups_rpc.py     |   4 +-
neutron/api/v2/attributes.py                       | 147 +---
neutron/api/v2/base.py                             |  22 +-
neutron/api/v2/resource.py                         |   1 +
neutron/api/v2/resource_helper.py                  |  14 +-
neutron/api/v2/router.py                           |  10 +-
neutron/api/views/versions.py                      |   2 +-
neutron/callbacks/events.py                        |   2 +
neutron/callbacks/resources.py                     |   3 +-
neutron/cmd/eventlet/usage_audit.py                |  10 +-
neutron/cmd/linuxbridge_cleanup.py                 |   6 +-
neutron/cmd/netns_cleanup.py                       | 111 ++-
neutron/cmd/pd_notify.py                           |   6 +-
neutron/cmd/sanity/checks.py                       |  65 +-
neutron/cmd/sanity_check.py                        |  40 +-
neutron/common/cache_utils.py                      |  46 +-
neutron/common/config.py                           |  47 +-
neutron/common/constants.py                        |  40 +-
neutron/common/eventlet_utils.py                   |   3 +
neutron/common/exceptions.py                       |  30 +-
neutron/common/ipv6_utils.py                       |  42 +-
neutron/common/profiler.py                         |  17 +-
neutron/common/rpc.py                              |  21 +-
neutron/common/utils.py                            | 577 +++++++++------
neutron/conf/agent/agent_extensions_manager.py     |  25 +
neutron/conf/agent/database/__init__.py            |   0
neutron/conf/agent/database/agents_db.py           |  28 +
neutron/conf/agent/dhcp.py                         |   7 -
neutron/conf/agent/l2_ext_fdb_population.py        |  32 +
neutron/conf/agent/l3/config.py                    |   1 +
neutron/conf/agent/l3/ha.py                        |  62 ++
neutron/conf/agent/metadata/__init__.py            |   0
neutron/conf/agent/metadata/config.py              | 119 ++++
neutron/conf/agent/metadata/namespace_proxy.py     |  54 ++
neutron/conf/agent/xenapi_conf.py                  |  36 +
neutron/conf/cache_utils.py                        |  31 +
neutron/conf/common.py                             |  43 +-
neutron/conf/plugins/ml2/drivers/driver_type.py    |  98 +++
neutron/conf/plugins/ml2/drivers/l2pop.py          |  29 +
neutron/conf/plugins/ml2/drivers/macvtap.py        |  38 +
.../plugins/ml2/drivers/mech_sriov/__init__.py     |   0
.../plugins/ml2/drivers/mech_sriov/agent_common.py |  57 ++
neutron/conf/plugins/ml2/drivers/ovs_conf.py       | 164 +++++
neutron/conf/services/extdns_designate_driver.py   |  14 +-
neutron/conf/services/qos_driver_manager.py        |   4 +-
neutron/context.py                                 |  33 +-
neutron/core_extensions/qos.py                     |   7 +-
neutron/db/_utils.py                               | 123 ++++
neutron/db/address_scope_db.py                     |  73 +-
neutron/db/agents_db.py                            | 120 ++--
neutron/db/agentschedulers_db.py                   |  83 +--
neutron/db/allowedaddresspairs_db.py               |  24 +-
neutron/db/api.py                                  |  74 +-
neutron/db/availability_zone/router.py             |  35 +-
neutron/db/common_db_mixin.py                      | 166 ++---
neutron/db/db_base_plugin_common.py                |  47 +-
neutron/db/db_base_plugin_v2.py                    | 261 ++++---
neutron/db/dns_db.py                               | 113 +--
neutron/db/dvr_mac_db.py                           |  50 +-
neutron/db/external_net_db.py                      |  93 ++-
neutron/db/extra_dhcp_opt/models.py                |   3 +-
neutron/db/extraroute_db.py                        |  63 +-
neutron/db/flavors_db.py                           | 272 +++-----
neutron/db/ipam_backend_mixin.py                   | 161 +++--
neutron/db/ipam_pluggable_backend.py               |   7 +-
neutron/db/l3_agentschedulers_db.py                | 165 ++---
neutron/db/l3_attrs_db.py                          |  96 ++-
neutron/db/l3_db.py                                | 611 ++++++++--------
neutron/db/l3_dvr_db.py                            | 562 +++++++--------
neutron/db/l3_dvrscheduler_db.py                   |  29 +-
neutron/db/l3_gwmode_db.py                         |   3 +-
neutron/db/l3_hamode_db.py                         | 506 ++++++--------
neutron/db/l3_hascheduler_db.py                    |  36 +-
neutron/db/metering/metering_db.py                 | 144 ++--
neutron/db/metering/metering_rpc.py                |  17 +-
neutron/db/migration/__init__.py                   |  11 +
neutron/db/migration/alembic_migrations/env.py     |   2 +-
.../alembic_migrations/versions/EXPAND_HEAD        |   2 +-
.../alembic_migrations/versions/kilo_initial.py    |   2 +
.../liberty/expand/48153cb5f051_qos_db_changes.py  |   8 +-
.../contract/5ffceebfada_rbac_network_external.py  |  10 +-
.../mitaka/contract/c6c112992c9_rbac_qos_policy.py |   7 +-
.../mitaka/expand/15e43b934f81_rbac_qos_policy.py  |   6 +-
.../3b935b28e7a0_migrate_to_pluggable_ipam.py      |   4 +-
...61a21bcfc_uniq_floatingips0floating_network_.py |   2 +-
.../expand/929c968efe70_add_pk_version_table.py    |  33 +
.../a9c43481023c_extend_ml2_port_bindings.py       |  71 ++
neutron/db/migration/cli.py                        |   6 +-
neutron/db/migration/models/head.py                |  20 -
neutron/db/model_base.py                           |  35 -
neutron/db/models/address_scope.py                 |   5 +-
neutron/db/models/agent.py                         |  59 ++
neutron/db/models/allowed_address_pair.py          |   3 +-
neutron/db/models/dns.py                           |  92 +++
neutron/db/models/dvr.py                           |  26 +
neutron/db/models/external_net.py                  |  38 +
neutron/db/models/flavor.py                        |  49 ++
neutron/db/models/l3.py                            | 118 ++++
neutron/db/models/l3_attrs.py                      |  48 ++
neutron/db/models/l3agent.py                       |  41 ++
neutron/db/models/l3ha.py                          |  87 +++
neutron/db/models/metering.py                      |  46 ++
neutron/db/models/plugins/ml2/geneveallocation.py  |  42 ++
neutron/db/models/plugins/ml2/vlanallocation.py    |  41 ++
neutron/db/models/plugins/ml2/vxlanallocation.py   |  45 ++
neutron/db/models/portbinding.py                   |  33 +
neutron/db/models/provisioning_block.py            |  27 +
neutron/db/models/securitygroup.py                 |   9 +-
neutron/db/models/segment.py                       |  76 ++
neutron/db/models/servicetype.py                   |  26 +
neutron/db/models/subnet_service_type.py           |   7 +-
neutron/db/models/tag.py                           |  31 +
neutron/db/models_v2.py                            |  63 +-
neutron/db/network_dhcp_agent_binding/models.py    |   4 +-
neutron/db/port_security/models.py                 |   2 +
neutron/db/portbindings_db.py                      |  40 +-
neutron/db/portsecurity_db_common.py               |  14 +-
neutron/db/provisioning_blocks.py                  |  67 +-
neutron/db/qos/api.py                              |  13 +-
neutron/db/qos/models.py                           |   9 +-
neutron/db/quota/api.py                            |  16 +-
neutron/db/quota/driver.py                         |   4 +-
neutron/db/rbac_db_mixin.py                        |   6 +-
neutron/db/rbac_db_models.py                       |   8 +-
neutron/db/securitygroups_db.py                    |  78 ++-
neutron/db/securitygroups_rpc_base.py              |   6 +-
neutron/db/segments_db.py                          | 124 ++--
neutron/db/servicetype_db.py                       |  44 +-
neutron/db/sqlalchemyutils.py                      |  32 -
neutron/db/standard_attr.py                        |  62 +-
neutron/db/standardattrdescription_db.py           |  17 +-
neutron/db/tag_db.py                               |  46 +-
neutron/extensions/address_scope.py                |  15 +-
neutron/extensions/agent.py                        |  20 +-
neutron/extensions/allowedaddresspairs.py          |  17 +-
neutron/extensions/auto_allocated_topology.py      |   8 +-
neutron/extensions/availability_zone.py            |  10 +-
neutron/extensions/default_subnetpools.py          |   2 +-
neutron/extensions/dhcpagentscheduler.py           |  13 +-
neutron/extensions/dns.py                          |   4 +-
neutron/extensions/dvr.py                          |   2 +-
neutron/extensions/external_net.py                 |   2 +-
neutron/extensions/extra_dhcp_opt.py               |   2 +-
neutron/extensions/extraroute.py                   |   4 +-
neutron/extensions/flavors.py                      |  38 +-
neutron/extensions/ip_allocation.py                |   3 +-
neutron/extensions/l2_adjacency.py                 |   2 +-
neutron/extensions/l3.py                           |  24 +-
neutron/extensions/l3_ext_gw_mode.py               |   2 +-
neutron/extensions/l3_ext_ha_mode.py               |  51 +-
neutron/extensions/l3_flavors.py                   |   2 +-
neutron/extensions/l3agentscheduler.py             |  12 +-
neutron/extensions/metering.py                     |  15 +-
neutron/extensions/multiprovidernet.py             |   2 +-
neutron/extensions/netmtu.py                       |   2 +-
neutron/extensions/network_availability_zone.py    |   2 +-
neutron/extensions/network_ip_availability.py      |   6 +-
neutron/extensions/pagination.py                   |   6 +-
neutron/extensions/portbindings.py                 |   5 +-
neutron/extensions/portsecurity.py                 |   2 +-
neutron/extensions/project_id.py                   |   4 +-
neutron/extensions/providernet.py                  |   2 +-
neutron/extensions/qos.py                          |  18 +-
neutron/extensions/quotasv2.py                     |  18 +-
neutron/extensions/rbac.py                         |  20 +-
neutron/extensions/revisions.py                    |  17 +-
neutron/extensions/router_availability_zone.py     |   2 +-
neutron/extensions/routerservicetype.py            |   2 +-
neutron/extensions/securitygroup.py                |  23 +-
neutron/extensions/segment.py                      |  15 +-
neutron/extensions/servicetype.py                  |   7 +-
neutron/extensions/sorting.py                      |   6 +-
neutron/extensions/standardattrdescription.py      |  26 +-
neutron/extensions/subnet_service_types.py         |  11 +-
neutron/extensions/subnetallocation.py             |   3 +-
neutron/extensions/tag.py                          |  83 ++-
neutron/extensions/tag_ext.py                      |  90 +++
neutron/extensions/timestamp.py                    |  61 ++
neutron/extensions/timestamp_core.py               |  65 --
neutron/extensions/timestamp_ext.py                |  68 --
neutron/extensions/trunk.py                        |  84 +--
neutron/extensions/trunk_details.py                |  28 +-
neutron/extensions/vlantransparent.py              |   2 +-
neutron/hacking/checks.py                          |  71 +-
neutron/ipam/drivers/neutrondb_ipam/db_api.py      | 111 ++-
neutron/ipam/drivers/neutrondb_ipam/driver.py      |  62 +-
neutron/ipam/subnet_alloc.py                       |   9 +-
neutron/manager.py                                 |  81 +--
neutron/notifiers/nova.py                          |  16 +-
neutron/objects/README.rst                         |  22 +
neutron/objects/address_scope.py                   |   4 +-
neutron/objects/agent.py                           |  76 ++
neutron/objects/auto_allocate.py                   |  37 +
neutron/objects/base.py                            | 169 +++--
neutron/objects/common_types.py                    | 133 +++-
neutron/objects/db/api.py                          |  26 +-
neutron/objects/exceptions.py                      |  62 ++
neutron/objects/extensions/port_security.py        |   8 +-
neutron/objects/flavor.py                          |  97 +++
neutron/objects/floatingip.py                      |  37 +
neutron/objects/ipam.py                            | 104 +++
neutron/objects/network.py                         | 255 +++++++
neutron/objects/network/__init__.py                |   0
neutron/objects/network/extensions/__init__.py     |   0
.../objects/network/extensions/port_security.py    |  26 -
neutron/objects/network/network_segment.py         |  38 -
neutron/objects/plugins/__init__.py                |   0
neutron/objects/plugins/ml2/__init__.py            |   0
neutron/objects/plugins/ml2/base.py                |  36 +
neutron/objects/plugins/ml2/flatallocation.py      |  32 +
neutron/objects/plugins/ml2/geneveallocation.py    |  48 ++
neutron/objects/plugins/ml2/greallocation.py       |  48 ++
neutron/objects/plugins/ml2/vlanallocation.py      |  36 +
neutron/objects/plugins/ml2/vxlanallocation.py     |  50 ++
.../objects/port/extensions/allowedaddresspairs.py |   7 +-
neutron/objects/port/extensions/extra_dhcp_opt.py  |   9 +-
neutron/objects/ports.py                           | 376 ++++++++++
neutron/objects/provisioning_blocks.py             |  32 +
neutron/objects/qos/policy.py                      |  16 +-
neutron/objects/qos/rule.py                        |   8 +-
neutron/objects/qos/rule_type.py                   |  28 +-
neutron/objects/rbac_db.py                         |  17 +-
neutron/objects/router.py                          |  97 +++
neutron/objects/securitygroup.py                   |  16 +-
neutron/objects/servicetype.py                     |  36 +
neutron/objects/subnet.py                          |  54 +-
neutron/objects/subnetpool.py                      |  18 +-
neutron/objects/trunk.py                           |  26 +-
neutron/opts.py                                    | 105 ++-
neutron/pecan_wsgi/app.py                          |   6 +-
neutron/pecan_wsgi/controllers/quota.py            |   7 +-
neutron/pecan_wsgi/controllers/resource.py         |  26 +-
neutron/pecan_wsgi/controllers/utils.py            | 194 ++++-
neutron/pecan_wsgi/hooks/body_validation.py        |   7 +-
neutron/pecan_wsgi/hooks/notifier.py               | 109 +--
neutron/pecan_wsgi/hooks/ownership_validation.py   |   4 +-
neutron/pecan_wsgi/hooks/policy_enforcement.py     |  47 +-
neutron/pecan_wsgi/hooks/quota_enforcement.py      |   3 +-
neutron/pecan_wsgi/startup.py                      |  64 +-
neutron/plugins/common/constants.py                |   9 +-
neutron/plugins/common/utils.py                    |  19 -
neutron/plugins/hyperv/__init__.py                 |   0
neutron/plugins/hyperv/agent/__init__.py           |   0
.../plugins/hyperv/agent/security_groups_driver.py |  34 -
neutron/plugins/ml2/db.py                          | 105 ++-
neutron/plugins/ml2/driver_api.py                  | 128 +++-
neutron/plugins/ml2/driver_context.py              |   6 +-
neutron/plugins/ml2/drivers/agent/_common_agent.py |   5 +-
neutron/plugins/ml2/drivers/helpers.py             |  24 +-
neutron/plugins/ml2/drivers/l2pop/config.py        |  27 -
neutron/plugins/ml2/drivers/l2pop/db.py            |  44 +-
neutron/plugins/ml2/drivers/l2pop/mech_driver.py   |  46 +-
.../drivers/l2pop/rpc_manager/l2population_rpc.py  |  36 +-
.../agent/extension_drivers/qos_driver.py          | 106 ++-
.../linuxbridge/agent/linuxbridge_neutron_agent.py |  45 +-
.../linuxbridge/mech_driver/mech_linuxbridge.py    |   5 +-
.../plugins/ml2/drivers/macvtap/agent/config.py    |  37 -
.../drivers/macvtap/agent/macvtap_neutron_agent.py |  20 +-
.../ml2/drivers/mech_sriov/agent/common/config.py  |  38 +-
.../drivers/mech_sriov/agent/eswitch_manager.py    |  75 +-
.../agent/extension_drivers/qos_driver.py          |  10 +-
.../ml2/drivers/mech_sriov/agent/pci_lib.py        |  20 +-
.../drivers/mech_sriov/agent/sriov_nic_agent.py    |  16 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py  |  81 +--
.../ml2/drivers/openvswitch/agent/common/config.py | 148 +---
.../drivers/openvswitch/agent/common/constants.py  |   1 +
.../agent/extension_drivers/qos_driver.py          |  10 +-
.../openvswitch/agent/openflow/native/br_int.py    |   2 +-
.../openvswitch/agent/openflow/native/br_tun.py    |   2 +-
.../agent/openflow/native/ovs_bridge.py            |   2 +-
.../agent/openflow/native/ovs_ryuapp.py            |  27 +-
.../openvswitch/agent/openflow/ovs_ofctl/br_int.py |   2 +-
.../agent/openflow/ovs_ofctl/ovs_bridge.py         |   3 -
.../openvswitch/agent/ovs_dvr_neutron_agent.py     |   7 -
.../drivers/openvswitch/agent/ovs_neutron_agent.py |  98 ++-
.../ml2/drivers/openvswitch/agent/vlanmanager.py   |   8 -
.../agent/xenapi/etc/xapi.d/plugins/netwrap        |  34 +-
.../openvswitch/mech_driver/mech_openvswitch.py    |  35 +-
neutron/plugins/ml2/drivers/type_flat.py           |  65 +-
neutron/plugins/ml2/drivers/type_geneve.py         |  63 +-
neutron/plugins/ml2/drivers/type_gre.py            |  13 +-
neutron/plugins/ml2/drivers/type_local.py          |   8 +-
neutron/plugins/ml2/drivers/type_tunnel.py         | 147 +++-
neutron/plugins/ml2/drivers/type_vlan.py           |  82 +--
neutron/plugins/ml2/drivers/type_vxlan.py          |  55 +-
neutron/plugins/ml2/extensions/dns_integration.py  |  96 +--
neutron/plugins/ml2/managers.py                    | 119 ++--
neutron/plugins/ml2/models.py                      |  15 +-
neutron/plugins/ml2/ovo_rpc.py                     | 120 ++++
neutron/plugins/ml2/plugin.py                      | 242 ++++---
neutron/plugins/ml2/rpc.py                         |  21 +-
neutron/policy.py                                  |  67 +-
neutron/privileged/__init__.py                     |  26 +
neutron/privileged/agent/__init__.py               |   0
neutron/privileged/agent/linux/__init__.py         |   0
neutron/privileged/agent/linux/ip_lib.py           | 177 +++++
neutron/quota/resource.py                          |  26 +-
neutron/scheduler/dhcp_agent_scheduler.py          |  31 +-
neutron/scheduler/l3_agent_scheduler.py            | 249 ++++---
neutron/service.py                                 |  11 +-
neutron/services/auto_allocate/db.py               |  58 +-
.../externaldns/drivers/designate/driver.py        |  25 +-
neutron/services/l3_router/README                  |   5 +-
neutron/services/l3_router/l3_router_plugin.py     |   9 +-
.../service_providers/driver_controller.py         |  28 +-
neutron/services/loki/__init__.py                  |   0
neutron/services/loki/loki_plugin.py               |  49 ++
neutron/services/metering/agents/metering_agent.py |   8 +
.../metering/drivers/iptables/iptables_driver.py   | 249 ++++---
neutron/services/network_ip_availability/plugin.py |   3 +-
neutron/services/provider_configuration.py         |  47 +-
neutron/services/qos/drivers/__init__.py           |   0
neutron/services/qos/drivers/base.py               | 100 +++
.../services/qos/drivers/linuxbridge/__init__.py   |   0
neutron/services/qos/drivers/linuxbridge/driver.py |  48 ++
neutron/services/qos/drivers/manager.py            | 117 ++++
.../services/qos/drivers/openvswitch/__init__.py   |   0
neutron/services/qos/drivers/openvswitch/driver.py |  48 ++
neutron/services/qos/drivers/sriov/__init__.py     |   0
neutron/services/qos/drivers/sriov/driver.py       |  48 ++
.../services/qos/notification_drivers/manager.py   |  18 +-
.../qos/notification_drivers/message_queue.py      |  28 +-
neutron/services/qos/qos_consts.py                 |   2 +
neutron/services/qos/qos_plugin.py                 |  51 +-
neutron/services/revisions/revision_plugin.py      |   9 +-
neutron/services/segments/db.py                    |  93 ++-
neutron/services/segments/placement_client.py      | 182 +++++
neutron/services/segments/plugin.py                | 321 ++++++++-
neutron/services/tag/tag_plugin.py                 |  65 +-
neutron/services/timestamp/timestamp_db.py         |  40 +-
neutron/services/timestamp/timestamp_plugin.py     |  24 +-
neutron/services/trunk/constants.py                |   2 +-
neutron/services/trunk/drivers/base.py             |   2 +-
.../trunk/drivers/linuxbridge/agent/driver.py      |  13 +-
.../drivers/linuxbridge/agent/trunk_plumber.py     |   6 +-
.../trunk/drivers/openvswitch/agent/driver.py      |  44 +-
.../trunk/drivers/openvswitch/agent/exceptions.py  |   4 +
.../drivers/openvswitch/agent/ovsdb_handler.py     | 251 +++++--
.../drivers/openvswitch/agent/trunk_manager.py     |  27 +-
neutron/services/trunk/models.py                   |   7 +-
neutron/services/trunk/plugin.py                   |  34 +-
neutron/services/trunk/rpc/agent.py                |  16 +-
neutron/services/trunk/rpc/server.py               |  12 +-
neutron/services/trunk/rules.py                    |  10 +-
neutron/services/trunk/utils.py                    |   5 +-
.../exclusive_resources/resource_allocator.py      |   3 +-
.../l2/extensions/test_ovs_agent_qos_extension.py  |  12 +-
.../agent/l3/test_keepalived_state_change.py       |  68 ++
.../functional/agent/l3/test_legacy_router.py      |  12 +-
.../agent/linux/openvswitch_firewall/__init__.py   |   0
.../linux/openvswitch_firewall/test_firewall.py    |  53 ++
.../functional/agent/linux/test_ovsdb_monitor.py   |   3 +-
.../functional/agent/ovsdb/native/__init__.py      |   0
.../agent/ovsdb/native/test_connection.py          |  47 ++
.../functional/pecan_wsgi/test_controllers.py      | 179 ++++-
.../scheduler/test_l3_agent_scheduler.py           |  55 +-
.../l3_router/test_l3_dvr_ha_router_plugin.py      | 103 ++-
.../l3_router/test_l3_dvr_router_plugin.py         | 113 ++-
.../openvswitch/agent/test_ovsdb_handler.py        |  70 +-
.../openvswitch/agent/test_trunk_manager.py        |  25 +-
.../exclusive_resources/test_resource_allocator.py |   4 +-
.../tempest/api/admin/test_routers_flavors.py      |  20 +-
.../api/admin/test_shared_network_extension.py     |   5 +-
.../api/test_network_ip_availability_negative.py   |  29 +
.../services/network/json/network_client.py        |  58 +-
.../agent/l2/extensions/test_fdb_population.py     |   4 +-
.../unit/agent/l3/test_l3_agent_extension_api.py   |  12 +-
.../linux/openvswitch_firewall/test_firewall.py    |  26 +-
.../unit/agent/linux/test_external_process.py      |   8 +-
.../unit/agent/linux/test_iptables_firewall.py     | 340 +++++----
.../unit/agent/linux/test_xenapi_root_helper.py    |  93 +++
.../unit/agent/ovsdb/native/test_connection.py     |  51 +-
.../unit/agent/test_agent_extensions_manager.py    |   3 +-
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py  |  32 +-
.../api/rpc/callbacks/consumer/test_registry.py    |  21 +-
.../unit/api/rpc/callbacks/test_version_manager.py |   2 +-
.../unit/api/rpc/handlers/test_resources_rpc.py    |  51 +-
.../extensions/test_router_availability_zone.py    |  13 +-
.../unit/extensions/test_subnet_service_types.py   |  63 +-
.../ipam/drivers/neutrondb_ipam/test_db_api.py     |  62 +-
.../ipam/drivers/neutrondb_ipam/test_driver.py     |  42 +-
.../objects/extensions/test_standardattributes.py  |   4 +-
.../unit/objects/network/extensions/__init__.py    |   0
.../network/extensions/test_port_security.py       |  38 -
.../unit/objects/network/test_network_segment.py   |  36 -
.../objects/plugins/ml2/test_flatallocation.py     |  29 +
.../objects/plugins/ml2/test_geneveallocation.py   |  38 +
.../unit/objects/plugins/ml2/test_greallocation.py |  39 ++
.../objects/plugins/ml2/test_vlanallocation.py     |  28 +
.../objects/plugins/ml2/test_vxlanallocation.py    |  39 ++
.../port/extensions/test_allowedaddresspairs.py    |   5 +-
.../objects/port/extensions/test_extra_dhcp_opt.py |   5 +-
.../ml2/drivers/agent/test__common_agent.py        |  40 +-
.../unit/plugins/ml2/drivers/base_type_tunnel.py   |  78 +--
.../l2pop/rpc_manager/test_l2population_rpc.py     |   2 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py      |  12 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py  |  51 +-
.../agent/extension_drivers/test_qos_driver.py     | 136 +++-
.../agent/test_linuxbridge_neutron_agent.py        |  55 +-
.../macvtap/agent/test_macvtap_neutron_agent.py    |  17 +-
.../drivers/mech_sriov/agent/common/test_config.py |  15 +-
.../agent/extension_drivers/test_qos_driver.py     |   2 +-
.../mech_sriov/agent/test_eswitch_manager.py       | 143 +++-
.../ml2/drivers/mech_sriov/agent/test_pci_lib.py   |  26 +-
.../mech_sriov/agent/test_sriov_nic_agent.py       |  19 +
.../mech_driver/test_mech_sriov_nic_switch.py      | 128 +---
.../agent/extension_drivers/test_qos_driver.py     |   2 +-
.../agent/openflow/native/ovs_bridge_test_base.py  |   4 +-
.../agent/openflow/native/test_br_int.py           |  12 +-
.../agent/openflow/native/test_br_tun.py           |   2 +-
.../agent/openflow/ovs_ofctl/test_br_int.py        |   2 +-
.../openvswitch/agent/test_ovs_neutron_agent.py    |  88 +--
.../drivers/openvswitch/agent/test_ovs_tunnel.py   |   4 +-
.../drivers/openvswitch/agent/test_vlanmanager.py  |   6 -
.../mech_driver/test_mech_openvswitch.py           |  59 ++
.../unit/plugins/ml2/drivers/test_type_flat.py     |  30 +-
.../unit/plugins/ml2/drivers/test_type_gre.py      |  11 -
.../unit/plugins/ml2/drivers/test_type_local.py    |  10 +-
.../unit/plugins/ml2/drivers/test_type_vlan.py     |  62 +-
.../unit/plugins/ml2/extensions/fake_extension.py  |   2 +-
.../plugins/ml2/extensions/test_dns_integration.py | 181 +++--
.../unit/plugins/ml2/test_ext_portsecurity.py      |   5 +-
.../unit/plugins/ml2/test_extension_driver_api.py  |  23 +-
.../unit/scheduler/test_dhcp_agent_scheduler.py    |  28 +-
.../unit/scheduler/test_l3_agent_scheduler.py      | 439 ++++++------
.../service_providers/test_driver_controller.py    |  64 +-
.../metering/agents/test_metering_agent.py         |   7 +-
.../services/metering/drivers/test_iptables.py     | 162 +++++
.../unit/services/metering/test_metering_plugin.py |  72 +-
.../unit/services/qos/drivers/test_manager.py      |  94 +++
.../qos/notification_drivers/test_manager.py       |  36 +-
.../qos/notification_drivers/test_message_queue.py |  69 --
.../services/revisions/test_revision_plugin.py     |  85 ++-
.../unit/services/test_provider_configuration.py   |   2 +-
.../trunk/drivers/linuxbridge/agent/test_driver.py |  26 +-
.../trunk/drivers/openvswitch/agent/test_driver.py |  50 +-
.../openvswitch/agent/test_ovsdb_handler.py        | 139 +++-
neutron/worker.py                                  |  33 +
rally-jobs/extra/trunk_scenario.setup              |   1 +
rally-jobs/neutron-neutron.yaml                    |  38 +-
rally-jobs/plugins/trunk_scenario.py               |  61 ++
..._proxy_to_wsgi-middleware-24e8271cbd94ffdf.yaml |  11 +
...ing-for-linuxbridge-agent-e765d0d934fa4017.yaml |   3 +
.../notes/add-dhcp_release6-ff1b8d62fd7fe76d.yaml  |  17 +-
...epalived-vrrp-healt-check-f23ed7c853151484.yaml |   9 +
...width-support-linuxbridge-9dc9d4458d8affef.yaml |   6 +
...api-configuration-options-f1611d0909bf6166.yaml |  11 +
...-physical_device_mappings-67dd3317181eb513.yaml |   6 +
...service-providers-loading-703f984b90351bf0.yaml |   2 +-
.../deprecate-router_id-34aca9ea5ee9e789.yaml      |   2 +-
...deprecate-send_arp_for_ha-0281853632f58e8d.yaml |   5 +
...signate-driver-keystonev3-8e70d152e84388e0.yaml |   7 +
.../dhcp-domain-removed-cc5bc6e2129fdf7f.yaml      |   4 +
.../dhcp-ipv6-address-update-ff18d1eb0c196bce.yaml |  12 +
.../notes/enhance-tags-1f8915fe3e074069.yaml       |   4 +
.../notes/fip-janitor-53f0d42a7471c5ed.yaml        |   8 +
...utron-agent-decomposition-ae6a052aeb48c6ac.yaml |   2 +-
...erv-security-group-driver-fdbe0c0c292a1505.yaml |  13 +
...sysctl-bridge-firewalling-912f157b5671363f.yaml |  14 +
...ate-change-server-threads-9ed775e7533dd1a0.yaml |  10 +
.../netns_cleanup_kill_procs-af88d8c47c07dd9c.yaml |   8 +
....messaging.notify.drivers-abb0d17b9e1bd470.yaml |  11 +
.../qos-drivers-refactor-16ece9984958f8a4.yaml     |  12 +
.../remove-advertise_mtu-28933264714453c4.yaml     |   5 +
...-pagination-allow-sorting-ff23ca5ccb3007b9.yaml |   5 +
...-min-l3-agents-per-router-27aef7d91dec0348.yaml |  12 +
.../sending-garp-for-l3-ha-c118871833ad8743.yaml   |  17 +
...rface_mapping-not-present-3109faf3b44d366a.yaml |   6 +
.../timestamp_format_change-73eda78566b4690b.yaml  |  12 +
.../use-pyroute2-in-ip-lib-558bfea8f14d1fea.yaml   |   4 +
.../vhost-user-reconnect-7650134520022e7d.yaml     |  14 +
releasenotes/source/README.rst                     |   2 +-
releasenotes/source/conf.py                        |   5 +-
releasenotes/source/index.rst                      |   3 +-
releasenotes/source/newton.rst                     |   7 +
requirements.txt                                   |  49 +-
setup.cfg                                          |  16 +-
test-requirements.txt                              |  15 +-
tools/configure_for_func_testing.sh                |  15 +-
tools/list_moved_globals.py                        |   9 +-
tools/milestone-review-dash.py                     | 171 -----
tox.ini                                            |  14 +-
840 files changed, 29868 insertions(+), 13359 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index b6c8641..2e9ac43 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -12,2 +12 @@ eventlet!=0.18.3,>=0.18.2 # MIT
-pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
-greenlet>=0.3.2 # MIT
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
@@ -15,4 +14,4 @@ httplib2>=0.7.5 # MIT
-requests>=2.10.0 # Apache-2.0
-Jinja2>=2.8 # BSD License (3 clause)
-keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0
-netaddr!=0.7.16,>=0.7.12 # BSD
+requests!=2.12.2,>=2.10.0 # Apache-2.0
+Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+keystonemiddleware>=4.12.0 # Apache-2.0
+netaddr!=0.7.16,>=0.7.13 # BSD
@@ -20 +19 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=0.4.0 # Apache-2.0
+neutron-lib>=1.1.0 # Apache-2.0
@@ -22,2 +21,2 @@ python-neutronclient>=5.1.0 # Apache-2.0
-retrying!=1.3.0,>=1.2.3 # Apache-2.0
-ryu!=4.1,!=4.2,!=4.2.1,!=4.4,>=3.30 # Apache-2.0
+tenacity>=3.2.1 # Apache-2.0
+ryu>=4.9 # Apache-2.0
@@ -25,3 +24,3 @@ SQLAlchemy<1.1.0,>=1.0.10 # MIT
-WebOb>=1.2.3 # MIT
-keystoneauth1>=2.10.0 # Apache-2.0
-alembic>=0.8.4 # MIT
+WebOb>=1.6.0 # MIT
+keystoneauth1>=2.18.0 # Apache-2.0
+alembic>=0.8.10 # MIT
@@ -29 +28 @@ six>=1.9.0 # MIT
-stevedore>=1.16.0 # Apache-2.0
+stevedore>=1.17.1 # Apache-2.0
@@ -32 +31 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.14.0 # Apache-2.0
+oslo.config!=3.18.0,>=3.14.0 # Apache-2.0
@@ -34 +33 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -36,2 +35,2 @@ oslo.i18n>=2.1.0 # Apache-2.0
-oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.log>=3.11.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
@@ -39 +38,2 @@ oslo.middleware>=3.0.0 # Apache-2.0
-oslo.policy>=1.9.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
+oslo.privsep>=1.9.0 # Apache-2.0
@@ -44,2 +44,2 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.16.0 # Apache-2.0
-oslo.versionedobjects>=1.13.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
+oslo.versionedobjects>=1.17.0 # Apache-2.0
@@ -47,2 +47,3 @@ osprofiler>=1.4.0 # Apache-2.0
-ovs>=2.5.0;python_version=='2.7' # Apache-2.0
-ovs>=2.6.0.dev3;python_version>='3.4' # Apache-2.0
+ovs>=2.6.1 # Apache-2.0
+pyroute2>=0.4.12 # Apache-2.0 (+ dual licensed GPL2)
+weakrefmethod>=1.0.2;python_version=='2.7' # PSF
@@ -50 +51 @@ ovs>=2.6.0.dev3;python_version>='3.4' # Apache-2.0
-python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0
+python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fd66607..b55ee82 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking<0.12,>=0.11.0 # Apache-2.0
+hacking<0.13,>=0.12.0 # Apache-2.0
@@ -6 +6 @@ hacking<0.12,>=0.11.0 # Apache-2.0
-coverage>=3.6 # Apache-2.0
+coverage>=4.0 # Apache-2.0
@@ -10,3 +10,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-requests-mock>=1.0 # Apache-2.0
-sphinx!=1.3b1,<1.3,>=1.2.1 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx!=1.3b1,<1.4,>=1.2.1 # BSD
+oslosphinx>=4.7.0 # Apache-2.0
@@ -19 +18 @@ oslotest>=1.10.0 # Apache-2.0
-os-testr>=0.7.0 # Apache-2.0
+os-testr>=0.8.0 # Apache-2.0
@@ -22 +21 @@ pylint==1.4.5 # GPLv2
-reno>=1.8.0 # Apache2
+reno>=1.8.0 # Apache-2.0
@@ -24 +23 @@ reno>=1.8.0 # Apache2
-PyMySQL!=0.7.7,>=0.6.2 # MIT License
+PyMySQL>=0.7.6 # MIT License





More information about the Release-announce mailing list