Virtuozzo Application Platform 4.9.5

This document is preliminary and subject to change. In this document, you will find all of the new features, enhancements and visible changes included in the PaaS 4.9.5 release:

For detailed information on using any of the platform features, please refer to the users' documentation.

Features

Tomcat 9 Support
Ubuntu Support for Elastic VPS
Export/Import for Docker & Windows Containers

Back to the top

Tomcat 9 Support

Tomcat 9 (alpha stage currently) represents the latest release of the Apache Tomcat application server, which includes multiple changes and bug fixes (see the official changelog for details). Among the most notable treats, it runs only Java 8 engine and implements Servlet 4.0 version. Also, Tomcat 9 utilizes the latest Java specifications: JSP Spec 2.4,* EL Spec 3.1* and *WebSocket Spec 1.2* (the exact versions may be changed after the stable release). All of this ensures smooth and comfortable user experience during your Java apps development.
The platform delivers Tomcat 9 in a form of OpenShift-based cartridge and was integrated to all Platforms starting from PaaS 4.2 version. Herewith, similar to the rest of custom stacks, its availability at every particular cluster installation depends on hosting service provider settings.

More info

Ubuntu Support for Elastic VPS

Elastic Virtual Private Server represents a bare independent virtual machine. Extending the number of supported OS distributions for this kind of stack, the present PaaS upgrade includes provision of the platform-certified Ubuntu template for VPS hosting. The exact version of delivered OS distribution is the latest stable Ubuntu 16.04 release. This allows you to get all the functionality of isolated scalable VPS, simultaneously enhanced with Ubuntu performance capabilities.

Just as the rest of virtual private servers, Ubuntu-based VPS instance can be created right through the corresponding VPS section of the environment wizard. Herewith, unlike CentOS and Windows-based VPS instances, this stack doesn’t provide the inbuilt web interface for its management. Thus, all of the configurations should be applied through connecting to a node via SSH, where the full root permissions are granted.

More info

Export/Import for Docker & Windows Containers

In confines of PaaS 4.9.5 release, the environment export/import feature support was implemented for Docker- and Windows-based containers. From now on, you can effortlessly move environments containing such instances across hosting partners platforms.
Similarly to the Storage, VPS and Maven nodes, both Docker and Windows containers are created from scratch when migrated (in accordance to the exported environment topology). Herewith, imported containers won’t include any custom data (i.e. the appropriate Private Data and Configuration File options are disabled for selection within export frame). So, if needed, you should apply the corresponding changes and integrate the needed data manually afterwards.

The main Docker containers settings (such as variables, links, local volumes and run configs) will remain applied to containers at a new environment location. They are set the same for all instances within the appropriate environment layer based on the master node settings.

Note: Currently, exported environment copies with mount points from other environments or external sources can not be imported to a different PaaS installation. This possibility will be implemented in future releases.

Also, while moving Docker container that was deployed from a custom registry, the authentication data (username and password) won’t be transferred due to security reasons. Thus, in order to successfully import such environment, you need to preliminary specify these credentials within the appropriate exported manifest file.

More info

Improvements

Extended Custom SSL Support
Increased IO Performance for Dedicated Storage Container
Logging of Collaborators Actions
UI/UX Improvements
API Improvements
Engines & Supported OS Updates
Software Stacks Versions

Back to the top

Extended Custom SSL Support

PaaS 4.9.5 release includes extension of the list of servers, that support ability to attach custom SSL certificates, with a number of custom stacks. Namely, GlassFish 4, *Tomcat 8 *and Tomcat 9 templates were updated (Jetty 9 will be added shortly). So, the appropriate newly created containers will support automatic appliance of the HTTPS traffic encryption directly via user dashboard (whilst the already existing containers won’t be patched to get this possibility).

In case any of the above mentioned stacks is not available at a Platform you use, appeal to your hosting provider and request its addition.

More info

Increased IO Performance for Dedicated Storage Container

In the current 4.9.5 Platform upgrade, another major update was applied to the Dedicated Storage Container in order to implement usage of more fast and optimized Kernel Based NFS server instead of the FUSE one. This grants notable boost of server performance, increasing efficiency and user-appeal of the solution.

The new functionality will be automatically provided for the newly created Storage containers. In order to update the existing ones, the corresponding environment should be entirely stopped and then started again (i.e. not through just restarting a particular node) to apply the required changes.

More info

Logging of Collaborators Actions

