Releases: aleph-im/aleph-vm
1.4.1
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 theload_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:
- Ensure that your system have a compatible GPU card.
- Detach GPU cards from the kernel module drivers and attach it to QEMU
vfio
drivers. - 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
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 thealeph-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
- Add GPU list to /about/usage/system endpoint by @philogicae in #726
- Fix regression: Monitoring of payment stream by @olethanh in #749
- Solve Aleph VMs automatic restarts by @nesitor in #750
- Minor typo in README.md fixed by @gdelfino in #752
- Garbate collector: Free disk space from inactive VM by @olethanh in #746
- Implemented GPU compatibility system by @nesitor in #747
- Upgrade
aleph-message
version by @nesitor in #753 - Fix IPv6 egress check on index falesly showing ok by @olethanh in #755
- Create Ubuntu 24.04 QEMU runtime by @nesitor in #754
- Default log level to info by @olethanh in #756
- Fix bad metrics on wrongly configured Ipv6 by @olethanh in #757
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:
- Ensure that your system have a compatible GPU card.
- Detach GPU cards from the kernel module drivers and attach it to QEMU
vfio
drivers. - 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
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 theIGNORE_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 aConnectionClosedError
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 anAssertionError
in thealeph.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
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:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.04 so far.
- Enable SEV and SEV-SNP in the BIOS.
- 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
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:
- 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:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.04 so far.
- Enable SEV and SEV-SNP in the BIOS.
- 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
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
- @Psycojoker made their first contribution in #690
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:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
- Enable SEV and SEV-SNP in the BIOS.
- 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
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
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:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
- Enable SEV and SEV-SNP in the BIOS.
- 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
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
- @philogicae made their first contribution in #666
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:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
- Enable SEV and SEV-SNP in the BIOS.
- 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
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
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.