Skip to content

Releases: aleph-im/aleph-vm

1.4.1

21 Feb 14:29
f3ef334
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.4.1 !

This new release of aleph-vm fixes bugs related to persistent executions, pricing, and network checks.

Bug Fixes

  • load_persistent_executions Start Error: Fixed a start error in the load_persistent_executions function. (PR #759)
  • Notify Endpoint Pricing: Resolved a pricing calculation issue on the /notify endpoint. (PR #758)
  • DiagnosticVM IPv4 Check: Fixed an issue in DiagnosticVM to force IPv4 connection on the /internet check. (PR #760)

Full List

  • Fix start error in load_persistent_executions by @olethanh in #759
  • Solve pricing calculation issue on Notify endpoint by @nesitor in #758
  • Fix DiagnosticVM, force ipv4 connexion on /internet check by @olethanh in #760

Full Changelog: 1.4.0...1.4.1

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

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

On Ubuntu 22.04 (Jammy Jellyfish):

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

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable GPU support (optional)

In order to enable GPU support on your Compute Resource Node, you must:

  1. Ensure that your system have a compatible GPU card.
  2. Detach GPU cards from the kernel module drivers and attach it to QEMU vfio drivers.
  3. Enable GPU support in the aleph-vm configuration.

Please follow these instructions

Enable GPU in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_GPU_SUPPORT=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_GPU_SUPPORT has the value true.

1.4.0

19 Feb 20:11
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.4.0 !

This new release of aleph-vm includes new features related to GPU support and system information, bug fixes for payment monitoring and VM restarts, improvements to the garbage collector, and other enhancements.

New Features

  • GPU List in System Usage Endpoint: Added a list of available GPUs to the /about/usage/system endpoint. (PR #726)
  • GPU Compatibility System: Implemented a system to manage GPU compatibility. (PR #747)
  • Ubuntu 24.04 QEMU Runtime: Created a new QEMU runtime specifically for Ubuntu 24.04. (PR #754)

Bug Fixes

  • Payment Stream Monitoring Regression: Fixed a regression that affected the monitoring of the payment stream. (PR #749)
  • Automatic VM Restarts: Resolved an issue causing Aleph VMs to restart automatically. (PR #750)
  • IPv6 Egress Check: Corrected a problem where the IPv6 egress check was falsely reporting "ok". (PR #755)
  • Metrics on Misconfigured IPv6: Fixed issues with metrics reporting when IPv6 was misconfigured. (PR #757)

Improvements

  • Garbage Collector Enhancement: Improved the garbage collector to free disk space from inactive VMs. (PR #746)
  • aleph-message Upgrade: Upgraded the aleph-message library. (PR #753)
  • Default Log Level: Changed the default log level to "info". (PR #756)

Other Changes

  • README Typo Fix: Corrected a minor typo in the README.md file. (PR #752)

What's Changed

Full Changelog: 1.3.1...1.4.0

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

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

On Ubuntu 22.04 (Jammy Jellyfish):

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

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable GPU support (optional)

In order to enable GPU support on your Compute Resource Node, you must:

  1. Ensure that your system have a compatible GPU card.
  2. Detach GPU cards from the kernel module drivers and attach it to QEMU vfio drivers.
  3. Enable GPU support in the aleph-vm configuration.

Please follow these instructions

Enable GPU in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_GPU_SUPPORT=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_GPU_SUPPORT has the value true.

Aleph-vm 1.3.1

30 Jan 12:52
7f89c89
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.3.1 !

This new release of aleph-vm solve little issues we experimented with firewall rules and also improves the logging on VMs.

New Features

  • IPv6 DNS Support: Added the ability to use IPv6 addresses for DNS resolution. (PR #455)
  • JSON Logs Endpoint for Finished Executions: Introduced a new endpoint specifically for retrieving JSON logs from completed VM executions. (PR #718)

Improvements

  • Improved Logging: Enhanced logging mechanisms and added logging capabilities per VM for better debugging and monitoring. (PR #724)
  • Contributor Documentation: Improved documentation for contributors to make it easier to contribute to the project. (PR #723)
  • Volume Naming: Added a name for Volumes at startup if one is not already present. (PR #730)
  • Dependency Update: Updated aiohttp from 3.9.5 to 3.10.11. (PR #733)
  • aleph-message Upgrade: Upgraded aleph-message to version 0.6. (PR #744)
  • Volume Name Sanitization: Implemented sanitization of volume names to prevent issues. (PR #743)
  • Unified Branding: Applied unified branding to the node index page. (PR #745)

Bug Fixes

  • IGNORE_TRACEBACK_FROM_DIAGNOSTICS Issue: Fixed a problem with the IGNORE_TRACEBACK_FROM_DIAGNOSTICS setting. (PR #713)
  • "Too Many Open Files" Error: Resolved an issue causing the "Too many open files" error. (PR #720)
  • CI Docker Issue: Fixed a toomanyrequests error encountered during CI docker builds. (PR #725)
  • Network Interface Deletion Error: Addressed an error that occurred when deleting network interfaces. (PR #731)
  • Deleted Instance Not Stopping: Fixed an issue where deleted instances were not properly stopping due to a problem with the monitor_payment process. (PR #735)
  • Qemu Hang on Failed Boot: Resolved an issue where Qemu would hang silently on a failed boot. (PR #734)
  • VM Logs Websocket Issue: Fixed a problem causing the VM logs websocket endpoint to get stuck. (PR #736)
  • Allocation Halted on Missing Hash: Fixed an issue where allocation would halt due to a missing hash (ALEPH-337). (PR #737)
  • "Message Not Found" Error Display: Improved error handling to display a proper message when a message is not found. (PR #738)
  • ConnectionClosedError in Guest API: Fixed a ConnectionClosedError that occurred in the guest API. (PR #739)
  • Instance IPv4 Network Stopping: Resolved an issue where the instance IPv4 network (NAT) would stop functioning. (PR #742)
  • AssertionError in status_check_fastapi: Fixed an AssertionError in the aleph.vm.orchestrator.views.status_check_fastapi function. (PR #740)
  • Runtime Reboot Signal: Corrected an issue where the runtime emitted the wrong reboot signal. (PR #741)

Other Changes

  • Pull Request Template Update: Updated the PULL_REQUEST_TEMPLATE.md file to include checks for dependencies. (PR #722)
  • CI Compiling Issue Solved: Resolved a compiling issue in the Continuous Integration (CI) pipeline. (PR #727)
  • Ruff Integration: Integrated ruff for code formatting and documented code quality guidelines. (PR #729)

Full List

  • Feature: allow IPv6 DNS by @olethanh in #455
  • Problem: IGNORE_TRACEBACK_FROM_DIAGNOSTICS broken by @olethanh in #713
  • Problem: error Too many open files by @olethanh in #720
  • Update PULL_REQUEST_TEMPLATE.md for dependencies check by @olethanh in #722
  • CI: docker: Error response from daemon: toomanyrequests by @olethanh in #725
  • Improve logging, Add logging per VM by @olethanh in #724
  • Improve documentation for contributors by @olethanh in #723
  • Add json logs endpoint which works for finished execution by @olethanh in #718
  • Solve CI compiling issue by @nesitor in #727
  • Use ruff for formatting and document code quality by @olethanh in #729
  • Fix error Deleting network interface by @olethanh in #731
  • Chore(deps): Bump aiohttp from 3.9.5 to 3.10.11 by @olethanh in #733
  • Problem Deleted Instance not stopping - monitor_payment by @olethanh in #735
  • Add a name for Volume at start if not present by @olethanh in #730
  • Fix Qemu hang silently on failed boot by @olethanh in #734
  • Fix VM logs websocket endpoint getting stuck by @olethanh in #736
  • update allocation halted on missing hash ALEPH-337 by @olethanh in #737
  • Display proper error for message not found by @olethanh in #738
  • Fix guest-api ConnectionClosedError: Reader at end of file by @olethanh in #739
  • Fix instance ip4 network stopping (nat) by @olethanh in #742
  • Upgrade aleph-message to 0.6 by @olethanh in #744
  • Fix AssertionError aleph.vm.orchestrator.views.status_check_fastapi by @olethanh in #740
  • Sanitize volume names by @nesitor in #743
  • Fix: Runtime emitted wrong reboot signal by @hoh in #741
  • Unified branding on node index page style by @nesitor in #745

Full Changelog: 1.3.0...1.3.1

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

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

On Ubuntu 22.04 (Jammy Jellyfish):

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

On Ubuntu 24.04 (Noble Numbat):

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

Aleph-vm 1.3.0

04 Nov 18:26
5acbdef
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.3.0 !

The team has been working hard to ship this major new release.

New Features and Improvements

  • Improved: The logic for assigning unique identifiers (vm_id) to virtual machines for better reliability (by @olethanh).
  • New Feature: Added support for new Ethereum Virtual Machine (EVM) chains (by @nesitor).

Bug fixes

  • Fixed: An issue where FirecrackerVM wouldn't work if /var/lib and /var/cache directories were located on separate partitions (by @olethanh).
  • Fixed: A problem where Sentry error reporting wasn't including release information (by @olethanh).
  • Fixed: An issue preventing sevctl installation on Ubuntu systems (by @olethanh).

What's Changed

  • FirecrackerVM drive not working if /var/lib and /var/cache on two sep… by @olethanh in #711
  • Problem: Sentry reporting didn't have release information by @olethanh in #712
  • Problem: sevctl installation broken on Ubuntu by @olethanh in #715
  • Make vm_id assignment more robust by @olethanh in #714
  • Implement new EVM chains by @nesitor in #717

Full Changelog: 1.2.0...1.3.0

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

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

On Ubuntu 22.04 (Jammy Jellyfish):

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

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

  1. Use an AMD CPU from the 8004 or 9004 families.
  2. Ensure that your system supports confidential computing. We have only tested Ubuntu 24.04 so far.
  3. Enable SEV and SEV-SNP in the BIOS.
  4. Enable confidential computing in the aleph-vm configuration.

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING has the value true.

Aleph-vm 1.2.0

14 Oct 10:21
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.2.0 !

The team has been working hard to ship this major new release.

Bug Fixes

  • Removed support for the deprecated Debian 11 Bullseye operating system. (PR #693)
  • Fixed various issues identified in tests (PR #689, #692, #696, #697, #699, #700, #710). This includes:
    • Non-deterministic teardown during testing.
    • Test failures not being clearly indicated.
    • QEMU VM being killed prematurely before shutdown.
    • Dictionary size modification during iteration.
    • Solana wallet not being usable for VM control.
    • Errors related to confidential initialization and message fetching.
  • Ensured clearer error messages for failing test cases. (PR #697)

New Features and Improvements

  • Added a return type to the aleph.vm.utils.to_json function for better type safety. (PR #704)
  • Integrated tools for code formatting and linting:
    • pyproject-fmt (PR #707)
    • yamllint (PR #705)
  • Renamed the Hatch linting environment for clarity. (PR #706)
  • Improved user experience by displaying a message when CoCo disk creation is aborted. (PR #709)
  • Enhanced API response format for the /confidential/initialize endpoint. (PR #708)

What's Changed

  • Fix: Debian 11 Bullseye is deprecated, remove it by @hoh in #693
  • Fix 199 ruff errors by @hoh in #689
  • Problem: Non deterministic teardown by @olethanh in #696
  • Problem: Test failing not clearly by @olethanh in #697
  • Problem: QEMUVM killed before shutdown command by @olethanh in #698
  • Fix: dictionary changed size during iteration by @hoh in #699
  • Problem: Test test_websocket_logs_invalid_auth fail on Python 3.12.3 by @olethanh in #692
  • Debug Error Unknown exception while deleting address by @olethanh in #703
  • Problem: error org.freedesktop.systemd1.NoSuchUnit: Unit aleph-vm-con… by @olethanh in #702
  • feat: add return type to aleph.vm.utils.to_json by @Psycojoker in #704
  • add pyproject-fmt by @Psycojoker in #707
  • feat: add yamlfix by @Psycojoker in #705
  • chore: rename hatch lint env to linting by @Psycojoker in #706
  • Problem: Solana wallet couln't be used to control the VM by @olethanh in #700
  • Endpoint /confidential/initialize return json error now and proper https status by @olethanh in #708
  • Display message when CoCo disk creation abort by @olethanh in #709
  • Fix: Error fetching message from vm-connector for start_watch_for_messages_task by @olethanh in #710

Full Changelog: 1.1.0...1.2.0

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.2.0/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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/1.2.0/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

  1. Use an AMD CPU from the 8004 or 9004 families.
  2. Ensure that your system supports confidential computing. We have only tested Ubuntu 24.04 so far.
  3. Enable SEV and SEV-SNP in the BIOS.
  4. Enable confidential computing in the aleph-vm configuration.

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING has the value true.

Aleph-vm 1.1.0

05 Sep 15:23
Compare
Choose a tag to compare

We are excited to announce our release for aleph-vm in version 1.1.0 !

The team has been working hard to ship this major new release.

This new release brings both exciting new features, such as the support to use Pay-as-you-Go on BASE blockchain, and some bug fixes and stability improvements.

As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.

New Features

  • Implemented the ability to use PAYG (Pay-As-You-Go) on BASE blockchain. (PR #685)

Bug Fixes

  • Resolved an issue with the ping command where an invalid value was being accepted. (PR #688)
  • Addressed a problem causing slowness in the CI (Continuous Integration) process and ensured proper execution of tests. (PR #686)

Other Changes

  • Provided a template for new pull requests to facilitate the contribution process. (PR #667)
  • Enhanced the CI process by ensuring the hatch tool is always installed when needed for testing. (PR #690)

In detail

  • Provide a template for new PRs by @olethanh in #667
  • Fix CI slowness and correct execution tests by @olethanh in #686
  • Problem: ping: invalid value (2.0' near .0') by @olethanh in #688
  • Feature: Allow PAYG on base by @1yam in #685
  • ci/fix(test-using-pytest): ensure hatch is always installed when needed by @Psycojoker in #690

New Contributors

Full Changelog: 1.0.1...1.1.0

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.1.0/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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/1.1.0/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

  1. Use an AMD CPU from the 8004 or 9004 families.
  2. Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
  3. Enable SEV and SEV-SNP in the BIOS.
  4. Enable confidential computing in the aleph-vm configuration.

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING has the value true.

Aleph-vm 1.0.1

27 Aug 15:37
d66de42
Compare
Choose a tag to compare

This release fixes an important bug for confidentials computing.

Main changes

Core Functionality and Stability

  • Bug Fixes: Addressed issue running a confidential VM inside an updated CRN.

What's Changed

  • Update aleph_message package on packaging steps by @nesitor in #684

Full Changelog: 1.0.0...1.0.1

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 11 (Bullseye):

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

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.1/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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/1.0.1/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

  1. Use an AMD CPU from the 8004 or 9004 families.
  2. Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
  3. Enable SEV and SEV-SNP in the BIOS.
  4. Enable confidential computing in the aleph-vm configuration.

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING has the value true.

Aleph-vm 1.0

26 Aug 13:35
cd6463c
Compare
Choose a tag to compare

We are excited to announce our release candidate for aleph-vm in version 1.0 !

The team has been working hard to ship this major new release.

This new release brings both exciting new features, such as the support for Confidential Computing (in beta), and many bug fixes and stability improvements.

As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.

Main changes

Core Functionality and Stability

  • Confidential Computing: We added support for Confidential Computing on supported hardware (AMD EPYC 8004 and 9004).
  • Enhanced Testing: More automated tests and code quality checks improve the reliability and identify potential bugs early.
  • Better build process: The build process was streamlined, ensuring compatibility with different Ubuntu versions and efficient resource management.
  • Bug Fixes: Addressed issues with duplicated CORS headers in the HTTP response, ensuring proper handling and preventing CORS-related errors.
  • Ubuntu 24.04: We added the support for Ubuntu 24.04 as a host.

In details

  • Fix: Pytest did not test legacy diagnostic by @hoh in #603
  • Installation documentation was moved to aleph doc by @olethanh in #613
  • Problem /about/usage/system was not tested by @olethanh in #609
  • Problem: allocation endpoints was not tested by @olethanh in #610
  • Fix: Backquote in shell script executed command by @hoh in #611
  • Fix: System testing on DO took too many resources by @hoh in #614
  • Added Qemu automatic tests by @nesitor in #615
  • Fix: Branch main could not be tested easily by @hoh in #612
  • Fix: Unkwnown hashes raised exception by @hoh in #606
  • Use standard system package for ECDSA verification and add tests by @BjrInt in #460
  • Added USE_CONFIDENTIAL_COMPUTING check by @nesitor in #617
  • 601 creating instance tests by @Antonyjin in #616
  • Minor code cleanup in check_system_module by @hoh in #621
  • Fix: Some dependencies were inconsistent between pyproject.toml and packaging by @hoh in #625
  • Fix: No .deb was built for Ubuntu 24.04 by @hoh in #624
  • Add platform confidential directory on Settings by @nesitor in #618
  • Implement get platform certificates endpoint by @nesitor in #619
  • Fix: Correct string formatting in VM startup response by @1yam in #631
  • Fix: Orchestrator failed with assert result["result"] == HTTPOk.status_code by @hoh in #628
  • Problem: Crash when trying to auth via websocket by @olethanh in #630
  • Fix: CI Droplet cleanup failed when same name was used by @hoh in #633
  • Fix: make clean did not cleanup all resources by @hoh in #634
  • Update test and linting dependencies by @hoh in #623
  • Fix: Binary sevctl was absent from debian packages by @hoh in #629
  • Disable printing system logs on deb package as per default configuration recommendation by @aliel in #640
  • Add more information on testing for devs by @olethanh in #642
  • Add test for the reboot endpoint by @olethanh in #635
  • Problem : Log was not working on system. Unify logging method by @olethanh in #644
  • Fix: Path to sevctl was not from settings by @hoh in #637
  • Fix: CRN API did not expose CPU features for trusted computing by @hoh in #622
  • Problem: Websocket were required to fetch logs by @olethanh in #645
  • Improve instances code by @nesitor in #654
  • Fix: AttributeError: 'MicroVM' object has no attribute 'send_shutdown_message' by @hoh in #653
  • Implement Confidential Computing by @olethanh in #650
  • Problem: sevctl command was not tested on the proplet by @olethanh in #651
  • Add missing cpuid dependency by @nesitor in #656
  • Solve Websocket error handling by @nesitor in #657
  • Small fixes noticed on new installations. by @nesitor in #659
  • Solve Firecracker reboot issues by @nesitor in #658
  • Allocate endpoint allow starting confidential with hold payment method by @olethanh in #660
  • Fix: error when user balance is zero and no remaining executions to r… by @olethanh in #661
  • Start documentation on confidential by @olethanh in #655
  • Enable Qemu support by default by @nesitor in #662
  • Fix: Droplet with Ubuntu 24.04 was not tested by @hoh in #663
  • Update confidential README.md by @hoh in #664
  • Fix wrong balance endpoint by @philogicae in #666
  • CoCo image: Improve example user creation by @olethanh in #669
  • Mitigate concurrency issues by @olethanh in #670
  • Add duration info to pytest by @olethanh in #671
  • Problem: Vm execution failed due to network interface by @olethanh in #596
  • Do not reuse the id of any vm in pool.executions by @olethanh in #672
  • Problem: Login token was not display with default conf by @olethanh in #673
  • Problem: status_check_fastapi endpoint raising eror by @olethanh in #676
  • Fix is_confidential property by @olethanh in #674
  • Problem: Websocked auth for fail user was not returning error by @olethanh in #675
  • Solve failing tests on main branch by @nesitor in #678
  • Check message status before checking the payment by @nesitor in #679
  • Solve duplicated network issues for ephemeral VMs by @nesitor in #680
  • Fix: Update new aleph-message package version. by @nesitor in #683

New Contributors

Full Changelog: 0.4.1...1.0.0

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

On Debian 11 (Bullseye):

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

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.0/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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/1.0.0/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

  1. Use an AMD CPU from the 8004 or 9004 families.
  2. Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
  3. Enable SEV and SEV-SNP in the BIOS.
  4. Enable confidential computing in the aleph-vm configuration.

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env. This is not the default yet.

ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True

After launching the server you can check the endpoint
http://localhost:4020/status/config or https://<your-node-domain>/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING has the value true.

Aleph-vm 0.5.1-rc1

30 Jul 11:32
e2fcccd
Compare
Choose a tag to compare
Aleph-vm 0.5.1-rc1 Pre-release
Pre-release

This release fixes important bugs and increases the reliability of the metrics of the node.

As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.

Main changes

Core Functionality and Stability

  • Confidential Computing Implementation: We have implemented confidential computing features using AMD SEV, enhancing data security and privacy.
  • Enhanced Testing: Comprehensive tests were added for various components to improve code reliability and identify potential issues early.
  • Internet Connectivity Checks: The build process was streamlined, ensuring compatibility with different Ubuntu versions and efficient resource management.
  • Bug Fixes: Addressed issues with duplicated CORS headers in the HTTP response, ensuring proper handling and preventing CORS-related errors.

Security and Compliance

  • Security Enhancements: Additional checks and measures were put in place to strengthen the overall security posture of the system.

User Experience and Developer Productivity

  • Documentation Improvements: Documentation was updated to provide better guidance for developers and users.
  • Code Quality: Codebase was cleaned up and refactored for better maintainability and readability.

These changes aim to improve the robustness, usability, and maintainability of the system, ensuring a smoother experience for both developers and end-users. Please refer to the project documentation for detailed instructions on the new features and improvements.

What's Changed

  • Fix: Pytest did not test legacy diagnostic by @hoh in #603
  • Installation documentation was moved to aleph doc by @olethanh in #613
  • Problem /about/usage/system was not tested by @olethanh in #609
  • Problem: allocation endpoints was not tested by @olethanh in #610
  • Fix: Backquote in shell script executed command by @hoh in #611
  • Fix: System testing on DO took too many resources by @hoh in #614
  • Added Qemu automatic tests by @nesitor in #615
  • Fix: Branch main could not be tested easily by @hoh in #612
  • Fix: Unkwnown hashes raised exception by @hoh in #606
  • Use standard system package for ECDSA verification and add tests by @BjrInt in #460
  • Added USE_CONFIDENTIAL_COMPUTING check by @nesitor in #617
  • 601 creating instance tests by @Antonyjin in #616
  • Minor code cleanup in check_system_module by @hoh in #621
  • Fix: Some dependencies were inconsistent between pyproject.toml and packaging by @hoh in #625
  • Fix: No .deb was built for Ubuntu 24.04 by @hoh in #624
  • Add platform confidential directory on Settings by @nesitor in #618
  • Implement get platform certificates endpoint by @nesitor in #619
  • Fix: Correct string formatting in VM startup response by @1yam in #631
  • Fix: Orchestrator failed with assert result["result"] == HTTPOk.status_code by @hoh in #628
  • Problem: Crash when trying to auth via websocket by @olethanh in #630
  • Fix: CI Droplet cleanup failed when same name was used by @hoh in #633
  • Fix: make clean did not cleanup all resources by @hoh in #634
  • Update test and linting dependencies by @hoh in #623
  • Fix: Binary sevctl was absent from debian packages by @hoh in #629
  • Disable printing system logs on deb package as per default configuration recommendation by @aliel in #640
  • Add more information on testing for devs by @olethanh in #642
  • Add test for the reboot endpoint by @olethanh in #635
  • Problem : Log was not working on system. Unify logging method by @olethanh in #644
  • Fix: Path to sevctl was not from settings by @hoh in #637
  • Fix: CRN API did not expose CPU features for trusted computing by @hoh in #622
  • Problem: Websocket were required to fetch logs by @olethanh in #645
  • Improve instances code by @nesitor in #654
  • Fix: AttributeError: 'MicroVM' object has no attribute 'send_shutdown_message' by @hoh in #653
  • Implement Confidential Computing by @olethanh in #650
  • Problem: sevctl command was not tested on the proplet by @olethanh in #651
  • Add missing cpuid dependency by @nesitor in #656
  • Solve Websocket error handling by @nesitor in #657
  • Small fixes noticed on new installations. by @nesitor in #659
  • Solve Firecracker reboot issues by @nesitor in #658
  • Allocate endpoint allow starting confidential with hold payment method by @olethanh in #660
  • Fix: error when user balance is zero and no remaining executions to r… by @olethanh in #661
  • Start documentation on confidential by @olethanh in #655
  • Enable Qemu support by default by @nesitor in #662

Full Changelog: 0.4.1...v0.5.1-rc1

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

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.5.1-rc1/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.5.1-rc1/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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.5.1-rc1/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

On Ubuntu 24.04 (Noble Numbat):

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

2. Enable Confidential Computing (optional)

In order to enable Confidential Computing on our Compute Resource Node, you must:

Enable SEV in the configuration of aleph-vm, by default in /etc/aleph-vm/supervisor.env:

ALEPH_VM_ENABLE_QEMU_SUPPORT=1
ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=1

After launching the server you can check the endpoint
http://localhost:4020/status/config and verify that ENABLE_CONFIDENTIAL_COMPUTING is true

Aleph-vm 0.4.1

26 Apr 16:26
@hoh hoh
Compare
Choose a tag to compare

We are happy to announce aleph-vm in version 0.4.1.

This release fixes important bugs and increases the reliability of the metrics of the node.

As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.

Main changes

Improvements

  • Diagnostic API Updated: Integrated a new diagnostic VM with the latest runtime, improving the handling of message reading, IPv6 detection, and message signing tests.
  • Internet Connectivity Checks: Enhanced the internet connectivity checks by the diagnostic VM to multiple endpoints, improving reliability in connectivity assessments.
  • CORS Headers Fix: Addressed issues with duplicated CORS headers in the HTTP response, ensuring proper handling and preventing CORS-related errors.

Developer tooling

  • VM Launching from pytest: Enabled testing of VMs from pytest, increasing code coverage and preparing the space for more advanced automated tests.
  • Hatch Configuration: Modified the Hatch configuration to properly set up environments for testing using the virtual environment built-in module.
  • Makefile and Documentation Updates: Updated Makefile and documentation to require an 'update' argument for the 'aleph program', facilitating the publishing process.

Bug Fixes

  • Error Handling and Validation: Improved error handling in various APIs to ensure earlier and more accurate failure detection. Notably, fixed issues where invalid item hashes and double-encoded JSON data led to errors.
  • Typing and Syntax Corrections: Numerous fixes related to Python typing annotations and syntax corrections, including proper handling of strict types, correct annotations, and elimination of circular imports.

These changes aim to improve the robustness, usability, and maintainability of the system, ensuring a smoother experience for both developers and end-users. Please refer to the project documentation for detailed instructions on the new features and improvements.

Git commits

fe9235a Fix: Diagnostic API was not updated
ab79b77 Solve last CORS issues about duplicated headers (#604)
54680ba Problem: could not start Instances from command line (#597)
b7d9202 Problem: Makefile for publishing example were not working
c74ed5a Fix: Internet diagnostic due to single endpoint
8bbd65b Fix: Solved CORS issues on PAYG creation.
57695a1 Fix: Prevent diagnostic VM to fail if the ipv6 or ipv4 raises a Timeout.
0f77070 Cleanup: Frozen requirements were not maintained
fe2e74f Problem cannot import name 'async_sessionmaker' from 'sqlalchemy.ext.asyncio'
f0922f2 Problem: Execution test hanging. Python runtime slow
64af5a1 Fix: Missing comments in workflow
53b52b6 Problem: hatch envs needed manual manipulation for testing
af5b5fd Fix: Could not launch a VM without building it locally (#588)
1b6d429 Fix: Missed documentation, no TESTING.md
e28fcaa Fix: run_guest_api mixed str and Path
d660948 Fix: Assertion errors did not display missing path
6d1482d Doc: Add docstring to settings.setup(), .check()
f096134 Fix: Pytest failed due to missing files
cacb83c Fix: Circular imports prevented pytest to run
950d3e8 Fix: Execution creation was not tested
da112e6 Doc: Update outdated orchestrator README (#592)
0a4f75f Fix: Invalid ItemHash did not raise a ValidationError
2f5aa79 Fix: Error data was JSON encoded twice
4989892 Fix: Imports could be cleaned up
553d1aa Fix: Domain name must always be specified
f1fd306 Fix typing: Missing path was not considered
d386374 Fix typing: Missing annotation on methods
3bfe28d Fix: Automated code cleanup
4381075 Fix typing: Use of lambda caused typing errors
811d791 Fix typing: continue inside try/finally block is unimplemented in mypyc
f31819c Fix typing: ... in class is not allowed
ceecc10 Fix: Properties were initialized with a global object
7e11125 Fix typing: Strict type checks raised issues
c2b540c Fix typing: Missing return types on methods
07c34f9 Fix typing: SQLAlchemy annotations were incorrect
19b0916 Fix typing: Replace Dict->dict, List->list
1b278e0 Fix typing: Invalid type annotations
b65fd9e Fix typing: FakeRequest class was not of type Request
a6508f1 Fix typing: Wrong type in annotation
a355428 Fix typing: web.HTTPBadRequest may not be raised
b90cb84 Fix: Log level was DEBUG instead of WARNING in prod
b6053f6 Fix: Tests were run twice

How to upgrade

1. Upgrade the packages

This part did not change, download and install the new package as usual.

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.4.1/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb

On Debian 12 (Bookworm):

rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/0.4.1/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.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.4.1/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb

2. Enable Pay-as-you-go (optional)

See the release notes of version 0.4.0 alpha1.