Skip to content

Releases: larsid/fogbed

v1.3.0

22 Oct 02:19
23e0e4e

Choose a tag to compare

Fogbed v1.3.0 - Release Notes

🎉 What's New

✨ Support for Ubuntu 22.04 and 24.04

Version 1.3.0 now offers official support for Ubuntu 22.04 and Ubuntu 24.04, while maintaining compatibility with Ubuntu 20.04. This update was necessary due to changes in Python package management in newer Ubuntu versions, which impacted Containernet installation.

🚀 Simplified Installation with Automated Script

We've introduced the new install-fogbed.sh script that completely automates the installation process. You can now install Fogbed and all its dependencies with a single command:

wget https://raw.githubusercontent.com/larsid/fogbed/main/install-fogbed.sh && chmod +x install-fogbed.sh && sudo ./install-fogbed.sh

The script automatically manages:

  • Installation of system dependencies (Git, Ansible, Python, network tools)
  • Creation of Python virtual environment at /opt/fogbed/venv
  • Containernet installation via Ansible
  • Configuration of system commands (fogbed and mn)
  • Optional systemd service configuration for worker nodes

📚 Completely Revamped Documentation

The README.md and online documentation have been completely rewritten to provide:

  • Clearer and more detailed installation instructions
  • Documentation of the 6 steps performed by the installation script
  • Updated usage examples
  • Links to related projects (Mininet and Containernet)

🔧 Simplified fogbed run Command

Running experiments is now more intuitive. Instead of:

sudo python3 tests/local.py

Simply use:

fogbed run tests/local.py

🔄 Technical Changes

Refactoring for Virtual Environments

To ensure compatibility with Ubuntu 22.04 and 24.04, Fogbed now uses Python virtual environments (venv). This isolates dependencies and prevents conflicts with system packages.

New Helper Functions

Helper functions have been added to fogbed/helpers.py:

  • get_os_version(): Automatically detects the Ubuntu version
  • run_pip_install(): Manages package installation according to OS version
  • run_python_file(): Executes Python scripts with the correct interpreter

Dependency Updates

  • clusternet: Updated from >= 0.9.2 to >= 0.9.3

📝 Modified Files

File Changes
pyproject.toml Version updated to 1.3.0, expanded description, new clusternet dependency
README.md Rewritten with new installation instructions
install-fogbed.sh New file - Automated installation script (200 lines)
fogbed/helpers.py Added helper functions for OS detection
fogbed/scripts.py Refactored to use dynamic paths and virtual environments
docs/index.md Updated with instructions for Ubuntu 22.04+
tests/*.py Comments updated with new execution command

🔗 Compatibility

  • Backward compatible: Ubuntu 20.04 remains fully supported
  • New platforms: Ubuntu 22.04 and 24.04 now officially supported
  • No breaking changes: Existing code continues to work normally

👥 Contributors

This version was developed by:

  • EsauM10 - Implementation of Ubuntu 22.04/24.04 support and refactoring
  • Antonio Coutinho - Automated installation script and documentation improvements

📦 Installation

Automatic Installation (Recommended)

wget https://raw.githubusercontent.com/larsid/fogbed/main/install-fogbed.sh && chmod +x install-fogbed.sh && sudo ./install-fogbed.sh

Manual Installation (Ubuntu 22.04+)

# Create and activate virtual environment
python3 -m venv venv
source venv/bin/activate

# Install Fogbed
pip install fogbed

# Install Containernet
fogbed install

Installation Script Options

Parameter Description
(none) Executes complete installation
-remove Removes Fogbed installation
-systemd-disabled Installs without configuring systemd service
-h, --help Displays help

🐛 Bug Fixes

  • Fixed example file paths in documentation
  • Adjusted Containernet download to user's home directory
  • Fixed installation issues in environments with newer setuptools

📊 Statistics

  • Total commits: 36
  • Files modified: 13
  • Lines added: 326
  • Lines removed: 41
  • Development period: 05/03/2025 to 10/21/2025

🔗 Useful Links


Note: This is a recommended update for all users. If you are using Ubuntu 22.04 or 24.04, this version is essential for Fogbed to function correctly.

Add command to install Containernet

20 Apr 04:17

Choose a tag to compare

This release introduces three new commands that are useful in the context of Fogbed:

  • fogbed install - Install Containernet.
  • fogbed run - You can now run topologies from .py or .yml files without needing to use sudo directly.
  • fogbed worker - This serves as a simpler shortcut for the clusternet sudo RunWorker command.

Support for customizing links

18 Apr 04:07

Choose a tag to compare

This release introduces support for a new property, link_params, in Container definitions. The goal is to enable fine-grained control over the link characteristics between an instance’s internal switch and its associated containers.

Add metrics monitoring support

05 Feb 17:30

Choose a tag to compare

First release on Python Package Index