How Can We Help?
< All Topics
Print

BitssCloud 5.9.3

In this document, you will find all of the new features, enhancements and visible changes included to the BitssCloud PaaS 5.9.3 release.

This document is preliminary and subject to change.

LiteSpeed License Plans

Implemented support of multiple LiteSpeed license plans and the corresponding management add-on 

Password Reset Enhancement

A new secure flow to recover account password

Simultaneous Installation for Multiple Auto-Clusters

Added support of multiple auto-clusters installation in parallel

Batch Mode for Mount Operations

Implemented batch mode for the NFS mount/unmount operations to speed up operations.

Iptables for Bridge Interfaces in Containers

Added kernel flag to allow packets to be checked by the iptables rules when going through the bridge interfaces

Cloud Scripting Improvements

Integrated engine improvements to boost performance and added new functionality to enhance the user experience.

CHANGED

UI Improvements

  • relocated region icons for better clarity and support for the environment with prolonged names
  • redesigned/reviewed error pages, and added new pages for specific issues
  • added info about specifics of the default ports traffic proxying
  • created a new Collaboration section in the Marketplace 

Container Stop Operation Optimization

Refactored code to speed up the container stop operation operation.

API Changes

Listed all the changes to the public BitssCloud API in the current release.

Software Stack Versions

Actualized list of supported OS templates and software stack versions.

Fixes Compatible with Prior Versions

Bug fixes are implemented in the current release and integrated to the previous BitssCloud versions through the appropriate patches.

Bug Fixes

List of fixes applied to the platform starting from the current release.

LiteSpeed License Plans

LiteSpeed is a popular, high-performance, and low memory consumption PHP web server and load balancer. It is commercial software that requires developers to purchase a license for usage (or try out with a free starter plan). Herewith, BitssCloud seamlessly integrates the cost of a license in accordance with the platform-distinctive Pay-per-Use principles and charges hourly a fraction of the total license cost. Such a structure allows you to opt out of the deal or switches plans at any moment without any funds loss.

In the current 5.9.3 release, support of multiple new licenses was provided to give full control over the LiteSpeed instance. For this purpose, all of the LiteSpeed containers (including LLSMP) are provided with the License Manager add-on.

Add-on allows configuring license based on the following parameters:

  • Workers – choose the number of workers, which indicates how many processes will be spawned to do general server work
  • Domains – select the domains’ limit (only refers to top-level domains), any domain that exceeds the specified limit will result in a 403 error
  • LiteMage – enable or disable the LiteMage Cache (fast, full page caching solution that caches dynamic pages as static files). If activated, an additional Options field will appear allowing to choose between the StarterStandard, and Unlimited plans (150025000, and unlimited publicly cached objects respectively)

At the bottom of the frame, you can see the cost of the current configuration. Click Apply to confirm changes and adjust your environment.

        

Password Reset Enhancement

A new password reset flow was implemented in the BitssCloud PaaS 5.9.3 release. For now, after clicking on the Reset Password button and providing your email address, the platform will send you a confirmation email. The message has a button that redirects you (link automatically expires after three days) to the form where you can provide a new password. 

UI Improvements

  • Environment Region Icons
  • Error Pages Redesign
  • Default Ports Proxying
  • Collaboration Marketplace Section

        

Environment Region Icons

As the number of service hosting providers that support multiple regions increases, the feature gets more comprehensive feedback, allowing to improve it even further. In the current 5.9.3 BitssCloud release, the region icon was relocated from the environment Name column to the Tags one. Such a change serves two purposes:

  • additional space within the Name column improves UX when working with prolonged environment names and aliases
  • region icon works as a label that helps to group environments, so it is rational to locate it among other tags

Also, clicking on the region icon now automatically filters an environment list by that particular region.

Error Pages Redesign

The design of the Cloujiffy PaaS default error pages was updated in the BitssCloud 5.9.3 release to match the latest corporate styles. Two new pages were created to help handle the 504 Gateway Timeout and 503 SSL Disabled Environment issues. The existing pages were also thoroughly reviewed to clarify the cause of each particular problem – the error description and recommended resolution steps were updated.

Default Ports Proxying

