Kathara Versions Save

A lightweight container-based network emulation system.

3.7.5

2 weeks ago
  • (Docker) Fix rp_filter issue on all platforms and Docker versions (#278)
  • (Docker) Fix Docker API objects reloading (#285)
  • Minor fixes (#284)

⚠️ NOTE: Differently from version 3.7.4, the new version is compatible with any Docker version.

Contributors: @tcaiazzi @Skazza94

3.7.4

1 month ago
  • (Docker) Fix rp_filter on eth0 that was causing startup errors on some distributions (#278) (thanks to @whatever4711)
  • (Megalos) Fix watch methods while starting/stopping devices that were causing lstart/lclean to hang indefinitely (#277)
  • Minor fixes

⚠️ WARNING! Update to this version only AFTER updating Docker Engine to v26.0.0!

Contributors: @whatever4711 @Skazza94 @tcaiazzi

3.7.3

1 month ago
  • New CLI UI using rich library! (#269)
  • (Docker) Show progress during Docker image pull (#267)
    • Similarly to the official docker pull command
  • (Docker) It is now correctly possible to specify a linux/amd64 image on Apple Silicon (#268)
    • They can be run using Rosetta
  • Add gnome-terminal as official supported terminal emulator (#264)
  • Several API improvements and bug fixes (#271)

Contributors: @tcaiazzi @Skazza94

3.7.1

4 months ago
  • It is now possible to specify a MAC Address for a network interface (#137)
    • The MAC Address can be specified in the lab.conf and using the vstart/lstart/vconfig/lconfig commands when declaring an interface. The syntax is <COLLISION_DOMAIN>/<MAC_ADDRESS>.
    • For example, in a lab.conf file: machine[0]="A/00:00:00:00:00:01".
  • (Docker) Collision domains are now created per-network-scenario by default (#256)
    • Previously, they were shared between different scenarios. It is possible to change the default behaviour from kathara settings.
  • (Docker) If a .shutdown file is present in the network scenario, Kathará now correctly waits for the script termination before removing the container (#255)
  • Several fixes of lconfig and vconfig commands (#252)
  • Add lab object parameter to all Manager methods (#254)
    • Methods now correctly check if only one of the parameters between lab_hash, lab_name, and lab is passed.
  • Minor fixes and improvements (#257 #258 #259 #261)

Contributors: @tcaiazzi @Skazza94

3.7.0

7 months ago
  • Add support for the new Kathará Network Plugin based on VDE software switches. It is possible to select the legacy Network Plugin (based on Linux Bridges) from kathara settings (#241)
  • Switch the default image to kathara/base for new installations (#243)
  • Fix Docker images fetching in kathara settings with new Docker Hub API format (#244)

Contributors: @Skazza94 @tcaiazzi

3.6.3

9 months ago
  • Use chardet to parse all byte strings in order to correctly encode non-UTF8 characters (#208)
  • Wait for startup commands execution while opening a connection to a device (the wait can be overridden by pressing [ENTER]) (#209)
  • Keep correct folders/files permissions when copying files inside the device
  • Fix sysctl metadata parsing for negative values (#226)
  • Fix machine.is_ipv6_enabled() method to correctly follow priority of ipv6 meta (#227)
  • Rename startup_commands meta to exec_commands to avoid ambiguity with .startup files (#228)
  • Add new helper methods to model.Lab (#229)
  • Minor fixes
  • Add Homebrew tap for installing Kathará on macOS

Contributors: @Skazza94 @tcaiazzi @lorenzo93

3.6.2

10 months ago
  • Add a warning message if a meta is assigned more than once on the same device (#219)
  • Add support for Docker images tags in kathara settings (#218)
  • Fix Python FilesystemMixin APIs for file modifications (#220)
  • Fix error message in Lab.new_machine() (#221)
  • Fix Docker api_object reload in Machine when disconnecting an existing link at runtime (#224)
  • ⚠️ DEPRECATION WARNING: End of support for Ubuntu Bionic (18.04 LTS). Starting from this Release, the package will not be updated anymore.
  • ⚠️ DEPRECATION WARNING: End of support for Ubuntu Kinetic (22.04). Starting from next Release, the package will not be updated anymore.

Contributors: @Skazza94 @tcaiazzi

3.6.0

11 months ago
  • Add filesystem abstraction that allows Python users to manage network scenarios' files and configurations in memory, without requiring any underlying host filesystem (#205)
  • Add .toml setup file as requested by Python 3.11 specifications (#214)
  • Fix Quagga permissions that prevent from writing configurations inside vtysh (#212)
  • Fix deprecation Warnings of libtmux (#207, thanks to @whatever4711)
  • Add unit tests for CLI commands (#204)
  • Minor fixes (#203 and #206)
  • Add support to Ubuntu 23.04 (Lunar Lobster)

Contributors: @Skazza94 @whatever4711 @lorenzo93 @tcaiazzi

Full Changelog: https://github.com/KatharaFramework/Kathara/compare/3.5.5...3.6.0

3.5.5

1 year ago
  • Add support for Ubuntu 22.10 (Kinetic Kudu)
  • Bump dockerpy version to >= 6.0.1 and remove Windows patches for The pipe has been ended errors (#199)
  • (Docker) Raise a custom exception when a binary is not found in the container image (fix #190)
  • (Kubernetes) Return the control to the user only when all devices are started up or cleaned up (#195 #196 #197)
  • (Kubernetes) Fix possible VNI collisions by loading already deployed networks before creating new ones (fix #198)
  • Add --shared option to start commands that allows to mount shared folder, overriding the value defined in kathara.conf(#200)
  • Add --hosthome option to start commands that allows to mount home folder, overriding the value defined in kathara.conf (#200)

3.5.1

1 year ago
  • It is now possible to restart only specific devices using lrestart (fix #177)
  • Add possibility to disconnect a device from a collision domain using vconfig and lconfig commands (see man for further information) (#173)
  • Add check to ensure that required Docker images are compatible with the host architecture (fix #178)
  • More generic regular expression for device env meta (fix #168)
  • Network scenario hash is now computed from LAB_NAME meta, if present (fix #163)
  • Improve exceptions handling and better error descriptions (#179 #183)
  • Add several utility methods to the Kathara facade and model classes (#181)
  • Change pyuv dependency with the Python 3.10 compatible version (fix #182)
  • Commands inside a device are run with the shell specified in the shell meta, if defined (fix #186)
  • [Windows] Add workaround to fix the problem introduced in Docker Desktop 4.12.0 that prevents PowerShell to correctly open (fix #191)