CHANGES
=======

2018.1.19
---------

* Add test coverage for managed\_physnets without HPB
* Fix handling of FQDN in port binding delete
* bump RHOSP13 dockerfile release to 2018.1.18

2018.1.18
---------

* Check for missing port bindings each sync period
* Revert "Bind DVR ports when DOWN to workaround upstream issue"
* Bind DVR ports when DOWN to workaround upstream issue

2018.1.17
---------

* Fix AttributeError on select.poll()
* Encode special characters in CVX username and password
* Bump RHOSP13 to 2018.1.16

2018.1.16
---------

* Reduce info level logging output
* fix Dockerfile opendev URL for -/\_
* fix path error for tarballs.opendev.org
* Bump RHOSP13 to 2018.1.15

2018.1.15
---------

* Fix handling of ERROR ports and '' device\_id
* Bump RHOSP13 to 2018.1.13
* Test routes are not deleted on sync

2018.1.13
---------

* Remove delete\_default\_gateway from create\_router

2018.1.12
---------

* Use show version to validate vrf support
* Use an interprocess lock for physnets

2018.1.11
---------

* Prevent recursive check for vrf supported commands
* Wrap L3 synchronize function in try catch
* Added missing format character
* Add option to create default route to router VRFs
* Update L3 plugin to handle new syntax for deprecated vrf forwarding
* Update L3 plugin to handle switches that support vrf instance
* Update source to be tarballs.o.o
* Add Dockerfile for RHOSP13
* Add dockerfiles subdir
* Update .gitreview default branch

2018.1.10
---------

* Improve performance of sync under heavy load

2018.1.9
--------

* Get next segment from NetworkSegment DB
* Removed creation of INTERNAL-TENANT-ID
* Create network when project\_id is an empty string
* Add .zuul.yaml

2018.1.8
--------

* Correct case of ERR\_CVX\_NOT\_LEADER
* Use immediateload for loading rules attribute

2018.1.7
--------

* OpenDev Migration Patch

2018.1.6
--------

* Filter segments for network\_id with empty project\_id

2018.1.5
--------

* Return networks with non-empty project\_id
* Add another test mech driver for scale simulation

2018.1.4
--------

* Ensure arista\_vlan type driver has correct network\_vlan\_range
* Only create SVIs for router\_interface ports in sync worker

2018.1.3
--------

* Make protected\_vlans valid range inclusive

2018.1.2
--------

* Add ability to cleanup L3 resources

2018.1.1
--------

* Allow arista\_vlan type driver to startup when CVX is not reachable
* Fix a number of HA bugs
* Add a test driver to simulate running Neutron in HA deployments

2018.1.0
--------

* Add support for VRFs on MLAGs
* Make resource updates implicit
* Fixup the arista\_vlan type driver
* Another set of stability fixes for the driver rewrite
* Delete resources in reverse sync order
* Use original\_binding\_levels when current binding\_levels is not set
* A number of fixes for the driver rewrite
* use add\_worker() in plugin for consistency with other service plugins
* Remove remaining portion of NeutronNets in favor of calling core plugin
* Convert l3 sync thread to ServiceWorker
* Simplify base class to service worker
* Align baremetal EGRESS/INGRESS meaning with VM meaning
* Increase default command timeout
* Clear security group rules before adding new ones
* Update resource id mapping and add additional logging
* Pin tox to queens
* Cleanup Arista VLAN Type Driver
* Add support for trunks
* Cleanup Arista Security Group Support
* Pass resources from Arista Mech Driver to Sync Worker for provisioning
* Add ability to pass resources from mechanism driver to sync thread
* Cleanup port binding logic
* Cleanup synchronization
* Replace deprecated "auth\_uri" by "www\_authenticate\_uri"
* Unconditionally setting the authentication header
* use rpc Connection rather than create\_connection
* Update requirements to pull in latest neutron package
* use common agent topics from neutron-lib
* modify keystone spelling errors
* Updated from global requirements
* Change http link to https according to OpenStack website
* Updated from global requirements
* Query PortBindingLevel table for segments bind to a port
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Remove use of the arista\_provisioned\_vms table
* Remove use of the arista\_provisioned\_nets table
* Remove use of the arista\_provisioned\_tenants table
* Updated from global requirements
* Updated from global requirements
* Updated from global requirements
* Remove the EAPI rpc implementation
* Updated from global requirements
* Fix support for security groups on Port-Channels
* Throw error in Arista JSON API calls on error status code
* Revert "Remove the EAPI rpc implementation"
* Updated from global requirements
* Remove the EAPI rpc implementation
* Drop MANIFEST.in - it's not needed by pbr
* Updated from global requirements

2017.2.0
--------

