Skip to content

Tenantos: Version 1.0.26 has been released

Today, on June 10, 2023, the stable version of Debian 12 (Bookworm) was released. In this update, support for Debian 12 has been added, meaning you can start providing it to your clients from day one.

The complete release notes can be found here. Below, some of the noteworthy changes are described in more detail.

Improvements to the queue system

Various actions are dispatched into the queue system, such as the collection of statistics, execution of maintenance tasks, or actions initiated via the web interface or API. For example, initiating a reinstallation dispatches the reconfiguration of the DHCP server into the queue system, leading to quicker API responses as some associated tasks are/can be executed in the background.

The management of the queue has been improved in this release. Jobs and tasks that previously took a long time to execute, such as collecting bandwidth statistics when managing many servers, are now batched. This has several advantages. One key benefit is seen during a queue restart, which may occur when updating Tenantos. During such restarts, the process has to wait until the job that's currently being processed is finished. Previously, if this happened to be a lengthy job, it led to longer delays. Now, since bigger tasks are breaked into smaller chunks, each individual job finishes quicker.

Furthermore, better measures have been implemented to prevent the queue from becoming overwhelmed - whether due to temporary server overload or a high number of servers in Tenantos.

API performance improvements

The performance of the API has been enhanced at certain endpoints. While most users will not notice a major difference due to the already excellent response times, users managing numerous servers will see improvements when accessing the server list or user lists.

In addition to general improvements in the codebase, a significant enhancement has been made to the extensive permissions system. This update aims to increase the speed and efficiency of API responses, which often include deeply nested arrays of objects. Each field in these responses requires permission checking, a process explained further on this page.

The original method of flattening and analyzing these nested structures was somewhat CPU-intensive, particularly for larger responses. This challenge has been effectively tackled with a new, more efficient algorithm employing a stack-based approach for managing nested arrays.

To provide a bit of technical insight without getting too technical, this new algorithm uses a stack to store information about each nested array that requires processing. Instead of creating new arrays at every level of recursion, the stack-based method navigates each level of nested arrays one at a time. This method minimizes the time and CPU power required to process large and/or deeply nested arrays.

Implemented an additional workaround for Ubuntu installations

Installer systems, such as kickstart, autoinstall and preseed, each have their own unique quirks and challenges, especially regarding disk configuration and partitioning. Those who have worked extensively with PXE installation will know this struggle. Tenantos has integrated several workarounds and tricks to identify and circumvent common issues, making the PXE installations notably more reliable compared to many other solutions on the market.

The latest release includes a workaround for an issue in Ubuntu's autoinstall installer that incorrectly identified the virtual devices of certain IPMI models as physical hard drives (i.e., /dev/sda). Such devices are now skipped.

Support for multiple disks for Proxmox and VMware

Although the API has supported this feature since the beginning, the GUI lacked support. Now, multiple disks can be added to the VPS plans, making it possible to offer configurations that, for example, include one small SSD disk and a larger HDD disk.

Support has also been integrated into the Proxmox balancer plans. Balancer plans help to ensure that there is sufficient disk space on each selected storage and that the storage meets the configured requirements. This allows for optimal distribution of VPS across the Proxmox cluster.


Comments