Jelastic PaaS 1.9 Release Notes

This document is preliminary and subject to change.

Note: More info due to each feature will be added in the nearest future.

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

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

New Features

Also 1.9 release includes the PHP improvements, Disk I/O limitations and other features added in previous releases.

JCA Features


  1. Hardnodes components check result in JCA

    This feature allows Jelastic Core to query the hardnode and check if it is configured properly to be used by Jelastic Platform.
    Main Hardnode check application runs a list of tests and gathers the information about hardnode’s state. Each check application is a dynamic separate module. New modules can be easily added to the list of existing.
    The results of the checks are shown in the JCA panel.
    Navigate to Cluster > Hardware nodes.
    The result of this check can be seen in the State tab.
    If the hardnode is configured properly all the modules are marked with Ok green icon.
    And if any configurations failed the hardnode is marked with red colour. Hover over this hardnode to see a message explaining the problem (for example, “module_name is not enabled”). Also the same error message you can see in the State tab near the problem module.
    More info
    Back to the list of JCA improvements

  1. Hardware nodes statuses are shown in JCA

    In JCA you can see or even state a status for any hardware node you wish. There is a distribution between such statuses:
  • ACTIVE - working node to which containers can be added;
  • EVACUATING - the node is in the process of evacuating containers. In this case the node can’t be edited or removed.
  • BROKEN - there are some errors in work of the node;
  • EVACUATION_FAILED - the process of evacuating fails;
  • EVACUATED - the process of evacuating is completed successfully;
  • MAINTENANCE - the containers on the node are working but the new ones are not being created;
  • INFRASTRUCTURE_NODE - the infrastructure node can’t be used for evacuation;

Navigate to Cluster > Hardware nodes to see the status of the node in the given table.

While adding a new hardware node choose its status. To do this choose the node and click Add. At the bottom of the opened window box you’ll find Status menu item. Using drop-down list choose the needed status, fill in all required fields and confirm your choice.

Also you can change the status of the node. To do this choose the node and click Edit. At the bottom of the opened window box you’ll find Status menu item. Using drop-down list choose the needed status and confirm your choice.

More info Back to the list of JCA improvements

  1. Migration algorithm during container evacuation is modified

    To perform evacuation of containers choose a node and click Evacuate Containers on the toolbar.
    In the Evacuate Containers dialog that opens you’ll see the list of active hardware nodes which can be used as target node for evacuation.
    Here you have a choice how to choose a target node for evacuation:
  • Do not choose any node and just click Evacuate.
    The choice of the target node will be done automatically due to such requirements:

    • the node should have lower load than others;
    • the node should not contain the containers of the same type and from the same application.
  • Choose several nodes and click Evacuate.
    The choice of the target node will be done automatically among the chosen nodes due to the requirements stated above.

  • Choose a needed node from the list and click Evacuate.
    In this case evacuation will be performed to the chosen node.
    Navigate to Evacuation State tab in the right panel to see the condition of the process. Here you can stop the evacuation by choosing the needed node and pressing Stop button. After this the containers which have already begun to migrate will complete this process but the rest of containers will not start migrating. More info
    Back to the list of JCA improvements

  1. Smart live migration: improved and displayed in JCA

    Each virtual machine at a time can demand a maximum available resources and this can cause completing of all resources on the physical server on which such machines are located.
    The mechanism for solving this difficult task seamlessly is called Smart Live Migration. The essence lies in continuous optimization of the load on the physical servers, which ensures that all applications get the demanded resources, and prevents cluster imbalance. Migration ensures steadiness of users applications work.
    Migration works in a cluster mode.
    In the migration system it is implemented the protection from:
    • failed migrations;
    • failure of the application server, which controls the migration.
      For physical migration SIMPLE_ONLINE (virtuozzo) mode is used.
      Migration takes minimum time due to the optimal choice of the target nodes.
      The system checks the migrations correctness and elaborates the failures and blackouts of the process that caused migration.
      The state of migration or its result can be seen in JCA.
      Navigate to JCA > Migrations to see a full list of all migrations ever performed. The displayed table contains the information about Source and Target hardware nodes, Type of container, Start and End time, and Duration of migration process.
      Status of migration is marked with the icons:
    • green - Completed
    • red - Failed
    • yellow - In progress The data in the table can be sorted with a help of Search. State Source/Target hardware nodes and Status if you want some peculiar migrations to be displayed.

