V1.10.1
What's Changed
Major changes
- Drop support for Python 3.5.
- Drop support for VM/Raspbian faucet images.
- Build apt packages for more distros and architectures, see Installation on Debian/Raspbian/Raspberry Pi OS and Ubuntu for more information.
- Upgrade docker base image to Alpine 3.14.
Note: 32 bit ARM devices (armhf/armv7) will require Docker version 19.03.9 or newer and libseccomp version 2.42 or newer. See #3853 for more information. - Change yaml parser from PyYAML to ruamel.yaml.
Note: This will cause faucet/gauge to parse configuration files as YAML 1.2 instead of 1.1. See Differences with PyYAML for more information. - Migrate underlying OpenFlow library from ryu to os-ken.
Note: some faucet command line options may no longer be available, test before upgrading.
Bug fixes
- Ensure VLAN MACs are always configured the same way, for comparison. by @anarkiwi in #3879
- Process current port status on DP connect by @mwutzke in #3878
- interface vlan can be an int or string. by @anarkiwi in #3926
Improvements
- Debian packaging updates by @gizmoguy in #3988
- Only run release CIs if tag format is correct. by @gizmoguy in #3877
- migrate to ruamel.yaml. by @anarkiwi in #3977
- Fix up rabbitmq example for pylint and newer pika by @cglewis in #3894
- Monkey patch refactoring by @mwutzke in #3919
- Remove python 3.5 support. by @gizmoguy in #3958
- use python3 base image for adapter docker images; fix up golang changes by @cglewis in #3986
- Remove faucet VM image and raspbian image builds by @gizmoguy in #3973
- switch from ryu to os_ken. by @anarkiwi in #3975
Documentation changes
- Documentation updates by @mwutzke in #3888
- Add some more projects to our documentation by @gizmoguy in #3902
- Update to newer Open vSwitch apt repo. by @gizmoguy in #3903
- Add documentation on what distro versions/architectures we support. by @gizmoguy in #3991
Test improvements
- prevent potential for path traversal and pylint by @cglewis in #3876
- Send LLDP/CDP frames on 'veth' interfaces by @mwutzke in #3893
- clib: speed up integration test execution by @mwutzke in #3895
- localtest updates for current docker usage by @mwutzke in #3917
- tests: 802.1X successes should be real real successes by @mwutzke in #3923
- Use a single Faucet instance for FaucetUntaggedMaxHostsTest (#3925) by @mwutzke in #3927
- pre_start_net() updates by @mwutzke in #3931
- Ensure 'tcpdump's are terminated by @mwutzke in #3934
- Better co-ordination of multiple controllers by @mwutzke in #3933
- Update DHCP server/client support for tests by @mwutzke in #3935
- Improve debug output from test suite when a test fails because of an unhealthy controller by @gizmoguy in #3949
- Allow non-root users to read test suite output directory. by @gizmoguy in #3952
Lint improvements
- lint yaml files and add linter to test workflows by @cglewis in #3875
- Improve pylint score by @cglewis in #3885
- Improve pylint score by @cglewis in #3891
- Simple cleanups by @mwutzke in #3890
- CodeCheck - part 1 by @mwutzke in #3896
- CodeCheck - Part2a by @mwutzke in #3905
- CodeCheck - Part2b by @mwutzke in #3907
- CodeCheck - Part2c by @mwutzke in #3909
- CodeCheck - Part2d by @mwutzke in #3910
- CodeCheck - Part3a by @mwutzke in #3913
- CodeCheck - Part3b by @mwutzke in #3914
- CodeCheck - Part4 by @mwutzke in #3915
- CodeCheck - Part5 by @mwutzke in #3918
- Remove 'pep8' linter by @mwutzke in #3899
- py3k changes by @mwutzke in #3900
- pylint: part-1 by @mwutzke in #3924
- pylint: part-2 by @mwutzke in #3928
- pylint: part-3 by @mwutzke in #3929
- pylint: part-4 by @mwutzke in #3930
- pylint: part-5 by @mwutzke in #3936
- pylint: part-6 by @mwutzke in #3938
- pylint: part-7 by @mwutzke in #3939
- set encoding utf-8. by @anarkiwi in #3942
- use f-strings for pylint by @cglewis in #3947
Python dependency updates
- DownRev Scapy to 2.4.4 (#3869) by @mwutzke in #3897
- Update dependency prometheus_client to v0.12.0 by @renovate in #3819
- Update dependency exabgp to v4.2.16 by @renovate in #3956
- Update dependency sphinx to v4.3.1 by @renovate in #3980
- Update dependency sphinx_rtd_theme to v1 by @renovate in #3945
- Update dependency sphinxcontrib-svg2pdfconverter to v1.2.0 by @renovate in #3967
- Update dependency flake8 to v4 by @renovate in #3955
- Update dependency pytype to v2021.11.29 by @renovate in #3981
- Update dependency pylint to v2.12.2 by @renovate in #3990
Docker image updates
- Update faucet/python3 Docker tag to v6 by @renovate in #3983
- Alpine 3.14
- Update faucet/test-base Docker tag to v9.0.2 by @renovate in #3989
- Open vSwitch 2.16.1
- Update prom/prometheus Docker tag to v2.31.1 by @renovate in #3932
- Update grafana/grafana Docker tag to v8.3.1. by @gizmoguy in #3992
- Update influxdb Docker tag to v2.1 by @renovate in #3966
GitHub action changes
- Update actions/checkout action to v2 by @renovate in #3883
- Update codecov/codecov-action action to v2 by @renovate in #3880
Full Changelog: 1.9.55...1.10.1