Skip to content

Releases: aleph-im/aleph-vm

0.2.6 NFT Networking

25 May 10:18
@hoh hoh
Compare
Choose a tag to compare

0.2.6 NFT Networking

We are thrilled to announce the release of Aleph Compute Resource Nodes version 0.2.6! This update brings numerous improvements, bug fixes, and features that enhance the overall reliability and functionality of the project.

NFT in this context stands for nftables, not fancy tokens 😉.

Key highlights of this release include:

  • Support for Ubuntu 22.04 as a host system
  • Transition from iptables to nft, as iptables is now deprecated
  • The diagnostic checks on /status/check/fastapi now include new checks for DNS and IPv4 connectivity.
  • Enhanced network compliance by removing hardcoded IP ranges
  • Improved documentation and additional docstrings for methods
  • Various fixes to ensure error handling and network configurations are optimal
  • Improved CI with updated GitHub Actions version and job names

The new diagnostic checks will help node operators debugging configuration issues when setting up new nodes.

We would like to thank all the contributors for their valuable input in making this release possible. This version paves the way for more efficient and robust aleph.im Compute Resource Nodes and for new features in progress.

What's Changed

  • Fix: Remove hardcoded 172.0.0.0/8 range from use to comply with RFC1918 by @tomribbens in #247
  • Refactor: Move from iptables to nft as iptables is deprecated by @tomribbens in #250
  • doc: Add docstrings for /raise & /crash methods by @BjrInt in #251
  • Fix: Curl did not error when test failed. by @hoh in #254
  • Fix: Network route should not contain IP mask by @hoh in #260
  • Add requirements to support Docker in runtime by @hoh in #261
  • Fix: Some types were not coherent. by @hoh in #262
  • CI: Build packages and test droplet with Ubuntu 22.04 by @hoh in #268
  • Fix: Supervisor started without /dev/kvm by @hoh in #270
  • Fix: CI Ubuntu droplet fails due to apt already running. by @hoh in #272
  • Fix: Network configuration was little documented by @hoh in #273
  • Fix: dict.get does not take an argument named by @aliel in #277
  • Fix: GitHub actions failed on Ubuntu due to Grub by @hoh in #280
  • Fix: GitHub actions/checkout@v2 was deprecated by @hoh in #281
  • Fix: VM connector does not start when run locally by @odesenfans in #287
  • Fix: add nftables package to VM supervisor Dockerfile by @odesenfans in #288
  • Fix: Firecracker version in README is outdated by @odesenfans in #291
  • Doc: Info about filesystem paths was missing by @hoh in #296
  • Fix: MongoDB '_id' cannot be fetched from 0.5.0 by @hoh in #297
  • Fix: link to latest version in install guides by @odesenfans in #298
  • Fix: get_event_loop() was called without a running event loop by @hoh in #282
  • Exclude IPv6 DNS servers when configuring VMs by @odesenfans in #300
  • Chore: Update GitHub Actions version by @hoh in #301
  • Fix: CI failed due to apt lock being held by @hoh in #303
  • Cleanup: Format with black and isort by @hoh in #302
  • Internal: DB migration system by @hoh in #304
  • Fixed the virtual machine hostname that causes the virtual machine to… by @aliel in #283
  • Fix: support running migrations on existing CRNs by @odesenfans in #306
  • Better status for networking checks by @hoh in #299
  • Fix: Runtime and new example were not tested in CI by @hoh in #307
  • Fix: Job names were inprecise by @hoh in #311

Full Changelog: 0.2.5...0.2.6

New Contributors

How to upgrade

On Debian 11 (Bullseye):

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.6/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu 20.04 (Focal Fossa):

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.6/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

On Ubuntu 22.04 (Jammy Jellyfish):

rm -f /opt/aleph-vm.ubuntu-22.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.6/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

0.2.5 Support persistent VMs

06 Oct 20:58
@hoh hoh
Compare
Choose a tag to compare

This release includes many stability and bug fixes, and starts the support for running persistent virtual machines 🎉.

What's Changed

  • CI: Building example volume using Docker failed by @hoh in #217
  • Fix: Examples doc typos by @RezaRahemtola in #218
  • Fix: Network was depending on system logs print by @hoh in #216
  • Update README.md by @mrhouzlane in #219
  • Fix: Watching for updates could be started multiple times by @hoh in #215
  • Fix: Dockerfile relied on old version of Firecracker by @hoh in #228
  • Fix: Minor inconsistencies and improve logging by @hoh in #227
  • Cleanup: Remove code duplication using create_vm_execution by @hoh in #225
  • Internal: FilePath type can be replaced with pathlib.Path by @hoh in #223
  • Fix: Internal PubSub msubscribe failed by @hoh in #230
  • Feature: System resources were not exposed by @hoh in #224
  • Fix: Typo prevented stopping service on upgrade by @hoh in #233
  • Fix: Exceptions in coroutines were not logged by @hoh in #229
  • Cleanup: Code cleanup by @hoh in #240
  • Feature: VMs could not be persisted by @hoh in #241
  • Fix: Annotation was not supported by Python 3.8 by @hoh in #244

