CHANGES
=======

15.2.0
------

* Revert "Updating sriov\_config.service to run before driverctl.slice and network-pre"
* For linux bond over VFs, disable spoofcheck by default
* Adding steering\_mode config to sriov\_pf object
* Use Python3 yoga unit tests
* ovs-dpdk: Add support for n\_rxq\_desc and n\_txq\_desc
* Fix log message related to pkey\_id
* The default max/min tx rates shall not halt deployment
* Notify the need for overriding the default driver for Mellanox NIC
* vDPA support for CentOS9
* Moving is\_mellanox\_interface to common
* Adding logging to file
* Add ifcfg-\* scripts on boot for Mellanox NIC interface
* Change the pkey\_id type from string to int

15.1.0
------

* Drop six
* Drop unused requirements
* Updating sriov\_config.service to run before driverctl.slice and network-pre
* Update sriov config service to handle nic partitioned PF
* Allow linux tap to use routes
* allow vhost0 to pass list of members
* Replace deprecated import of ABCs from collections
* vdpa: Introducing the vdpa PF flag
* sriov\_config: light refactoring
* Avoid creating multiple entries of udev rules

15.0.0
------

* Add Python3 xena unit tests
* Update master for stable/wallaby
* setup.cfg: Replace dashes with underscores

14.1.0
------

* Updating sriov\_config service to run after openibd service
* Write complete os-net-config examples
* Document os-net-config YAML format
* Refresh README.rst, expand usage.rst

14.0.0
------

* Check to ensure active DPDK NICs only mapped once
* basic support for Linux tap devices
* Exclude DPDK mapped VF device even if not present
* Wire up new tripleo upgrades jobs template
* Support binding VFs after moving to switchdev
* Fixing the dependency for sriov\_config service
* Replace deprecated UPPER\_CONSTRAINTS\_FILE variable
* Add Python3 wallaby unit tests
* Update master for stable/victoria

13.0.0
------

* Migrate to content provider jobs/templates
* Enable smfs software steering when switchdev is enabled

12.6.0
------

* Bump hacking min version to 3.0.1

12.5.0
------

* Add NIC Partitioning support for Mellanox VFs
* Avoid openvswitch restarts during re-run

12.4.0
------

* Switch from unittest2 compat methods to Python 3.x methods
* Set OVSBOOTPROTO to dhcp when using dhcpv6 with OVS
* Missing document start "---"
* Switch to newer openstackdocstheme and reno versions
* Add Python3 victoria unit tests
* Update master for stable/ussuri
* Add support for python 3.8

12.3.0
------

* Skip VFs configured for DPDKs during NIC ordering
* Retries are attempted if VF configuration fails
* Cleanup py27 support
* Run ifup on a bond when a slave interface is restarted

12.2.0
------

* SRIOV VF: Add min\_tx\_rate and max\_tx\_rate
* Use unittest.mock instead of third part mock
* Enable new routing rules on the fly without restarting interfaces
* Adding IPoIB child interfaces to the os-net-config
* We need to use the MAC instead of PCI Address for Mellanox cards

12.1.0
------

* Allow linux\_team in ovs\_bridge
* Using tempfile instead of fixed path in unit tests

12.0.0
------

* Adding testcases for sriov\_config
* Cleanup the sriov\_numvfs config scripts
* Stop testing python2.7
* Switch to Ussuri jobs
* Update master for stable/train
* setup.cfg: Cleanup

11.3.0
------

* Add linkdelay option
* Fix usage of oneOf keyword in schema

11.2.0
------

* fix missing shared\_block for PF interface in switchdev bond connected to ovs
* Numvfs setting during update/upgrade
* Blacklist sphinx 2.1.0 (autodoc bug)
* Avoid driverctl run if the driver is already bound
* Add ETHTOOL\_OPTS support for LinuxBond class

11.1.0
------

* ifdown does not work if no ifcfg file exist
* Add Python 3 Train unit tests
* Moving insignificant messages from error to warning in sriov\_config.py
* Restructuring the method of vf-representor renaming
* Fixed the false InvalidConfigException for vfid=0
* Fix handling of SR-IOV PF routes
* [FUP] Update sriov\_pf.yaml samle with ethtool\_opt