BitssCloud PaaS provides several ports that are open by default on all containers. These ports proxy traffic according to the following rules:

  • 8080808686 – proxies HTTP traffic to HTTP (80 port)
  • 484884434901-4910 – proxies SSL (HTTPS) traffic to SSL
  • 443 – proxies SSL traffic is proxied to HTTP (80 port)
  • 49497979 – proxies SSL traffic to HTTP

In order to highlight that proxying rules are not the same for all ports, the appropriate information was added to the dashboard with the link to the corresponding documentation page.

Collaboration Marketplace Section

Due to the global pandemic situation, collaboration applications have become increasingly popular. Such specialized tools can significantly reduce the negative effect of remote cooperation and hasten the establishment of a familiar workflow. Several applications within BitssCloud Marketplace can help to keep people connected. In this 5.9.3 platform release, dedicated solutions were moved to a new Collaboration category. Currently, it includes three applications:

  • Rocket.Chat
  • Jitsi Video Conferencing
  • Mattermost Chat Service

Simultaneous Installation for Multiple Auto-Clusters

The logic for creating environments that contain several auto-clusters was improved to perform the relevant tasks in parallel. The enhancement also affects the packages installed via the ON_ENV_INSTALL variable (if several ones are provided). The exact speed boost depends on the particular topology and complexity of the installed auto-clusters/packages. For example, the WordPress Cluster solution from the Marketplace can be created approximately five minutes faster than it was in the previous BitssCloud releases.

        

Batch Mode for Mount Operations

BitssCloud PaaS always strives to achieve maximum performance and regularly refactors code to implement new solutions and apply optimizations. In the current release, a batch mode was implemented for the NFS mount/unmount operations. It allows performing actions in parallel, which provides a decent performance boost compared to the previous sequential mode. The batch mode is especially beneficial when a lot of simultaneous operations are requested (e.g. when working with the cluster solutions).        

Iptables for Bridge Interfaces in Containers

In the latest Linux kernel versions, new flags were added to either allow or forbid packets to be checked by the iptables rules when going through the bridge interfaces. Such functionality is critical for some solutions (for example, for the portainer GUI in the Docker Swarm package). The appropriate flags are automatically enabled in all BitssCloud containers to ensure the dependent services’ operability (including platforms with versions preceding 5.9.3).        

Container Stop Operation Optimization

In the current 5.9.3 platform upgrade, the container stop action code was refactored and optimized, resulting in the notable speed up of the operation. The change ensures that container/service stop action is performed quickly and without delays, improving the user experience and general appeal of the platform.       

Cloud Scripting Improvements

Cloud Scripting is a programming language developed by BitssCloud PaaS for application packaging, operation automation, and complex CI/CD flows integration. The following amendments were implemented for Cloud Scripting in the 5.9.3 platform release:

  • Rhino JavaScript engine was updated to the latest version, resulting in a performance boost when working with the Cloud Scripting actions (e.g. JPS packages are created up to 40% faster).
  • The on before install event was modified and now can be used with the add-ons (i.e. installations with type: update).
  • Added a new permanent parameter for add-ons. If set as true, add-ons removal will be forbidden. The Uninstall button will be hidden on UI, and the 11043 error code will be returned via API.
  • The force flag was implemented for the UninstallApp method. It is required to delete “permanent” add-ons and to force removal if the regular operation fails due to some error.
  • Implemented the auto parameter (${event.params.auto}), which is added for the automatic horizontal scaling operations to distinguish them from the manual scaling.
  • Automated the cloudlets’ and nodes’ count values provisioning for the cases when the appropriate parameters were not defined explicitly. The algorithm takes into consideration account quotas, software requirements (e.g. for auto-clusters), and current values (for existing environments).
  • Objects within the placeholders are serialized to JSON strings by default (i.e. without the toJSON() function).
  • Implemented support of the settings placeholder for the extraNodes and recommended fields when configuring auto-cluster via JPS package. It allows passing the required settings from UI forms during the environment creation.
  • The maximum allowed length for the text returned by the CS packages was enlarged to 16 MB.

API Changes

In the present 5.9.3 BitssCloud release, the API documentation was migrated to the new modern engine, which allows automating a version control process. New API docs are automatically generated as soon as the new BitssCloud PaaS release is prepared. The engine also helps to implement numerous optimization (e.g. improved links structure) and clarification (e.g. response deserialization) of the displayed information. If needed, it is possible to switch platform versions (via the drop-down list at the top of the website) to view API for that particular release.

