CHANGES
=======

9.0.0.0rc2
----------

* Switch upper-constraints and tox_install.sh to stable/newton
* Update .gitreview for stable/newton
* Updated from global requirements
* Stop using _create_or_update_agent

9.0.0.0rc1
----------

* Tag the alembic migration revisions for Newton
* Fixes KeyError while updating bgp peer
* Use relocated address scope import
* Use model_base from neutron-lib

9.0.0.0b3
---------

* Updated from global requirements
* Update tox.ini for upper constraints
* Revert "Fix NoSuchOptError on identity config option lookup"
* Fix NoSuchOptError on identity config option lookup
* Fixed "tox -e py27" warning message
* Add Python 3.5 venv and classifier
* Updated from global requirements
* Remove temporary local HasProject
* Allow to run functional tests
* Enable DeprecationWarning in test environments
* Updated from global requirements
* BGP: exclude legacy fip in DVR fip host routes query
* Remove duplicate test l3plugin
* Rename DB columns: tenant -> project
* Use six.text_type instead of unicode
* Add bgp speaker and route advertisement doc
* Clean up API tests for neutron-dynamic-routing
* Fix bug for Permission denied
* Updated from global requirements

9.0.0.0b2
---------

* Remove unhelpful test of oslo.service ServiceLauncher
* remove unused LOG
* Document about how to test dynamic routing
* Fix unicode bug for password-authenticated BGP peer
* Fix _get_id_for
* Fix subunit trace help
* Address FutureWarning for invalid UUIDs
* Fix API document
* Trivial documentation change to trigger publish job
* Remove check_i18n files
* Fix typo in the installation documentation
* Fix exception translation
* BGP dynamic routing CLI
* Add drivers document for neutron dynamic routing
* Add system design for neutron dynamic routing
* Fix the policy check for BGP APIs
* Fix test-requirements.txt to pull correct version of hacking
* Add neutron-dynamic-routing DrAgent & Scheduler document
* BGP dynamic routing api documentation

9.0.0.0b1
---------