The platform account collaboration is substantial and highly valued by developers feature, as it allows to access a single environment from different accounts (e.g. organization units). Herewith, provided privileges can be tuned for each user separately by assigning one of the roles: viewer with general access permissions and admin with ability to change environment topology and full SSH access.

Starting with 4.9.5 PaaS version, environment owner is provided with information on all actions, applied to it by other collaboration participants. This is ensured with a special User column, added to the Tasks manager dashboard panel. It is shown only for owners (creators) of shared environments and provides email of the collaborator the changes were made by.

More info

UI/UX Improvements

File Manager
Task Panel
JPS Import Examples

File Manager

The platform configuration manager provides an easy access to the container file system through the dashboard. This allows to apply some common configurations right via your browser with no additional tools required.
Here are a few improvements that were implemented to configuration manager within the current platform upgrade in order to make it even more user-friendly:

  • the path string above filesystem tree is now displayed without ROOT at the beginning, in such a way designating the location relatively to this main directory
  • location of the currently selected file or folder is automatically added to the path bar at the top, allowing to easily define where it’s placed and copy path to it
  • the *Additionally *actions list was complemented with the new Copy Path option, that will add it to the clipboard
  • the return option (in a view of backward arrow) was added to the beginning of file list, allowing to move one level up within file tree
  • for the opened files, the Refresh button was moved to the left (next to the Search one), while the full file path is now displayed within the remaining panel part

More info

Task Panel

As a part of the dashboard interface, Tasks panel is used to monitor and analyze actions performed by the platform. Obviously, the displayed here data should be easily perceived. Thus, for now the list won’t jump up to display the currently ongoing action during scrolling down and exploring other tasks, granting better user experience.

Also, some changes were applied to the minimized Tasks panel mode (can be enabled with the doubled down arrow at the top-right corner of the section). Upon this panel folding, the remained single row will show the following information according to the amount of active actions:

  • multiple tasks - shows the number of currently performed actions (e.g. 5 active tasks)
  • one task - gives description for this ongoing action (e.g. Adding Nginx 1.10 node to {environment name})
  • no tasks - displays the idle status label (i.e. No active tasks)

More info

JPS Import Examples

The platform import is a highly demanded feature that allows to install any JPS package (i.e. JSON manifest file with environment or add-on description) right through the dashboard. This time, in order to improve the package delivery process, the new Examples link was added to the Import frame.

Upon selecting it, you will be redirected to the JPS Collection page, which offers numerous ready-to-go packages and add-ons. This way, you can find the most suitable solution according to your needs or just explore them for being used as a basis for your own sample.

More info

API Improvements

“Get” Methods for Maven Build Node
Returning Node Domain Name as Part of Endpoint Data

“Get” Methods for Maven Build Node

The PaaS 4.9.5 release also includes new GetProjects API method, aimed to simplify remote Java VCS projects management. This request allows to fetch list of all projects, added to a Maven build node, and operates the following parameters:

  • session (string) - is used to check user authentication
  • envName (string) - selects the target environment
  • nodeGroup (string) - points to the environment layer (use the “build” one)
  • nodeId (integer) - numerical identifier of the container

Also, another GetProjectInfo method was supplemented with a new projectName parameter, which allows to get information about the project by its name, shown in the dashboard (rather than only by its unique ID, which should be additionally fetched with the GetProjects, getEnvs or getEnvInfo method).

More info

Returning Node Domain Name as Part of Endpoint Data

In the present 4.9.5 PaaS release, responses of the API methods that provide information on attached endpoints were extended with additional field. It was added to return the corresponding node(s) domain name alongside with the information on listened public and private ports.

Namely, the AddEndpoint request and, in case of the attached endpoints presence, responses for the GetEnvInfo and GetEnvs calls were enhanced. This allows to get the whole node access URL much easier through combining domain name with the corresponding public port value.

More info

Engines & Supported OS Updates

The regular software stacks renovation, performed upon each Platform release, this time includes the following notable updates:

  • the major PHP 7.0 version was updated to the 7.0.13 release, which replaced the preceding 7.0.10 one to fix the number of bugs and security issues
  • the most recent PHP 7.1 engine was integrated to Platform as well, providing numerous improvements and major features that can be explored within official documentation
  • to support out-of-box interconnection between Apache Python application server and PostgreSQL database, we’ve added the dedicated postgresql-devel package to the appropriate app server template
    Note: This improvement is compatible since 4.6 PaaS version, so all newly created Python containers at such platforms will include the *postgresql-devel *package. If being needed for the legacy (i.e. the already existing) servers, it still should be installed manually.
  • the latest releases of Fedora 25 and Ubuntu 17.04 were added to the list of supported OS for Docker containers