11.0.0
------

* Unify ethtool options logic
* Add support for ethtool options for sriov\_pf ports
* Add missing unit-test for IbInterface ethtool opts
* Publish documents
* Update docs testing
* Replace git.openstack.org URLs with opendev.org URLs
* Modify udev rule for VF representor rename
* Add upper constraints to tox
* Uncap jsonschema
* OpenDev Migration Patch
* Update master for stable/stein
* Add ability to specify multiple search domains
* Update master for stable/stein

10.4.0
------

* Add ovs\_options and ovs\_extra parameters to VLAN object
* Adding a udev rule to rename the vf representors
* Adding a udev rule to save sriov interface name before configuring switchdev
* Adding pci address in SRIOV config
* Replace use\_dhcp6 with use\_dhcpv6
* Removing the warnings generated due to yaml.load()

10.3.0
------

* Fix os-net-config interface restarts when applying routes
* Configure switchdev mode in SR-IOV in os-net-config
* Allow adding sriov\_pf over ovs\_bridge, linux\_bond and ovs\_bond
* Enable setting domain parameter for interfaces
* Change python3.5 job to python3.7 job on Stein+
* Checking correct flag to add rules to bridges
* Add Policy Based Routing Support to os-net-config
* Updating requirements for pyudev
* Update hacking version to latest

10.2.0
------

* Drop baremetal job template
* NIC Partitioning works with NM enabled
* Sample templates for linux\_bond, ovs\_bond, dpdkbond using VFs
* NIC-Partitioning: DPDK devices comes up properly after reboot
* Change openstack-dev to openstack-discuss
* Fix - restart VLAN interface on underlying device change
* Fix incorrect application of 'ip' commands for bridges
* Fix link in HACKING.rst
* Replacing the link in HACKING.rst
* Apply IP/netmask/route/MTU changes without bouncing interfaces
* Update min tox version to 2.0

10.1.0
------

* Retry ovs-appctl command
* Don't quote {posargs} in tox.ini
* Allow list\_of\_routes to be [] in config

10.0.0
------

* Restart ivs/nvfswitch after config file is updated
* Cleanup zuul.d/layout.yaml
* Replace coremask with cpu\_list in vrouter schema
* Update reno for stable/rocky
* add python 3.6 unit test job
* add python 3.6 unit test job
* switch documentation job to new PTI
* import zuul job settings from project-config

9.2.0
-----

* Fix numbered NIC mapping when using dotted VLAN notation

9.1.0
-----

* Stub out check for OVS installed to avoid failing tests
* Add check for OVS for objects that require it
* Switch to stestr
* Add default VF configs for ovs and ovs\_user bridges
* Add sriov\_vf type as member of ovs\_dpdk\_port
* Adding VLAN support and other configs for sriov\_vf
* Route object - add support for neutrons Route schema
* Syncing the requirements
* vlan and linux\_bond members for contrail vrouter
* Add release note link in README
* Restore the order of params in ifcfg file that was inadvertently changed
* fix tox python3 overrides

9.0.0
-----

* fix a typo on bond\_mapped.yaml
* Don't restart ivs/nfvswitch in os-net-config
* Adding ethtool command after binding dpdk drivers in Mellanox nics
* Remove mox usage
* Update reno for stable/queens
* Update links in README

8.3.0
-----

* Provided the absolute path of sriov\_config service
* ifcfg: don't restart ovs if --no-activate is specified
* Adding the class and mac approach as dpdk-devargs in mellanox ConnectX-3
* Add network objects sriov\_vf and sriov\_pf
* Revert "Update reno for stable/queens"
* Update reno for stable/queens
* Zuul: Remove project name
* Modify reno structure for future stable branches

8.2.0
-----

* properly escape the release notes text
* Add releasenotes configuration
* Remove RH1 OVB jobs from configuration
* Use INFO log level for getting nics
* Only log that mapping file is in use if it's actually true

8.1.0
-----

* Migrate os-net-config to zuul v3 jobs
* Add support for VPP Bond

8.0.0
-----