* Add "neutron-bgp-dragent" to setup.cfg
* Fix bgp-speaker-network-remove error
* Add devstack for neutron-dynamic-routing stadium project
* Fix the issue about BGP dragent reports state failed
* Move BGP service plugin, agent, and tests out of Neutron repo
* Added OSLO config framework
* Documentation
* Added alembic DB migration framework
* [Trivial] Remove executable privilege of doc/source/conf.py
* Prepare initial sandbox for neutron-dynamic-routing
* Generated new .gitreview file for neutron-dynamic-routing
* API tests: Check extensions with proper functions
* Hacking rule to check i18n usage
* Make network segment table available for standalone plugin
* DSCP QoS rule implementation
* register the config generator default hook with the right name
* Using LOG.warning replace LOG.warn
* Copy tempest.common.tempest_fixtures in to Neutron
* Queries for DVR-aware floating IP next-hop lookups
* Add BGP Callback and agent RPC notifcation implementations
* Fix tempest lib import in API tests
* Add a description field to all standard resources
* Add timestamp for neutron core resources
* Skip racey BGP tests
* Continue the fwaas decoupling and cleanup
* Add Queries For BGP Route Lookups
* Add tag mechanism for network resources
* Moved CORS middleware configuration into oslo-config-generator
* BGP: remove unnecessary configuration setting
* Add support for QoS for LinuxBridge agent
* Add API extension for reporting IP availability usage statistics
* macvtap: Macvtap L2 Agent
* Switch to using in-tree tempest lib
* BGP Dynamic Routing: introduce BgpDriver
* API test for get-me-network
* BGP Dynamic Routing: introduce BgpDrAgent
* macvtap: ML2 mech driver for macvtap network attachments
* Open vSwitch conntrack based firewall driver
* Make DHCP agent scheduler physical_network aware
* Add the rebinding chance in _bind_port_if_needed
* Remove deprecation warnings
* BGP Dynamic Routing: introduce BgpDrScheduler model
* Add BGP Dynamic Routing DB Model and Basic CRUD
* Remove vpnaas tests from the Neutron API tree
* Add the ability to load a set of service plugins on startup
* Implement 'get-me-a-network' API building block
* Test helpers to facilitate testing BGP dynamic routing
* Postpone heavy policy check for ports to later
* Delete Tempest fork, import from tempest and tempest_lib
* Add dns_db to models/head.py
* Remove obsolete plugin stuff
* External DNS driver reference implementation
* Make neutron pecan server an option instead of binary
* LBaaS tests code removal
* devstack: don't enable qos service with the plugin
* Keep py3.X compatibility for urllib
* Enable Guru Meditation Reports for other refarch agents
* Refactor the subnetpools API tests
* Decompose OFAgent mechanism driver from neutron tree completely
* move usage_audit to cmd/eventlet package
* Set timetable for removal of oslo.messaging.notify.drivers
* Final decomposition of the nuage plugin
* Final decomposition of Brocade vendor code
* Remove Neutron core static example configuration files - addition
* Hyper-V: remove driver from the neutron tree
* Remove version from setup.cfg
* Automatically generate neutron core configuration files
* Freescale ML2 driver code complete decomposition
* Remove BigSwitch plugin and driver
* Make sure we return unicode strings for process output
* Fix Neutron flavor framework
* Remove deprecated use_namespaces option
* Remove SysV init script for neutron-server
* Final decomposition of opendaylight driver
* Remove MidonetInterfaceDriver
* Fix notification driver package
* Replace subnetpool config options with admin-only API
* Decompose ML2 mechanism driver for Mellanox
* Decompose ML2 mechanism driver for OVSvApp
* Remove IBM SDN-VE left-overs
* Add stevedore aliases for interface_driver configuration
* Remove the embrane plugin
* Python 3: add classifiers
* Remove OneConvergence plugin from the source tree
* Decomposition phase2 for MidoNet plugin
* Add availability_zone support base
* Add neutron-linuxbridge-cleanup util
* Remove OpenContrail plugin from the source tree
* Open Mitaka development
* Refactoring devstack script
* Introduce a separate RPC server
* Revert "Revert "Pecan WSGI: prevent plugins from opening AMQP connections""
* Revert "Pecan WSGI: prevent plugins from opening AMQP connections"
* Install sriov-agent.ini on 'setup.py install'
* SR-IOV: devstack support for SR-IOV agent
* Stop device_owner from being set to 'network:*'
* Final decomposition of Cisco plugin
* Remove Cisco Meta and N1KV monolithic plugins
* Remove implicit registration of *-aas service providers
* Add Geneve type driver support to ML2
* Removing the SDN-VE monolithic plugin
* PLUMgrid plugin decomposition part II
* L3 agent changes and reference implementation for IPv6 PD
* Decomposition phase2 of NEC plugin
* Add empty policy rule to get_rule_type action
* Remove the ML2 Nuage driver code
* Neutron RBAC API and network support
* Added initial devstack plugin
* Final decomposition of ML2 Cisco UCSM driver
* Fix tenant access to qos policies
* Final decomposition of ML2 Nexus Driver
* NSX: Move DB models as part of core vendor decomposition
* Pecan WSGI: prevent plugins from opening AMQP connections
* Remove vmware plugin from neutron (etc part)
* Support for independent alembic branches in sub-projects
* Remove bigswitch mech_driver entry point definition
* Treat sphinx warnings as errors
* Final decomposition of the ML2 NCS driver
* SR-IOV: Add Agent QoS driver to support bandwidth limit
* Replace 'import json' with oslo_serialization
* Fix get_objects to allow filtering
* Moved extensions/qos_agent.py into extensions/qos.py
* Add API tests for non-accessible policies
* Cleaned up some TODO comments for feature/qos that do not apply anymore
* Added missing [qos] section into neutron.conf
* Fix accessing shared policies, add assoc tests
* Initial pecan structure
* Arista Drivers decomposition part II
* Moved out cisco n1kv mech driver and db models
* Load the QoS notification driver from the configuration file
* Add update tests for policies and rules
* Introduce mechanism to determine supported qos rule types for a plugin
* Add DB support for resource usage tracking
* QoS: Remove type attribute from QoS rules
* Decompose Apic ML2 mechanism driver
* Base infrastructure for QoS API tests
* Metaplugin removal
* Remove deprecated OVS and LB plugin DB tables
* Handle qos_policy on network/port create/update
* Add address_scope_db to neutron/models/head.py
* Flavor Framework implementation
* Network RBAC DB setup and legacy migration
* Add qos section to ovs agent config
* Moving out cisco n1kv extensions
* Qos Agent Extension
* Python3: do not use urllib.urlencode
* AgentExtensionsManager and AgentCoreResourceExtension
* Support Basic Address Scope CRUD as extensions
* QoS: db models and migration rules
* Fix Consolidate sriov agent and driver code
* QoS service plugin stub
* Create the QoS API extension stub
* Consolidate sriov agent and driver code
* Restructure agent code in preparation for decomp
* Updated from global requirements
* Add IPset cleanup script
* Update version for Liberty
* Decompose the NCS ML2 Mechanism Driver
* Implement IPAM Driver loader
* Fix minor errors in the Vyatta L3 Plugin:
* IPAM reference driver
* Centralized register_OVS_agent in tests
* Update build hooks
* mlnx MD: mlnx_direct removal
* Extenuate register_dhcp_agent code duplication in tests
* Add missed actions into policy.json
* Disembowel register_l3_agent code duplication in tests
* ARP spoofing patch: Low level ebtables integration
* Block allowed address pairs on other tenants' net
* Removed ml2_conf_odl.ini config file
* Removed ml2_conf_odl.ini config file
* Open Liberty development
* Reorganize unit test tree
* Add API tests for subnetpool allocation
* tests: don't rely on configuration files outside tests directory
* Test to verify  shared attribute of network
* Add full-stack tests framework
* Add L3 router plugin shim for Brocade MLX
* Cisco UCS Manager ML2 Mechanism Driver
* Cisco Nexus1000V ML2 Mechanism Driver
* Ml2 Mechanism Driver for OVSvApp Solution
* Add eventlet monkey_patch helper
* Hyper-V Agent decomposition
* Basic subnetpool CRUD
* Replace keepalived notifier bash script with Python ip monitor
* Add ML2 VLAN mechanism driver for Brocade MLX and ICX switches
* IBM SDN-VE Plugin decomposition
* Brocade Vyatta vrouter shim plugin for vendor decomposition
* Add portsecurity extension support
* Move mlnx agent to be under ml2/drivers/mlnx
* Update api tests from tempest
* Remove vendor entry point
* Brocade vendor code decomposition from neutron repo
* ML2 cisco_nexus MD: sync config and models with vendor repo
* Add rootwrap daemon mode support
* NEC plugin code split
* ofagent: Have a thin driver module
* Initial copy of api tests from tempest
* Vendor decomposition to move CSR1000v support to the networking-cisco repo
* Decompose the VMware plugin
* Remove HyperVNeutronPlugin
* ml2 extension driver: more tests, fix data argument inconsistency
* ofagent: Vendor code decomposition
* Missing entry points for cisco apic topology agents
* Fix retrieval of shared firewall_policies
* Added a policy for retrieving the agent hosting a load balancer
* test_l2population: Use a fake mech driver instead of ofagent
* Moved several services into neutron.cmd.eventlet
* Move NCS mech driver to its new home
* Added policy for lbaas v2 agent extension resource
* NEC: Merge NEC plugin models into single module
* VMware: consolidate NSX models
* oslo: migrate to namespace-less import paths
* Drop bw compact module for OpenDayLight
* Drop deprecated namespace for oslo.rootwrap
* Allow port mac_address to be modified
* Drop bin/neutron-rootwrap
* Freescale FWaaS Plugin: Update to setup.cfg
* Move agent cleanup scripts to cmd module
* Service split: cleaned up setup.cfg
* Move metadata agent entry to its own file
* Break out config and entry point out of l3/agent file
* Move postcommit ops out of transaction for bulk
* VMWare-NSXv: VMWare NSXv database models
* Delete the console scripts for lbaas and vpnaas
* Allow to specify IP address of floating ip
* Allow setting a tenant router's external IP
* Remove NSX 'service' plugin
* Backward compatibility for advanced services
* Remove mlnx plugin
* Move classes out of l3_agent.py
* Services split, pass 2
* Split services code out of Neutron, pass 1
* Remove Python 2.6 classifier
* Remove ryu plugin
* Add rootwrap filters for ofagent
* Remove openvswitch core plugin entry point
* Add advsvc role to neutron policy file
* remove linuxbridge plugin
* Open Kilo development
* Fix entrypoint of OneConvergencePlugin plugin
* Separate Configuration from Freescale SDN ML2 mechanism Driver
* Remove the Cisco Nexus monolithic plugin
* Adds ipset support for Security Groups
* Add L3 VRRP HA base classes
* Supply missing cisco_cfg_agent.ini file
* Revert "Cisco DFA ML2 Mechanism Driver"
* Big Switch: Separate L3 functions into L3 service
* Remove reference to cisco_cfg_agent.ini from setup.cfg again
* Adds router service plugin for CSR1kv
* Support for extensions in ML2
* Cisco DFA ML2 Mechanism Driver
* Adding mechanism driver in ML2 plugin for Nuage Networks
* Remove ovs dependency in embrane plugin
* Remove old policies from policy.json
* Fix policy rules for adding and removing router interfaces
* Fix bigswitch setup.cfg lines
* Opencontrail plug-in implementation for core resources
* Remove reference to cisco_cfg_agent.ini from setup.cfg
* Add L3 Scheduler Changes for Distributed Routers
* Configuration agent for Cisco devices
* ML2 mechanism driver for SR-IOV capable NIC based switching, Part 2
* This patch changes the name of directory from mech_arista to arista
* ML2 mechanism driver for SR-IOV capable NIC based switching, Part 1
* Add rule for updating network's router:external attribute
* L2 Model additions to support DVR
* Add L3 Extension for Distributed Routers
* Freeze models for healing migration
* ofagent: move main module from ryu repository
* Port to oslo.messaging
* Added missing core_plugins symbolic names
* Freescale SDN Mechanism Driver for ML2 Plugin
* Remove run-time version checking for openvswitch features
* Added missing plugin .ini files to setup.cfg
* Disallow regular user to update firewall's shared attribute
* Cisco APIC ML2 mechanism driver, part 2
* NSX: get rid of the last Nicira/NVP bits
* Perform policy checks only once on list responses
* Remove last parts of Quantum compatibility shim
* Open Juno development
* One Convergence Neutron Plugin l3 ext support
* One Convergence Neutron Plugin Implementation
* BigSwitch: Add SSL Certificate Validation
* Add OpenDaylight ML2 MechanismDriver
* Implementaion of Mechanism driver for Brocade VDX cluster of switches
* Implement Mellanox ML2 MechanismDriver
* Implement OpenFlow Agent mechanism driver
* Finish off rebranding of the Nicira NVP plugin
* BigSwitch: Add agent to support neutron sec groups
* Adds the new IBM SDN-VE plugin
* Replace binding:capabilities with binding:vif_details
* Rename Neutron core/service plugins for VMware NSX
* Copy cache package from oslo-incubator
* Add support to request vnic type on port
* Add migration support from agent to NSX dhcp/metadata services
* LBaaS: move agent based driver files into a separate dir
* Prepare for multiple cisco ML2 mech drivers
* Support building wheels (PEP-427)
* Use oslo.rootwrap library instead of local copy
* Enables BigSwitch/Restproxy ML2 VLAN driver
* Base ML2 bulk support on the loaded drivers
* Disallow non-admin users update net's shared attribute
* Configure plugins by name
* Rename nicira configuration elements to match new naming structure
* Rename check_nvp_config utility tool
* Add fwaas_driver.ini to setup.cfg
* Add vpnaas and debug filters to setup.cfg
* Open Icehouse development
* Allow non-admin user to list service providers
* Allow sharing of firewall rules and policies in policy.json
* Add l2 population base classes
* Install metering_agent.ini and vpn_agent.ini
* ML2 Mechanism Driver for Cisco Nexus
* Reference driver implementation (IPsec) for VPNaaS
* Implement ML2 port binding
*  Arista ML2 Mechanism driver
* ML2 Mechanism Driver for Tail-f Network Control System (NCS)
* Add Neutron l3 metering agent
* Disallow non-admin to specify binding:profile
* Add multiple provider network extension
* remove binaries under bin
* Add metering extension and base class
* Remove DHCP lease logic
* Add support for the Nexus 1000V into the Cisco Plugin
* Firewall as a Service (FWaaS) APIs and DB Model
* Service Type Framework refactoring
* remove "get_agents" rule in policy.json
* Add agent scheduling for LBaaS namespace agent
* Enable policy control over external_gateway_info sub-attributes
* Add gre tunneling support for the ML2 plugin
* Add VXLAN tunneling support for the ML2 plugin
* xenapi - rename quantum to neutron
* Initial Modular L2 Mechanism Driver implementation
* Rename Quantum to Neutron
* Remove single-version-externally-managed in setup.cfg
* Fix single-version-externally-mananged typo in setup.cfg
* Rename agent_loadbalancer directory to loadbalancer
* Add API mac learning extension for NVP
* Rename README to README.rst
* Add L3 resources to policy.json
* Initial Modular L2 plugin implementation
* Reduce plugin accesses from policy engine
* Move to pbr
* Remove calls to policy.check from plugin logic
* add db to save host for port
* Remove calls to policy.enforce from plugin and db logic
* Make the 'admin' role configurable
* Enable authZ checks for member actions
* Fix typo in policy.json and checks in nicira plugin
* Add scheduling feature basing on agent management extension
* Use testtools instead of unittest or unittest2
* Agent management extension
* Add nvp qos extension
* Adds port security api extension and base class
* Use babel to generate translation file
* API extension and DB support for service types
* Add VIF binding extensions
* Update policies
* Update default policy for add/remove router interface to admin_or_owner
* Added policy checks for add interface and remove interface
* Policies for external networks
* Make sure floating IPs  + gateways must be on external nets
* remove policy check for host_routes in update_port
* Enable users to list subnets on shared networks
* Adds the 'public network' concept to Quantum
* Initial V2 implementation of provider extension
* Add authZ through incorporation of policy checks
* Fix up test running to match jenkins expectation
* Add build_sphinx options
* Split out quantum.client and quantum.common
* Getting ready for the client split
* Pushing initial started code based on Glance project and infrstructure work done by the melange team
