tsurud 0.12.3 release notes¶
Welcome to tsurud 0.12.3!
On some unstable network environments it was possible for a deploy to remain frozen while running Attach and Wait operations on the docker node. This can happen after a network partition where the connection was severed without FIN or RST being sent from on end to the other.
This problem was solved in two different ways. First TCP keepalive was enabled for all connections with the Docker API. This way if there are any problems severing the connection, the keepalive probe will hopefully receive RST as an answer when the connectivity with the remote server is re-established, closing the connection on our end.
As a failsafe, while tsuru is blocked on Attach and Wait requests it will also keep polling Docker for the current container state. If the container is stopped it means that the Attach and Wait operations should have ended. At this moment tsuru will resume the deploy process and ignore the output from Attach and Wait.
Use the KeepAliveWriter across all streaming handlers in the API, so the API is able to cope with small timeouts in the network.
Add a service level proxy so service APIs can have management plugins. This proxy endpoint checks the permission of the user as an admin of the service. The other proxy endpoint checks the user permission in the service instance.
- Fix bug in
/units/statusroute that is called by bs containers. The bug caused this route to return a 500 error if the request included containers with the status
buildingin tsuru’s database.
- Fix error message in the docker-node-update handler when it’s called with an invalid name (issue #1207).
- Fix bug in Procfile parsing in the API. We used to parse it as YAML, but a Procfile is not really an YAML.
- Properly manage repository permissions in Gandalf after running app-set-team-owner (issue #1270).
- Fix quota management for units in applications (issue #1279).