Releases: larsid/fogbed
v1.3.0
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.shThe 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 (
fogbedandmn) - 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.pySimply 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 versionrun_pip_install(): Manages package installation according to OS versionrun_python_file(): Executes Python scripts with the correct interpreter
Dependency Updates
- clusternet: Updated from
>= 0.9.2to>= 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.shManual 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 installInstallation 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
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.pyor.ymlfiles without needing to usesudodirectly.fogbed worker- This serves as a simpler shortcut for the clusternetsudo RunWorkercommand.
Support for customizing links
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
First release on Python Package Index