Note: A dedicated title page for the API documentation was created, allowing to switch between user and admin (authentication is required) methods. Also, all the corresponding links in the BitssCloud documentation and dashboard were updated.

Below, you can find a list of all changes to the public BitssCloud API in the 5.9.3 platform version (compared to the preceding 5.8.2 ones):

  • added a new force optional parameter for the Uninstall method from the jps service
  • removed the GetHdNodeStat method from the cluster service

       

Fixes Compatible with Prior Versions

Below, you can find the fixes that were implemented in the BitssCloud 5.9.3 release and also integrated into previous BitssCloud versions by means of the appropriate patches.

BitssCloud 5.9.3

# Compatible from Description
JE-
543243.3 The installation of the Let’s Encrypt add-on overwrites existing cron tasks
JE-
375195.0 The Windows-based nodes should not be shown via the SSH Gate
JE-
531045.0 An error occurs when installing the Let’s Encrypt add-on
JE-
543465.0 An error occurs when installing the Redmine package
JE-
525375.0.5 Problems with access to the admin panel on the new HAProxy nodes after resetting the password
JE-
527035.0.5 The Uninstall option should not be available for the Jenkins Clustrization add-on
JE-
527785.3 The $WEBROOT variable is missing for the Jetty stack
JE-
527865.3 The $WEBROOT variable is missing for the Python stack
JE-
527875.3 The $WEBROOT variable is missing for the NodeJS stack
JE-
527885.3 The $WEBROOT variable is missing for the Ruby stack
JE-
453135.3.2 WildFly Cluster ignores variables that are defined via the variables.conf file
JE-
484915.4 Different display names for the WordPress EE package after installation and page refresh
JE-
544065.4 An error occurs when deploying the Gogs project for Golang
JE-
548335.4 An error occurs when restarting the Golang node with a deployed project
JE-
519155.7 An error occurs when scaling MariaDB Cluster without ProxySQL node
JE-
537375.8.1 The number of workers defined within the installation frame for the Jenkins package is ignored
JE-
540845.8.1 Connection via the Apache load balancer with public IP fails after redeployment
JE-
542415.8.1 The compatibleVersionsFrom label is absent in the Jenkins package
JE-
543935.8.1 Workers are not cloned during the Jenkins cluster cloning
JE-
544205.8.1 Icons for Jenkins should be in the SVG format

        

Software Stack Versions

The software stack provisioning process is independent of the platform release, which allows new software solutions to be delivered as soon as they are ready. Herewith, due to the necessity to adapt and test new stack versions, there is a small delay between software release by its respective upstream maintainer and integration into BitssCloud PaaS.

The most accurate and up-to-date list of the certified software stack versions can be found on the dedicated documentation page.        

Bug Fixes

In the table below, you can see the list of bug fixes applied to the platform starting from the BitssCloud 5.9.3 release:

BitssCloud 5.9.3