As usual, the full list of the most recent software stack versions, included to the present PaaS release, can be checked within the corresponding section below.

Back to the list of Improvements

Software Stack Versions

The component templates versions have been updated to their latest versions since the previous release:

StackPaaS 4.9.5
Tomcat 66.0.48
Tomcat 77.0.73
TomEE7.0.2
Jetty 66.1.26
GlassFish 33.1.2.2
Java 61.6.0_45
Java 71.7.0_79
Java 81.8.0_112
MariaDB5.5.51 / 10.1.16
MongoDB 2.62.6.11
MongoDB 3.03.2.1
MySQL5.6.34 / 5.7.16
PostgreSQL9.5.5
CouchDB1.6.1
nginx1.10.1
Maven3.3.9
Centos 77.2
Memcached1.4.24
Apache2.4.6-40
NGINX PHP1.10.1
NGINX Ruby1.10.1
PHP 5.35.3.29
PHP 5.45.4.45
PHP 5.55.5.38
PHP 5.65.6.28
PHP 77.0.13
PHP 7.17.1.0
Ruby 1.9.31.9.3-p551
Ruby 2.0.02.0.0-p643
Ruby 2.12.1.9
Ruby 2.22.2.5
Ruby 2.32.3.1
Python 2.72.7.12
Python 3.33.3.6
Python 3.43.4.5
Python 3.53.5.2
Node.js0.10.46 / 0.12.15
Node.js 44.26 / 4.3.0 / 4.5.0
Node.js 55.1.1 / 5.6.0
Node.js 66.5.0

Bug Fixes

In the table below, you can see the list of bug fixes in PaaS 4.9.5:

PaaS 4.9.5
#Description
JE-13842JSON parse exception status appears during file upload in case of receiving an empty response
JE-26579Directory with a file, which includes double quotes " symbol in its name, is displayed as empty in the File Manager directory tree
JE-28790Incorrect error message text for building project failure via Maven
JE-28807Legacy php-mysql libraries for the MySQL 5.7 server version
JE-28829Inability to read the previously opened in Configuration Manager file in case its name starts with double underscore “__”
JE-28851Sometimes, the Additionally menu can not be opened for image files
JE-28884Unhandled error while deploying a broken project to GlassFish 4
JE-28888Private network routes are missing after migrating environment with external IP attached
JE-28906Environment containers are accessed over HTTPS even with Built-in SSL being disabled
JE-28952Access to directory with a file, which includes double quotes " symbol in its name, is denied within the File Manager directory tree
JE-28997Incorrect description for some processes in the Tasks Panel during Let’s Encrypt add-on installation
JE-29075Incorrect error message while trying to add Docker image based on the unsupported OS template
JE-29077Rarely, account can be charged for broken or deleted environments
JE-29082The Favorites section within node Configuration Manager tab is not available for collaboration users without the Change topology/SSH access permissions being granted
JE-29110White block appears at the top left corner of the dashboard during its loading
JE-29133Container migration to another region in live mode fails in case the vzctl process is active on this moved instance
JE-29222An error occurs while trying to deploy some specific Java and PHP projects via Deployment manager
JE-29357The webroot/ROOT directory owner in the imported environment differs from the original one in case it was exported without Private Data
JE-29466Incorrect order of public and private IPs in the IP address list after swapping external IPs between two environments
JE-29507Incorrect output for platform CLI methods, run with the –silent property
JE-29511Empty space appears next to the Status tab upon Task Panel being reseized
JE-29518The Full screen button is displayed over the Tasks Panel if it superimpose Deployment Manager
JE-29553Folders within Favorites section in Configuration Manager are displayed in lowercase
JE-29583The Date column within Task Panel is displayed with artifacts upon zooming it in browser tab
JE-29589Files with size greater than 1 GB can not be transferred by NFS server
JE-29596Context redeploy at Tomcat 8 application server causes container corruption
JE-29599Inability to use CLI methods, implemented within preceding Platform minor release
JE-29672Incorrect error message appears while adding Docker volume from the unavailable external server
JE-29695Unhandled error while trying to delete an environment that was already removed by cluster admin
JE-29705Some buttons at the dashboard are highlighted with yellow frame upon being clicked
JE-29706The Name column within the Docker Variables section is displayed with artifacts upon zooming it in browser tab

Back to the top