tsr 0.8.0 release notes

Welcome to tsr 0.8.0!

These release notes cover the new features, bug fixes, backward incompatible changes, general improvements and changes in the API you’ll want to be aware of when upgrading from tsr 0.7.0 or older versions.

What’s new in tsr 0.8.0

  • tsuru now supports associating apps to plans which define how it can use machine resources, see backward incompatible changes for more information about which settings are no longer used with plans available, and how to use them.
  • When using segregate scheduler, it’s now possible to set a limit on how much memory of a memory will be reserved for app units. This can be done by defining some new config options. See the config reference for more details.
  • The behavior of restart, env-set and env-unset has changed. Now they’ll log their progress as they go through the following steps:
    • add new units;
    • wait for the health check if any is defined in tsuru.yaml;
    • add routes to new units;
    • remove routes from old units;
    • remove old units.
  • tsuru now supports multiple configuration entries for the same IaaS provider, allowing a multi-region CloudStack or EC2 setup, for example. For more details, check the Custom IaaS documentation.

Bug fixes

  • docker-pool-teams-add: fix to don’t allow duplicate teams in a pool (issue #926).
  • platform-remove: fix bug in the API that prevented the platform from being removed from the database (issue #936).
  • Fix parameter mismatch between bind and unbind calls in service API (issue #794).

Other improvements in tsr 0.8.0

  • Allow platform customization of environment for new units. This allow the use of virtualenv in the Python platform (contributes to fixing issue #928)
  • Improve tsuru API acccess log (issue #608)
  • Do not prevent users from running commands on units that are in the “error” state (issue #876)
  • Now only the team that owns the application has access to it when the application is created. Other teams may be added in the future, using app-grant (issue #871)

Backward incompatible changes

The following config settings have been deprecated:

  • docker:allow-memory-set
  • docker:max-allowed-memory
  • docker:max-allowed-swap
  • docker:memory
  • docker:swap

You should now create plans specifying the limits for memory, swap and cpu share. See tsuru-admin plan-create for more details.

API changes

For more details on the API, please refer to the tsuru API documentation.

  • /app/<appname>/run: the endpoint for running commands has changed. Instead of streaming the output of the command in text format, now it streams it in JSON format, allowing clients to properly detect failures in the execution of the command.
  • /deploys: list deployments in tsuru, with the possibility of filtering by application, service and/or user (issue #939).