# Description
JE-
32816 Inviting yourself into collaboration should be validated on UI
JE-
38799 Error when working with the reserved Scratch Docker image
JE-
42201 Error when working with Docker images from the second and third hierarchy level of the registry
JE-
42693 When connected to SSH Gate, the containers list disappears when the Refresh option is selected for the environment
JE-
45673 Error during configuring Auto-Clustering for the existing GlassFish nodes
JE-
45680 The errors related to the personal access tokens are not handled on the dashboard
JE-
47141 The netmask for the internal interface is lost after using the SwapIP method
JE-
47463 The ExecCmdById API method fails on the Ubuntu 18.04 Docker image
JE-
47604 The openrc package breaks the network in the Alpine-based containers
JE-
49163 An error occurs when installing the Auto-Scalable GlassFish Cluster from the Marketplace
JE-
49649 The unfsd process freezes during the Kubernetes redeploy
JE-
49968 Unhandled error when handling cross-mounts
JE-
50328 Container status should be checked before running the Docker setup procedure
JE-
50993 Duplicated records for the common upstreams on the load balancers
JE-
51506 Environment creation fails due to the “Address already in use” issue
JE-
51535 Typo in the RestoreDump method example in the API documentation
JE-
51775 Two error codes are returned upon the container redeploy failure
JE-
52042 The volume folder is absent on the container after redeploy if the appropriate directory does not exist in the initial image
JE-
52500 Incorrect alias is provided by default for the extra layers
JE-
52598 An incorrect file is specified for error logs in the my.cnf config on the MySQL (MariaDB) containers
JE-
52906 The hidden CS parameter does not work inside the showIf option
JE-
53011 An error occurs when stopping a just created environment
JE-
53041 The Git auto check/deploy options do not work with multiple projects on the same server
JE-
53074 The marketplace packages selected for installation for a collaborator are still installed on the owner’s account
JE-
53182 The Deploy Strategy option is missing when deploying into the auto-clustering solution
JE-
53283 Installed add-ons are not copied during the environment cloning
JE-
53336 An incorrect error page is displayed for the Gateway timeout issue
JE-
53347 Unhandled error when redeploying container that is locked by another process
JE-
53355 Dependency packages cannot be installed on the Debian 8 (Jessie) containers
JE-
53357 The Docker container start fails if the user’s home directory does not exist
JE-
53363 External IP is missing for the node after migration to another region
JE-
53377 Response for some actions in the Tasks panel is missing if the task was expanded while still in progress
JE-
53379 Price values are cropped on the Refill tab at the dashboard
JE-
53380 An error occurs when installing a package with several nested add-ons
JE-
53511 An error occurs during the rollback after the failed container redeploy
JE-
53540 Incorrect notification pop-ups appear at the dashboard during the Kubernetes Cluster package upgrade
JE-
53658 The showmount is not installed on the containers with the rpcbind utility
JE-
53665 Hints for the tabs at the bottom of the dashboard should be displayed for the trimmed text only
JE-
53666 The Load Alerts and Auto Horizontal Scaling tabs should be on par with other environment settings
JE-
53677 Imprecise aggregation of the old Billing History data
JE-
53692 Dependency packages are missing on the Debian 10 based Docker containers
JE-
53693 Dependency packages are missing on the Docker containers with the multiarch-support package requirement
JE-
53776 An error occurs when importing a CS package with NULL action parameters
JE-
53819 The “scale in” trigger does not work in accordance with the specified conditions
JE-
53829 An error occurs during the FTP add-on installation
JE-
53891 Corrupted values in the response.out and globals after the Kubernetes Cluster upgrade
JE-
53910 An error occurs when changing the external IP addresses count
JE-
53959 An error occurs upon removing a layer with any file (from that layer) opened in the dashboard’s editor
JE-
54020 The clone of the Memcached container has firewall rules for the nodes from the original environment
JE-
54022 The clone of the Memcached container has firewall rules with internal IPs of the nodes from the original environment
JE-
54028 Texts for some error pages should be improvedJE-54047An error occurs when working with the firewall rules
JE-
54154 An error occurs when creating Jenkins in the extra layer of the wizard
JE-
54268 The VCS deployment auto-update option is disabled after containers redeploy
JE-
54351 When deploying the .ear package to the same context as the existing .war one, the files from both archives are available
JE-
54368 The after-installation notification is not displayed on the dashboard if the page was reloaded during the package installation
JE-
54450 Docker containers from the custom registry cannot be created
JE-
54594 Some parameters are not substituted in the Swap IP action in the dashboard’s Task manager
JE-
54602 Ubuntu 20.04 containers cannot be connected via SSHJE-54610The file owner is changed upon adding a file to the Docker volume
JE-
54687 The horizontal scaling element of the topology wizard is displayed incorrectly upon zooming in in the Firefox browser
JE-
54794 When connected to SSH Gate, the containers list disappears when the Refresh option is selected for the environment
JE-
54805 The View Invoices button does not work for the latest versions of the Chrome browser
JE-
54814 Unhandled error when connected to SSH Gate and refreshing nodes list for the removed environment
JE-
54843 The GetEnvs API call returns incorrect value for the isInstalled flag
JE-
54844 An error occurs when adding a variable with a long numerical value
JE-
54858 The registration form is displayed in the non-default language after redirection from the deployment confirmation link
JE-
54887 The icon for the examples in API docs is broken
JE-
55016 Firewall rules are empty for the VPS containers after creation
JE-
55033 An error occurs when sharing multiple environments with a collaborator simultaneously
Table of Contents