* Handle errors in GETs gracefully
* enable trunk service plugin in devstack when using networking-arista
* modify ml2 dirver to support neutron trunk port & subport
* Updated from global requirements
* Use DEVICE\_ID\_RESERVED\_DHCP\_PORT constant defined in neutron-lib
* fix text conversion for python2/3
* Split arista\_ml2 into separate files for sync and RPC wrappers
* Removed registration of keystone authentication with CVX
* Updated from global requirements
* Bind ports using physnet provided by higher level drivers
* Updated from global requirements
* Move Sync Thread to ML2 worker process
* use service type constants from neutron\_lib plugins
* Update get\_physical\_network with the latest change to topology
* Updated from global requirements
* oslo-incubator is not used anymore
* Make the JSON API the default CVX endpoint
* Updated from global requirements
* migrate neutron.plugins.ml2.driver\_api imports to neutron\_lib
* Migrate neutron.db.api imports to neutron\_lib.db.api
* Remove usage of Neutron's MechanismDriverError
* Migrate neutron plugin constant imports to neutron-lib
* migrate imports for neutron.callbacks.\* to neutron\_lib
* Change log level from info to debug
* Add port to database with supported device\_owner
* Treat MLAG pairs as a single physical network
* Use only 'binding:host\_id' to detect port migration
* Updated from global requirements
* Updated from global requirements
* Use vnic\_type to determine whether a port is baremetal
* Updated from global requirements
* Updated from global requirements
* Handle portbindings with no local\_link\_information gracefully
* Updated from global requirements
* Fix ml2\_conf\_arista.ini installation
* Implement method for RBAC policy changes
* Add call to the directory add\_plugin method
* Updated from global requirements
* Updated from global requirements
* Flush transactions to ensure data is present in the database
* Update classifiers for Python 3 support
* Sync from global requirements
* Enable Python3.5 support
* Capture to ensure CVX error is logged
* Capture and ensure LOG.exception output
* Add cfg.CONF.import\_group() to document option dependencies
* Use identity v3 api
* oslo.config will begin to enfore types in a future version
* Add unordered list wrapper to help with validating mocked calls
* remove H302 pep8 exception
* Update get\_session() calls to get\_(reader|writer)\_session
* Provide a return\_value for get\_region\_updated\_time mock
* Add explicit check for rpc is not None
* Clear out ml2\_vlan\_allocations if CVX has no VLAN pool configured
* Remove external dependency on jsonrpclib
* Fail VLAN allocations from outside the assigned range

2017.1.0
--------

* Only send managed segments to CVX as part of port update
* Add a manage\_fabric configuration option
* Use neutron-lib portbindings api-def
* Handling dhcp port migration
* Removed unneeded segments setting in non-HPB case
* Replace jsonrpclib with jsonrpc\_requests module
* Correction for importing context module
* Stop passing sessions from mech\_arista to db\_lib
* Bump minimum requirements to match Ocata
* Fix VlanAllocation import
* LOG marker mismatch in arista\_ml2.py
* Fix for segments info in delete\_network\_segments
* Copying the config file to ml2 plugin directory
* Fix setting dynamic flag for each segment in list
* neutron-lib: use L3 constant from neutron-lib
* Change passing session to context in segments db functions
* default ARISTA\_REGION\_NAME to REGION\_NAME
* Fixed Arista VLAN type driver initialization
* Don't include openstack/common in flake8 exclude list
* Adding all config options to devstack plugin

2016.2.0
--------

* Calling delete\_network\_segments instead
* Importing db from neutron\_lib
* Fixed a bug in segment creation and deletion
* Fix regression when flat networks were created
* Fixed a bug in unplugging baremetal ports
* Adding JSON support for HPB, DVR and Baremetal
* Migrated neutron constants to neutron-lib for l3 plugin
* Redact keystone password from logs in arista\_ml2
* Remove reference to neutron.db
* use LOG.warning instead of LOG.warn
* Remove reference to neutron.i18n
* Migrate Neutron constant and exception references to neutron-lib
* Add devstack plugin support
* Move neutron include to tox.ini file
* Support of HPB in Arista Mechanism Driver
* Add support constraining requirements to match upstream
* Revert "Redact keystone password from logs in arista\_ml2"
* Redact keystone password from logs in arista\_ml2
* Fixed incorrect cli command for sync heartbeat
* Do not fail initialization when EOS not available
* Fix typo in etc/ml2\_conf\_arista.ini
* Updating L3 plugin to accomodate upstream changes
* Make feature checks abstract methods
* Fix sending the sync name
* Obscure passwords in log files
* Allow empty fields for Keystone
* Fix current\_sync\_name
* Have the ML2 plugin use EOS' OpenStack JSON API
* TrivialFix: Clean imports in code
* Temporary workaround to project id migration
* Removed cli command check in sync to fix CVX publication issue
* Enable DeprecationWarning in test environments
* Adding Ironic Support

2016.1.0
--------

* Adding DVR support
* Do not delete a network with ports attached to it
* Fixing L3 Plugin to match with upstream change
* Added the arista\_vlan type driver
* Fix L3 plugin to match with upstream
* Check that shared networks are VLAN networks before in Arista ML2
* Fixed typos in arista\_l3\_driver.py
* Fix error handling to handle invalid URL, response
* Enabling creation of unattached ports
* Ensuring that the response contains 'errors' key
* Use requests library instead of jsonrpclib

2015.2.0
--------

* Adding database migration scripts
* Use auth\_uri in when set
* Adding support for multiple EOS instances
* Supporting neutron HA
* Using 'INTERNAL-TENANT-ID' as the network owner
* Fixed HA router network cleanup
* Fix a spelling typo in error message
* Change ignore-errors to ignore\_errors
* Fix port creation on shared networks
* Removing unused dependency: discover
* Migration of Arista drivers from neutron to here
* Fixing for transition from stackforge to openstack
* Fix unit tests
* Updating pbr in requirements to reflect neutron's requirements
* Adding an API to update the host id of a VM
* Bumping the package version for Master to 2015.2
* Adding jsonrpclib to requirements.txt
* Added missing jsonrpclib dependency

2015.1.3
--------

* Moving Neutron dependency
* Arista L3 Service Plugin decomposition
* Migrate to oslo.log
* Fixes sync between Arista ML2 driver and EOS
* Updated the package version
* Moving Arista ML2 driver from neutron tree
* Fixing README.rst to point to correct repo for this project
* Initial Setup of the base project for networking-arista drivers
* Added .gitreview
