Virtuozzo Application Platform 1.9 Release Notes

This document is preliminary and subject to change.

In this document you can find all the new features, enhancements and visible changes included in the PaaS 1.9 release:

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

New Features

Also 1.9 release includes the PHP improvements and other features added in previous releases.

FTP support

File Transfer Protocol (FTP) is a standard network protocol used to transfer files from one host to another over a TCP-based network.
For secure transmission that hides (encrypts) the username and password, and encrypts the content, it is used FTP secured with SSL (FTPS).

The platform supports both FTP and FTPS.

FTP advantages:

  • fast sharing of files (applications and/or data),
  • indirect or implicit use of remote computers,
  • shielding from variations in file storage systems among hosts,
  • reliable and efficient transfer of data etc.

To benefit from FTP with the platform, you need to meet two requirements:

  • to have FTP client installed (for example, FileZilla)
  • to switch Public IP for the node in your environment

More info

[Back to the list of New Features](#a)

Software stacks versions

The component templates are updated to the latest versions:

StackVersion
Tomcat 66.0.36
Tomcat 77.0.33
TomEE1.5.1
Jetty 66.1.26
GlassFish 33.1.2.2
Java 61.6.0_38
Java 71.7.0_11
MariaDB5.5.28a/10.0.0a
MongoDB2.2.2
MySQL5.5.29
PostgreSQL8.4.14
CouchDB1.2.0
nginx1.2.6
Maven3.0.4
Centos 66.3
Memcached1.4.15
Apache2.2.15
NGINX PHP1.2.6
PHP 5.35.3.21
PHP 5.45.4.11

More info

[Back to the list of New Features](#a)

TomEE support

Tomcat is the most popular open source application server among our developers, but for those of you who need more enterprise-ready server, we added TomEE.

TomEE is an all-Apache stack aimed at Java EE 6 Web Profile certification where Tomcat is top dog. Apache TomEE provides application developers with the best technology stack that can be deployed to a simple Java EE container. This application server combines several enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and more. In one word: Tomcat + Java EE = TomEE.

TomEE is a full-blown app server, but at the same time it stays simple and avoids architecture overhead. “Less is more” is the philosophy of Apache TomEE. It delivers Java EE 6 Web Profile in the simplest way possible. So, this application server runs without any additional runtime requirements or startup time for larger applications and it’s compatible with most of Tomcat-aware and Tomcat-tested tools.

More info

[Back to the list of New Features](#a)

MariaDB 10.0.0 support

MariaDB 10.0 is the development version of MariaDB. It is built on the MariaDB 5.5 series with backported features from MySQL 5.6 and entirely new features not found anywhere else. And now it is supported in the PaaS.

MariaDB 10.0.0 is an Alpha release targeted on those who might want to test it.

Do not use alpha releases on production systems.
If you want to try MariaDB 10.0 in the platorm, just add it as your database while creating your environment.

More info

[Back to the list of New Features](#a)

Caching in NGINX

Caching in NGINX is the process of storing data in front of web servers. For example, the files a user automatically requests by looking at a web-page can be stored in your NGINX cache directory. When a user returns to a page he’s recently looked at, the browser can get those files from the NGINX cache directory rather than the original server, saving time and traffic.

So caching improves performance while accessing to a resource in two ways:

  • reduces the access time to the resource by copying it closer to the user.
  • increases the resource building speed by reducing the number of accesses. For example, instead of building the homepage of your blog at each request, you can store it in a cache.

With the platform, you can use caching in both NGINX-balancer and NginxPHP server using /var/lib/nginx/cache directory which was specially created for this purpose.

More info

[Back to the list of New Features](#a)

PBA integration

Now except PBAS, the platform offers one more Parallels billing solutions - PBA (Parallels Business Automation). It is a more full-featured set of capabilities designed for larger hosting services that offer more services or larger-scale deployments.

Parallels Business Automation is the leading hosting and cloud services delivery system used by thousands of service providers worldwide, from the largest telecom operators in the world to top hosters and providers of vertical solutions. Parallels automation delivers a combination of great software, thousands of hosting and cloud services, and the expertise to help build a highly profitable business.

Integration with Parallels Business Automation provides many abilities, here are just some of them:

  • ability to convert user from trial to paid right from the platform dashboard

  • ability to refill PaaS account right from the platform dashboard

  • more payment methods: except cards and paypal the payment can be made through diners club or through any bank using cash

  • payment method management option (add, view,set default, delete)

  • autorefill for direct payment plugins (Diners)

More info

[Back to the list of New Features](#a)

Pricing System

The platform offers a flexible system of pricing which is called hybrid. At the same time the price can be differentiated due to some specific conditions using the system of tiers.

Hybrid pricing is a combination of two pricing types when you can state two cloudlet limits at the same time.

The first limitation is a reserved amount of resources. The payment for reserved cloudlets does not depend on the amount of actually consumed resources. It depends on the first stated cloudlet limit. That means that you are going to pay for the stated amount of cloudlets each hour even if the environment consumes less.
The second limitation is a dynamic amount of resources. That means that the first limit can be outsteped for the environment to be able to consume more resources but all extra cloudlets are going to be charged due to another tariff. At the same time instances are scaled automatically up and down, so you only pay for what is actually consumed over reserved amount.

In such a way you can state an appropriate amount of cloudlets you are ready to pay per hour on an ongoing basis and also some standby cloudlet number in case of resource consumption increase.

More info

[Back to the list of New Features](#a)

Fixes

The following table lists the bug fixes in PaaS 1.9.

#Description
JE-186702 error appeared while creating environment: Domain [xxxxxxx] not available.
JE-921702 error appeared while creating environment: not authenticated (session [undefined] not exist)
JE-4677Possibility to turn on HA on PHP tab after choosing NGINX application server
JE-5129502 error appeared while replicating GF nodes
JE-5527Error while cloning environment: {“result”:504, “source”:“server”, “error”: “HTTP transport error”,“statusText”: “Gateway Time-out”}
JE-5889Unbind happens after change of topology
JE-5899Error while configuring MariaDB: {“result”:99,“source”: “JEL”,“error”: “java.lang.StringIndexOutOfBoundsException: String index out of range: -1”}
JE-5925Permission errors for various tmp directories and cache files after deploying CakePHP using NGINX
JE-5930Incorrect days value in “your account destroyed” email notification
JE-5958Error while converting through PBAS: “user [276] don’t have any access rights to app […]"}
JE-5966Error occurs while deploying: {“result”:502, “source”:“server”, “error”: “HTTP transport error”, “statusText”:“Proxy Error”}
JE-6024Error while uploading to the lib folder : java.lang.NullPointerExeption
JE-6053Statistics for 2 app-servers is not shown
JE-6065Wrong link to “Admin panel” for DB in German-language dashboard
JE-6068Maven doesn’t pass passwords with special signs (@,#,$)
JE-6118Error while simultaneous uploading files to /opt/tomcat/lib: java.lang.NullPointerExeption
JE-6140Error while updating context ROOT {“result”:17, “error”: “java.io.IOException: Timeout while waiting for data."}
JE-6151“Your account has been deactivated” instead of “destroyed” in dashboard message for destroyed user
JE-6196Error while deploying war archive: {“result”:99,“error”: “java.lang.NullPointerException”, “source”:“JEL”}
JE-6206Error while trying to access a folder: {“result”:2002, “error”: “No such file or directory: ‘/opt/tomcat/temp/fileinstall-…'”, “source”:“JEL”}
JE-6238java.lang.NullPointerException while getting files in file manager
JE-6239java.lang.NullPointerException while restarting service
JE-6302Wrong message while recovering password if email is stated incorrectly
JE-6374NginxPHP doesn’t apply settings after restart
JE-6384Error while renaming context to “Root(": {“result “:99,“source”: “JEL”,“error”: “java.util.regex.PatternSyntaxException: Unclosed group near index 27\n/opt/tomcat/webapps/ROOT(/*\n ^"}
JE-6407Replicating nodes in environment reported an io error {“result”:17,“error”: “java.io.IOException: Timeout while waiting for data.”, “methodName”: “replicateNodes”}
JE-6436java.lang.NullPointerException while stopping environment
JE-6465Incorrect message in German language for suspended user
JE-6792Error while uploading several lib-files to app-servers: “java.lang.NullPointerException”
JE-6809Custom SSL doesn’t work after changing environment topology in environment with GlassFish
JE-6856Files don’t appear in Config tab after uploading to the environment with Maven
JE-6889An error occurs while trying to deploy file via URL: cannot verify SSL certificate
JE-6922Dogado’s letter “Your PaaS account was deactivated!” contains ${DAYS_COUNT} variable in the text
JE-6957Error while trying to create a new file: java.util.regex.PatternSyntaxException: Illegal repetition near index
JE-7214Error while deploying tar.gz: “result”:99, “error”: “/bin/tar: z: Cannot open: No such file or directory\n/bin/tar: Error is not recoverable: exiting now”, “source”: “JEL”,“responses”
JE-7330Error while deploying: {“result”:99, “error”:“mv: cannot move /var/www/webroot/ROOT//public_html/ .settings' to a subdirectory of itself, /var/www/webroot/ROOT// public_html/../.settings’"}
JE-7352Error after changing topology: “result “:99,“source”:“JEL”, “error”: “java.lang.RuntimeException: java.lang.RuntimeException: can’t find env id after move node to [18126]”, “params”
JE-7445Error while deploying: mv: cannot stat `/var/www/webroot/drrenz//empty/*': No such file or directory
JE-7452Error while deploying: /bin/tar: /var/cache/downloads/: Cannot read: Is a directory /bin/tar: At beginning of tape
JE-7585php-fpm.log should contain syntax errors instead of debug staff
JE-7617Headers http_host and server_name are not peroxided properly
JE-7648Ability to log in to the database without password (MySQL, MariaDB)
JE-7650Error while trying to unbind custom domain: {“result”: 2322, “error”: “domain [www.***.com] not found.”, “source”:“JEL”}
JE-7690SO file uploaded by the user can’t be deleted {“result”: 99,“error”: “rm: cannot remove `/usr/lib64/php/modules/***.so': Permission denied”…}
JE-7707Error while deploy {“result”:99, “error”: “bad CRC 7891eee3 (should be 447b13ed)"}
JE-7708Wrong logic of sending email notifications
JE-7804Rename file using “/": {“result” :2333,“error”: “Pathes are different.”, “source”:“JEL”}
JE-7860Exceptions are logged in the wrong file of GlassFish server