* Fix licenses to be explicit with Apache 2.0
* Allow dns\_servers to be an empty array
* Add retry and timeout for VPP interface discovery
* Added driver option for Contrail DPDK
* Allow to pass more than two DNS while putting 2 DNS
* This patch adds initial support for the Contrail vRouter interface
* Add NIC Mapping Reporting Feature
* Delete controller for standalone OVS bridges
* Make onboot parameter for ifcfg configuration configurable

7.2.0
-----

* OvS 2.7 support - dpdk-devargs needs to provided for DPDK devices
* Update .coveragerc after the removal of respective directory
* Removes unnecessary utf-8 encoding
* There is no documentation for os-net-config
* Drop MANIFEST.in - it's not needed by pbr
* Update .gitignore
* Fix --noop being ignored for dhclient execution

7.1.0
-----

* Add schema-based config data validation
* Fix 'tox -e cover'
* Use os-net-config mapping file when interface in bond or bridge
* Multiqueue support for OvsDpdkBond
* MTU setting for OVSDpdkBond
* Continue bringing up interfaces even if one fails
* Configure multi-queue value for DPDK Port

7.0.0
-----

* Remove unused Babel setup
* Configure mtu value for DPDK port
* Removed vlan port on ovs\_user\_bridge in dpdk bond samples
* os\_net\_config should map nics that are down if nic is in mapping file

7.0.0.0b1
---------

* Fix coverage tox config
* Updated from global requirements
* Add support for VPP interface
* Correct the test code to remove 'pass' where it is not needed
* Handle bools-as-strings nm\_controlled values
* Allow setting NM\_CONTROLLED=yes in os-net-config ifcfg files
* Restart Openvswitch after adding DPDK ports
* Allow ovs\_extra to be specified as either a string or list
* Network service is failing with DPDK

6.0.0
-----

* Remove child members activation for OVS-DPDK bond
* Add check that ovs\_extra is passed as list
* Make os-net-config pass tox py3 tests
* Exclude SR-IOV VFs in the nic numbering
* H803 hacking have been deprecated
* Drop py33 support and add py35

6.0.0.0b2
---------

* Show team and repo badges on README
* Add support for enabling hotplug on interfaces
* Stop dhclient in os-net-config if interface not set for DHCP
* Add sample files for fail\_mode and ovs\_extra template

6.0.0.0b1
---------

* Add ovs\_fail\_mode option for OVS bridges
* Add support for name replacement in OVS\_EXTRA
* Add support for ethtool\_opts option
* Add route\_options parameter
* Open os-net-config for Ocata
* Add options attribute to NFVSwitch

5.0.0
-----

* Add mac address to the DPDK mapping file
* Fixed nic numbering issue of DPDK nics after the nic has bound
* Raise NotImplementedError instead of NotImplemented
* Cleanups and new unit test for IVS

5.0.0.0b3
---------

* Supporting numbered nics for DPDK Port and DPDK Bond
* Add support for OVS DPDK Bond
* Add support for OVS DPDK Bridge and Port
* Enhance and fix NIC mapping feature
* Fix Linux bond/slave ifup ordering
* Enable os-net-config to support and configure NFVSwitch
* Add adapter teaming support using teamd for ifcfg-systems
* Remove discover from test-requirements
* Add support for Infiniband interfaces

5.0.0.0b2
---------

* Make os-net-config idempotent with Linux bonds and MAC mapping
* Add support for OVS patch ports
* Add some debugging output to ordered\_active\_nics

5.0.0.0b1
---------

* Add support for OVS tunnels
* Add warning for no active nics
* Normalize operstate value for interfaces
* Fix typos

0.2.4
-----

* Use PEERDNS when no dns\_servers or use\_dhcp is provided
* Bump hacking in test-requirements.txt

0.2.3
-----

* Add MASTER=bond SLAVE=yes to linux bond interfaces
* Use interface operstate to determine nic status

0.2.2
-----

* Fix order-of-operations bug in os-net-config restart\_interfaces

0.2.1
-----


0.2.0
-----

* Add ability to set IPv6 routes in os-net-config templates
* Fix hierarchy for Linux Bonds and Linux Bridges
* Enable os\_net\_config to configure IVS

0.1.8
-----


0.1.7
-----

* Allow setting MTU to 1500
* launchpad bug 1537330, fix \_is\_active\_nic
* Use assertTrue/False instead of assertEqual(T/F)
* py26 is no longer supported by Infra's CI

