Train Series Release Notes

3.0.0

New Features

  • This change allowed Qinling API to be used with Apache mod_wsgi and uWSGI.

    Using Apache/uWSGI is the best approach for a production environment, Apache virtualhost and uWSGI examples are available into etc/{apache2|uwsgi} directory.

    See Qinling documentation for details.

  • Add API reference documentation.

    The documentation covers functions, executions, versions, aliases, webhooks and jobs endpoints.

    See Qinling api-ref documentation for details.

  • Add CORS, HTTPProxyToWSGI and WSGI support based on oslo_middleware library in front of the Qinling API.

    The purpose of this middleware is to set up the request URL correctly in the case there is a proxy (for instance, a loadbalancer such as HAProxy) in front of the Qinling API.

    The HTTPProxyToWSGI option is off by default and needs to be enabled via a configuration value.

  • Docker support has been added to help people to test Qinling easily and quickly. Authentication has been disabled by default which means Keystone is not required.

    Dockerfile has been created to build Docker image from the master branch. Docker compose files have been created to deploy RabbitMQ, MySQL and Qinling API/Engine containers.

    Files have been added under tools/docker/ directory same as for the README with all the required instructions.

  • Add NodeJS 10.16 runtime, NodeJS 10.16 is the latest LTS version which provide many new features and performances improvement.

  • Qinling is now fully integrated within Kolla (Docker) and Kolla Ansible.

    Qinling features supported by Kolla:

    • Configure an external Kubernetes cluster

    • Use etcd from Kolla

    • Qinling API Apache WSGI deployment

    • CORS configuration

    See Kolla documentation for details.

Bug Fixes

  • When creating execution and webhook with function alias, they should always pick up the updated function and its version corresponding to the alias.

  • When creating job with function alias, the job could always pick up the updated function and its version corresponding to the alias.