New Contributors

Full Changelog: 0.2.4...0.2.5

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.5/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.5/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.2.4 Bugfix release

27 Jul 08:55
@hoh hoh
Compare
Choose a tag to compare

What's Changed

  • Fix: Stability issues when checking crash handling in monitored endpoint by @hoh in #212

Full Changelog: 0.2.3...0.2.4

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.4/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.4/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.2.3 Close file descriptors

05 Jul 22:32
@hoh hoh
Compare
Choose a tag to compare

This release fixes issues that impacted release 0.2.2.

An increase in the number of VMs started and stopped caused file descriptors that were not closed upon VM shutdown to accumulate much faster and cause issues such as the error "Too many files open".

What's Changed

  • Fix: Pubsub subscribers did not get all relevant messages by @hoh in #208
  • Doc: Format of Caddy GPG is now armored, did not work anymore by @hoh in #205
  • Chore: Cleanup internal logging by @hoh in #209
  • Fix: VM config files were never closed by @hoh in #210
  • Fix: VM id counter values too high could cause issues in IP ranges by @hoh in #206
  • Fix: VM unix socket were never closed by @hoh in #207
  • Fix: Pubsub queues were not discarded after use by @hoh in #204

Full Changelog: 0.2.2...0.2.3

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.3/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.3/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.2.2 Updated internals

28 Jun 10:05
@hoh hoh
Compare
Choose a tag to compare

This release upgrades Firecracker to 1.1.0, the Linux Kernel to 5.10, and fixes bugs in the VM supervisor.

What's Changed

  • Doc: Use v 0.2.1 instead of 0.1.10 by @hoh in #188
  • Fix: Lib packaging was not added to Dockerfile by @hoh in #192
  • Fix: Concurrent requests could result in a different counter value by @hoh in #193
  • Chore: Update firecracker to 1.1.0 by @hoh in #203
  • Internal: Raise exception VmInitNotConnected when VM init cannot be reached by @hoh in #201
  • Fix: Settings with implicit annotations were not displayed by @hoh in #200
  • Fix: Recording VM usage crashed if process had stopped beforehand by @hoh in #198
  • Fix: A VM would not restart if the init process crashes by @hoh in #199
  • Chore: Update kernel to 5.10 by @hoh in #202

Full Changelog: 0.2.1...0.2.2

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.2/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.2/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.2.1 Stability matters

19 May 16:02
@hoh hoh
Compare
Choose a tag to compare

This minor release improves the stability of the software. The main visible change is the switch to use the Aleph Load Balancer with official Aleph nodes by default instead of the api2.aleph.im server. This improves the reliability of Compute Resource Nodes by providing multiple nodes to connect to.

Operators

  • Change: Use the load balancer instead of api2 by @hoh in #184
  • Feature: User could not easily access the current version of the software by @hoh in #180

Developers

  • Fix: Developer Dockerfile was obsolete and broken by @hoh in #172
  • Feature: Developer could not run custom command in container by @hoh in #171

Other changes

  • Fix: Cargo.toml file was missing from Rust example by @hoh in #175
  • Fix: Database access during benchmarks errored by @hoh in #173
  • Fix: Getting version from git crashed when git was missing or on shallow clone by @hoh in #170
  • [Doc] Fix typos by @odesenfans in #178
  • Fix: Users could not tell if redacted fields were empty by @hoh in #168
  • Fix: Incomplete file download could lead to inconsistent state by @hoh in #177
  • Fix: Process metrics crashed if process was already stopped by @hoh in #169
  • Fix and cleanup vm_connector by @hoh in #179
  • Fix: Response body requires bytes, was given str by @hoh in #182
  • Fix: AttributeError crashed VM teardown by @hoh in #183
  • Feature: Load balancer could not distinguish outdated supervisors by @hoh in #181
  • Internal: Enhance typing by @hoh in #185
  • Allow to run CI in a Droplet for nested virtualization by @hoh in #186
  • Fix: Software version could not be fetched from apt by @hoh in #187

Full Changelog: 0.2.0...0.2.1

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.1/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.1/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.2.0 Resource monitoring

31 Mar 09:55
@hoh hoh
Compare
Choose a tag to compare

This new release introduces the monitoring of the resources used by VMs, changes where files are stored on the system, and introduces multiple fixes and improvements.

