Xena Series Release Notes



Now Storlets supports some new features to optimize resource usage by storlet containers. Also, management of docker containers was refactored and re-implemented by the docker python sdk, to allow more flexible and secure container management.

New Features

  • The new timeout feature has been added to the agent processes running in storlet containers. This feature makes storlet containers and storlet daemon processes inside these containers to terminate automatically if the process receives no requests for 300 seconds.

  • Now storlet containers are started with auto remove flag enabled. Because of this change the containers are automatically deleted after these are stoped (manually or because of timeout).

  • The agent processes inside storlet containers now accept SIGHUP signal and shutdown gracefully.

  • The new max_containers_per_node option has been added to the docker gateway configuration file. This option limits the number of storlet containers in a single node, and would be useful to distribute containers among multiple nodes. This parameter should be carefully determined based on actual workload. If the limit is too low, clients might experience frequent 503 errors because the required storlet container cannot be launched in the cluster.

Upgrade Notes

  • The restart_docker_container script has been removed, and now the storlet_handler middleware directly communicates with the docker daemon to manage docker containers. Because of this change, now the user to run swift processes (which is usually the swift user) should belong to the docker group.

  • Now managed_by=storlets is added as a tag to all storlet containers, to look up containers launched by Storlets. All existing containers without this tag should be stoped and removed during upgrade to use the new max_containers_per_node option.