0.1.6
-----

* ifcfg: add VLAN=yes when needed
* Added natural sort for interfaces in utils.ordered\_active\_nics()

0.1.5
-----

* Fix kwarg assignment in objects.py
* Add Linux Bridge capability to os-net-config ifcfg
* Add support for Linux Bonding to os-net-config ifcfg
* ifcfg: Add support for dns\_servers
* Change ignore-errors to ignore\_errors
* Support multiple addresses assignment with eni
* Support multiple addresses assignment with ifcfg
* os-net-config: ensure ifup is called just once
* Correct class comment for NetConfig
* Add --detailed-exit-codes
* Allow to specify the root directory of the filesystem
* Add support for dhclient\_args
* Automate selection of active bond slave
* Set primary interface on OVS bonds

0.1.4
-----

* Don't set OVSDHCPINTERFACES if bridge is static
* ifcfg: don't set VLAN=yes if is an ovs\_port
* Add NM\_CONTROLLED=no to each interface configuration
* Add 'eno\*' interfaces to embedded\_nics
* Add flag for DEFROUTE=no in ifcfg files to ignore DHCP gateway
* -v trumps -d on the CLI
* Mark ENI files as autogenerated

0.1.3
-----

* Enable renaming of interfaces without reboot

0.1.2
-----

* Add a --no-activate option to disable device up/down actions
* Refactor ifup/ifdown into base-class
* Refactor noop to enable logging of disabled operations
* Remove deprecated references to oslo-incubator
* Move noop flag to provider base-class
* Add a persist\_mapping option to the mapping file
* Add mapping option to influence nicN mapping order
* Strip trailing whitespace from yaml samples
* test\_cli add stderr/stdout sanity assertions
* Derive sample location from test file, not pwd
* Fix test\_cli exit code assertion
* Add sample and cli test for simple interface config

0.1.1
-----

* Correct the ENI provider name log statement
* Fix verbose/debug loglevels
* Workflow documentation is now in infra-manual
* If setting a default route, use default netmask
* Add a .gitreview file for os-net-config
* Update child\_members to use a Set

0.1.0
-----

* Correct the setup.cfg OS
* Move versioning into version.py
* Updated description in README.rst
* Minor updates to setup.cfg
* README.rst updates per yaml config changes
* ifcfg: restart child interfaces on updates
* Fix a few pep8 issues..
* Add ovs\_extra to some of the sample configs
* Don't log errors if files don't exists
* Add support for ovs\_extra
* A vlan on an OVS bridge doesn't require a device
* Correct the noop format for the eni provider
* Add support for parsing YAML
* Add nic1, nic2 naming abstraction
* ifcfg: Exclude ifcfg-lo from cleanup
* Correct add\_object call
* Docstring updates to NetConfig objects
* Add --cleanup, and impl for ifcfg
* Use underscores for provider function names
* Set the MAC to the primary interface
* Add configuration samples
* Use --noop instead of --mock
* Adds mock ability to the ENI and Ifcfg providers
* Uncomment the provider.apply call
* Add README example docs, etc
* Don't write 'None' to ifcfg route files
* Add logging to utils
* Add -d and -v options for logging level control
* Add logging to the eni provider
* Add logging to the ifcfg provider
* Add copyrights to files
* ENI: bring up bridges first on Debian
* ENI: enable 'auto' on bridges by default
* Update impl\_eni to set the MTU
* ifcfg: don't call set Interface for vlans..
* Add vlan support for the ENI implementation
* Update impl\_eni so it ifup's the interfaces
* ENI fixes for v4/v6 ips. DHCP test fixes
* Add os-net-config CLI
* Implement object json parsing functions
* Remove some extra print statements
* Add OvsBond object and impl for ifcfg format
* Consolidate OVS\_EXTRA for the vlan test
* Vlan object and support for ifcfg
* Initial commit for basic ENI Debian/Ubuntu network config
* Adds link to spec in the readme
* Add OvsBridge configuration support
* Implement apply for ifcfg implementation
* Import processutils from oslo-incubator
* Initial ifcfg implementation for interfaces/routes
* Add interface, address, and route objects
* Initial commit