Monitoring of VM resources

  • Feature: Record VM execution times and log details on files. by @hoh in #150

Execution times of VMs that stopped can be fetched on https://{host}/about/executions/records. Resource usage of running VMs can be fetched after authentication on https://{host}/about/executions.

Execution times are stored by default in /var/lib/aleph/vm/executions.sqlite3 (settings.EXECUTION_DATABASE).

Breaking changes

  • Aleph-VM files are now stored in /var/lib/aleph/vm:
    • /srv/jailer/var/lib/aleph/vm/jailer
    • /var/tmp/aleph/volumes/var/lib/aleph/vm/volumes
  • The supervisor cache moved from /tmp/aleph/vm_supervisor to /var/cache/aleph/vm
    3b0d93a

Other changes

  • Expose the version of aleph-vm in HTTP header server by @hoh in #151
  • Dependency: Upgrade Firecracker to v1.0.0 by @hoh in #159
  • Hoh small fixes by @hoh in #152
  • Problem: Developers had no easy way to know which Python dependencies to use by @hoh in #153
  • Build(deps): Bump psutil from 5.5.1 to 5.6.6 in /packaging by @dependabot in #156
  • Build(deps): Bump aiohttp from 3.6.2 to 3.7.4 in /packaging by @dependabot in #155
  • Cleanup: Remove unnecessary type annotations by @hoh in #154
  • Fix: Querying index with HTTP HEAD raised 500 due to AssertionError by @hoh in #149
  • Fix minor upgrade issues by @hoh in #157
  • Cleanup: Use black formatter by @hoh in #161
  • Hoh fix srv jailer by @hoh in #162
  • Fix: Package postrm/postinst failed if directory was missing by @hoh in #163

Full Changelog: 0.1.10...0.2.0

How to upgrade

First read the Breaking changes section above and adjust your customized system configuration if relevant.

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.0/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.2.0/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

0.1.10 Reliability fixes

16 Feb 11:25
@hoh hoh
Compare
Choose a tag to compare

In short

This minor release improves the reliability of the VM Supervisor and fixes some bugs.

We recommend everyone to upgrade.

New features

Operators can use the new setting SENTRY_DSN to configure the supervisor to report errors to a Sentry project (self-hosted or cloud).

How to upgrade

On Debian:

rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.1.10/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Ubuntu:

rm -f /opt/aleph-vm.ubuntu-20.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.1.10/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

What's Changed

  • Hoh fix teardown interfaces by @hoh in #131
  • Feature: Add support for error monitoring on Sentry by @hoh in #133
  • Fix: Unhandled error class during shutdown by @hoh in #135
  • [Doc] Fix typos by @odesenfans in #136
  • Fix: Users could not identify missing hash by @hoh in #146
  • Fix: VM resource seconds field was ignored by @hoh in #144
  • Fix: Sentry DSN appeared in clear in the logs by @hoh in #142
  • Doc: Package installation was difficult to follow by @hoh in #141
  • Fix: forget_vm called twice when VM init times out by @hoh in #138

New Contributors

Full Changelog: 0.1.9...0.1.10

Fix package upgrade

26 Jan 20:51
@hoh hoh
Compare
Choose a tag to compare

Upgrading a Debian package was erasing the settings configured by the administrator. This minor release fixes this issue.

What's Changed

  • Fix: Config file was overwritten on package upgrade by @hoh in #118

Full Changelog: 0.1.8...0.1.9

How to upgrade

On Debian 11, as root

wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.1.9/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-0.1.9.deb

On Ubuntu 20.04:

sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.1.9/aleph-vm.ubuntu-20.04.deb
sudo apt install /opt/aleph-vm.ubuntu-20.04.deb

Important fixes and smaller Debian packages

26 Jan 20:10
@hoh hoh
Compare
Choose a tag to compare

This is a release with important bug fixes and reliability issues, and improves the packaging operations.

The main issue this fixes is the "Too many open files" issue some operators encountered.
It also fixes reliability issues in persistent volumes that were not properly synced before the shutdown of the VM.

A test runtime rootfs is not included in the packages anymore, bringing package sizes back to an acceptable size of 13.5 MB instead of ~200 MB. Package version numbers are automatically generated from Git.

What's Changed

  • Fix: Redis connections were accumulating by @hoh in #111
  • Fix: A directory with the numerical id of the VM was not deleted by @hoh in #113
  • Feature: Admin could not distinguish guest_api among running processes by @hoh in #112
  • Internal: Package firecracker was not mounted in development container by @hoh in #114
  • Fix: VM were not properly shutdowm, persistent volumes could be corrupted by @hoh in #115
  • Feature: Publish artifacts from GH actions by @hoh in #117

Full Changelog: 0.1.7...0.1.8