More info Back to the list of JCA improvements

  1. Dashboard customization through JCA


    Now you have a possibility to customize and manage a set of URLs and UI parameters through JCA.
    Navigate to System Settings > Links to see the list of links which are used at the dashboard and in the email notifications. Here you can look through and edit default URLs or add your own. You can add the URLs for some separate groups of users or even differentiate them due to the used language.
    Navigate to System Settings > User Interface to see the list of parameters which are used at the dashboard. You can manage these parameters by enabling or disabling them at all or for some separate groups of users or even due to the used language.
    More info
    Back to the list of JCA improvements

  2. Ability to bulk change group


    Now you can change the group of several users at the same time manually:

  • Tick the needed users.
  • Click Change group button.
  • Choose the group (trial, billing, beta or post).
  • Tick Email notification if you want to inform chosen users about the change of the group.
  • Confirm your decision.
    Also you can sort the users due to their group by choosing the needed group from the drop-down list (all, billing, trial, beta or post).
    More info
    Back to the list of JCA improvements
  1. Show funding history for billing users

    Using JCA you can see the funding history of billing users. To do this navigate to JCA > Users.
    Choose a user you are interested in by clicking on it and choose Funding history tab to the right.
    The given table contains the information about payments made: Date, Amount and Operations type. There are such Operations types:
  1. Ability to delete user environments that had errors during creation


    Sometimes when an error occurs while creating the environment, this environment can be not visible at the user’s dashboard but added to the list of the database. In such a case there is a possibility to delete such failed environments through JCA.
    Navigate to Cluster > Environments. If any environment is broken it is marked as gray.
    To delete such environments choose those broken environments that you want to delete and click Clear broken button.
    If you want to delete all broken environments click Clear all button.
    More info
    Back to the list of JCA improvements

  2. Logging for actions in JCA


    To see Actions log table with information about the actions performed by JCA users navigate to JCA > Access control > Audit Log.
    In the given table you can see such information displayed:

  • Date when action was performed
  • User ID
  • Service influenced by action
  • Method used for performing action
  • Parameters (hover over a parameter to see a full text of it)
  • Duration
  • Result (Success or Error description)
    You can sort the data in the table due to
  • time interval
  • User ID
  • Service name (Service + Method)
    Just specify the needed parameters and Refresh the displayed information.
    More info
    Back to the list of New Features

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).
Jelastic 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 Jelastic 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

Software stacks versions

The component templates are updated to the latest versions:

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

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

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 Jelastic.

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 Jelastic just add it as your database while creating your environment.

More info Back to the list of New Features

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 Jelastic 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

PBA integration

Now except PBAS Jelastic 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 Jelastic dashboard

  • ability to refill Jelastic account right from jelastic 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)

With PBA bridge installation guide you can make all necessary settings to provide the end-users with PBA billing system advantages.

More info Back to the list of New Features

Pricing System

Jelastic offers a flexible system of pricing which is called hybrid. It is a combination of two pricing types when a user can state two cloudlet limits at the same time.

The first limitation is a reserved amount of cloudlets (e.g. 5 cloudlets as it is shown in the image below). That means that a user is 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 cloudlets (e.g. 30 cloudlets as it is shown in the image below). 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.

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

At the same time the price can be differentiated due to some specific conditions using the system of tiers. Also there is a possibility to assign different pricing models to different groups of users.

All pricing management is performed through JCA using Billing menu.

More info Back to the list of New Features

Pentaho reports

Pentaho tightly couples data integration with business analytics in a modern, integrated, embeddable platform built for the future of analytics, including diverse and big data requirements.

Powerful business analytics are made easy with Pentaho’s suite for data access, visualization, integration, analysis and mining.

Through an interactive and easy to use Pentaho web-based interface you can access analyzed and visualized data across multiple dimensions.

Jelastic provides you with access to the Pentaho dashboard where a wide range of reports connected with the end-users are presented.

More info Back to the list of New Features

GrayLog2

Graylog2 is an open source log management solution that stores your logs in ElasticSearch. It consists of a server written in Java that accepts your syslog messages via TCP, UDP or AMQP and stores it in the database. The second part is a web interface that allows you to manage the log messages from your web browser.

Using this system provides a wide range of advantages for the development process. It gives a possibility to easily view the current state of the services, see the result of some changes made, subscribe for email notification and so on that allow to be faster and more flexible in detecting and resolving the problems. Also this helps to respond much faster as there is no need to go to the servers and view the logs for all containers but just use an appropriate convenient web panel.

More info Back to the list of New Features

Templates building from RPMs

RPM is a system for placing all the files for a software package in one object (the rpm file) with some information about where the files go, of what type they are and what the package does.

Using this feature templates of nodes are collected directly of container and a set of template node RPM files. In such a way there is no necessity in creating any extra templates. So as a result template node can be excluded from the cluster.

Among the advantages of implementing this feature we can distinguish the following:

  • simple upgrade of software inside container;
  • no more preinstalled templates;
  • one-click installation of custom applications inside container (like ftp server) etc.

Back to the list of New Features

HTTPS for database admin web-pages

The links to database admin pages from Jelastic dashboard point to https:// if Secure Sockets Layer (SSL) is switched on for the environment where the requested database is added.

Back to the list of New Features

Fixes

The following table lists the bug fixes in Jelastic 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-5023Containers report of billing counts in JCA stopped and slept containers
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-6036When account.trialperiod quota is set to anything other then -1, trial user with bonus=0 is notified about trial expiration and get deactivated
JE-6053Statistics for 2 app-servers is not shown
JE-6059Problem with PayPal plugin on PBAS
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-6141User can be deactivated during conversion to commercial group
JE-6149PBAS: pass fraudcheck flag to create account method
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-6356User can be deactivated by his group quota window instead of his personal quota value
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-6386Credits of some paid and trial users aren’t consumed
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-6599Activate Account command does not reset account group timestampt, so account is deactivated again in a few minutes
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 Jelastic 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-7366Script in Hivext doesn’t have access to env containers via IP: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
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-7644Incorrect displaying conversion of disk capacity in JCA
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-7760java.lang.NullPointerException during environment sleep
JE-7804Rename file using “/": {“result” :2333,“error”: “Pathes are different.”, “source”:“JEL”}
JE-7860Exceptions are logged in the wrong file of GlassFish server

What’s next?