Releases: network-unit-testing-system/nuts
v3.4.0
Release Notes for Nuts 3.4.0
The latest version of NUTS, 3.4.0, adds a few bug fixes and the option to cache the inventory. This is now the default behavior and can be switched off by using --nornir-cache-disable
.
- Fix softprops/action-gh-release version by @ubaumann
- sort vlans before compare, fix #98 by @marcom4rtinez
- Fix docs by @marcom4rtinez
- Fix Nornir Config CLI option by @ubaumann
- Bump certifi from 2024.2.2 to 2024.7.4 by @dependabot
- Bump urllib3 from 2.2.1 to 2.2.2 by @dependabot
- Bump zipp from 3.19.0 to 3.19.1 by @dependabot
- ceos startup config test fails by @marcom4rtinez
- Add mock project to CI/CD by @ubaumann
- add regex by @marcom4rtinez
- add option to not cache the inventory by @marcom4rtinez
Full Changelog: v3.3.0...v3.4.0
Release Notes for Nuts 3.3.0
Release Notes for Nuts 3.3.0
The latest version, 3.3.0, introduces a new hook called "pytest_nuts_single_result" that allows users to customize test reports. For instance, it enables extending jUnit xunit1 reports with additional properties. You can find an illustrative example in the documentation.
- Fix: Add TestNapalmOnlyDefinedUsersExist to index by @ubaumann in (#79)
- Add exception chaining for Result validate exception by @ubaumann in (#82)
- Make TestNapalmBgpNeighbors and TestNapalmBgpNeighborsCount vrf aware by @ubaumann in (#81)
- Containerize to make it more accessible by @marcom4rtinez in (#85)
- Fix: readthedocsio by @marcom4rtinez in (#87)
- Fix: cicd by @marcom4rtinez in (#89)
- Teardown nornir connections after running task by @ubaumann in (#84)
- New: Add hook pytest_nuts_sigle_result by @ubaumann in (#94)
- Update dependencies to use NAPALM 5.0.0 by @ubaumann in (#95)
Full Changelog: v3.2.0...v3.3.0
Release Notes for Nuts 3.2.0
Release Notes for Nuts 3.2.0
The latest 3.2.0 release for Nuts supports a new feature "Unpack Grouped Tests". This feature allows you to specify groups
or tags
for the NornirContext tests instead of using host
.
Based on the filter result on Nornir inventory for each host a test is created.
- Add feature "Unpack Grouped Tests" (#65)
- Update (secutiry) dependencis (#72)
- Remove legacy project name Nettowel (#74)
- Removed @lucmurer as a maintainer, add @marcom4rtinez and @ubaumann
- Rename
master
branch intomain
git branch -m master main git fetch origin git branch -u origin/main main git remote set-head origin -a
Release Notes for Nuts 3.1.0
The latest 3.1.0 release for Nuts contains some new tests contributed by @marcom4rtinez and @sevigrimm, and fixes some security (dependency) issues.
- Add test bundle for ARP table testing (#57)
- Add test bundle for VLAN testing (#57, #29)
- Add test bundle for Config testing (startup vs. running config) (#57)
- Add count tests for CDP/LLDP neighbors (#57)
- Add existence test for network instances to network instance test bundle (#57)
- Fix some dependency-security issues (#56)
- Removed @bytinbit as a maintainer
Release Notes for Nuts 3.0.2
The latest 3.0.2 release for Nuts contains mainly fixes to the core and improvements to the documentation.
- Add @lucmurer to the project maintainers (#42)
- Add some diagrams describing the data flow through NUTS (#12)
- Add more self-tests (#15, #16)
- Refactor: Move implementation of method
nornir_filter()
up toNornirNutsContext
(#51) - Fix several type annotations (#18)
- Fix several dependency issues (#14, #43)
Further upcoming Changes:
Release Notes for Nuts 3.0.1
The latest 3.0.1 release for nuts revamps its core and self-tests. Changes:
- Added short development documentation to help you write your own tests.
- Self-tests refactored, added integration tests for test bundles.
- Migrated from
testdir
topytester
in self-tests. - Improved error-handling. Previously, all errors thrown by nuts had been subsumed in a
NutsResult
, which made debugging difficult. Now errors that are not related to the information gathering process are clearly visible and allow for better error reporting and debugging. single_result
fixture refactored. A newAbstractResultExtractor
class now takes care of transforming the gathered, raw data into a structure used by the test classes. The new structure also simplifies using the customnuts
pytest marker.- Improvements in project management.
- Set-up release pipeline
Planned for release 3.0.2:
- Add more integration tests for "bad" results
- Add API documentation
Release Notes for Nuts 3.0.0
Nuts 3.0.0 is a completely new version of nuts, rewritten from scratch and not compatible with earlier versions of nuts. Nuts 3.0.0. is designed as a pytest-plugin to run tests and uses nornir to interact with a network in the background. It requires python 3.7 and above. In case you wonder where version 2.0.0 went: Nuts 2 was a study project written in spring 2020, which used nornir, but not pytest to conduct tests.
Features of nuts 3.0.0
- Write test bundles as yaml files that contain a desired state of the network. Nuts comes with a basic set of test definitions - see the documentation for details. Nuts then checks the desired state against the actual state of the network using pytest.
- Enhance nuts: Nuts is designed as pytest plugin. You can write your own, custom test definitions and test bundles to suit your specific needs. Note: It is currently not supported (but nevertheless possible), since future releases might introduce breaking changes.
- If you write your own test definitions/test classes and want to share it with the community, feel free to contact the developers and they will happily link to it in the repo readme.
Planned for 3.0.1
- Improve error handling - the current implementation has an opaque error handling and is not really informative or helpful.
- Refactor self-tests - the current self-tests are hard to read for non-devs and must be improved.
Planned for 4.0.0 (aka the far future)
Nuts is deeply intertwined with pytest to create test classes out of the yaml file. It digs deep into pytest to use its functionalities without really committing to pytest. It smells of future problems with project growth. Version 4 will try to solve that, but this may also introduce breaking changes.
v3.0.0-alpha-1
NUTS has been completely rewritten and now released in a very early version: Nuts 3 uses pytest and nornir to perform network configuration checks against a real network.
Initial code is by @MatthiasGabriel, @ubaumann and @bytinbit, the project is now maintained by @bytinbit.
Many thanks to @The-Compiler who provided invaluable feedback.
Please note that this repository here is a mirror of another repo.
Nuts v1.2.1
Fixed
- Rename testSchema.yaml to test_schema.py