6.83 KB
Newer Older
1 2
# Zoe Changelog

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
## Version 2018.12

* Implement a disabled label that lets admins disable hosts for maintenance reasons
* Support running behind a reverse proxy
* Option to get usage metrics from influxdb/telegraf
* Show termination reasons on the web interface
* GitLab authentication via OAuth2
* Add a PAM login option
* Implement alternative to websockets for log streaming to the web interface
* Implement users, roles and quotas
* Implement pagination for the execution list
* Implement RANDOM and WATERFILL placement policies
* Dynamic job size calculation lets prevents starvation of jobs waiting in the queue
* Perform synchronous termination at the end of the scheduler loop to prevent race conditions
* Removed deprecated features: Swarm back-end and the simple scheduler

19 20
## Version 2017.12

21 22 23 24 25
* New Docker Engine back-end, the Swarm back-end is now deprecated
* Nodes and ZApps can be labelled for constraining execution placement, for example to run ZApps only on nodes with GPUs
* Use non-reserved memory, cores, labels and image availability to take placement decisions
* The elastic scheduler is considered stable, the simple scheduler is now deprecated
* Expand the status page for the administrator
* More information about authentications in the log output of zoe-api
27 28 29 30 31 32 33 34 35
* Endpoint links in the web interface open in new windows
* Distinguish between reserved, allocated and in-use resources
* Allocate cores automatically, respecting the minimum configured in the ZApp
* Small graphic updates to the execution inspect web page
* Allow for more options and resource limits to be customized on the web interface (users or admins, not for guests), maximum limits are set in the zoe.conf file
* Additional volumes can be mounted by specifying them in the zoe.conf file
* Update unit and integration testing
* Elastic services that die are rescheduled on a new node
* Optional support for gathering usage metrics via KairosDB, for now these metrics are only used in the status page plots
36 37
* Fix UTC and timezone bugs for execution timestamps
* More configuration options for LDAP authentication

Daniele Venzano's avatar
Daniele Venzano committed
39 40 41 42 43 44 45 46 47 48
## Version 2017.09

* Major web UI redesign
* New app shop, users can choose applications from a catalog in the web interface
* New status page for administrators to check on the elastic scheduler status
* Split command-line tools for user and admin tasks
* Provide an integrated way of managing ZApp logs, by receiving UDP GELF messages into a simple directory structure
* The elastic scheduler is now fully tested and ready for production use 
* Extensive documentation updates to the install procedure

49 50
## Version 2017.06

Daniele Venzano's avatar
Daniele Venzano committed
51 52 53 54
* ZApp description format revision
* use JSON schemas to validate ZApps
* Expand the execution list API, adding filtering capabilities to limit the number of results returned
* Several minor bug fixes
55 56 57 58 59 60
* Deployment scripts and zoe frontend moved to external repository for easier maintenance and testing
* Removed proxy code
* ZApps have been split into multiple repositories for easier maintenance, testing and automated building
* Tyk or Kong can be used to provide SSL termination and authentication to the API
* Documentation update
* A new script `` can be used to create the schema in an empty database, useful for CI scenarios

Daniele Venzano's avatar
Daniele Venzano committed
62 63 64 65 66 67 68 69 70 71
## Version 2017.03

* Major documentation update
* Deployment scripts to install Zoe on Linux (Kubernetes or Swarm back-ends) or Windows
* Kubernetes back-end
* Updated Swarm backend, uses the new Docker Python API
* Zoe code now goes through an automated testing pipeline
* Added unit and integration tests
* Preview of the new AngularJS front-end

72 73 74 75 76 77 78
## Version 0.10.2

* Documentation updates
* Log management bug fixes
* Fix a bug with the scheduler time trigger
* Sort by ID when listing execution from the command-line client

79 80
## Version 0.10.1

Daniele Venzano's avatar
Daniele Venzano committed
81 82
* Service discovery API endpoint: simple, read-only, unauthenticated access to a list of DNS names of services. Needed for frameworks that need a list of hosts for configuration, can be used by scripts in the images.
* Add `-s` option to the `start` command of the commandline client to have it wait for execution termination and stream the log meanwhile.
Daniele Venzano's avatar
Daniele Venzano committed
* Add the `workspace-deployment-path` option in the configuration file. It should be used when the workspace path should be build not with the deployment name, but with something else.
Daniele Venzano's avatar
Daniele Venzano committed
84 85
* All errors generated by docker while creating containers are now considered as fatal, except the "not enough free resource" one. When a fatal error is generated, Zoe will not try to start the execution again.
* Error messages generated by Docker are now exposed to the user
Daniele Venzano's avatar
Daniele Venzano committed
* (experimental) if the configuration option `service-log-path` is set, container output is saved from docker into the specified directory. If the logs are big, this can have a significant impact on execution termination time

88 89 90 91
## Version 0.10.0

* This version is the start of a new series of releases moving toward a new architecture
* Only one overlay network (created by the sysadmin) will be used by all Zoe executions. We provide Dockerfiles for SOCKS and SSHd containers that can be used to give users access inside the Zoe overlay network. These containers will no longer be managed by Zoe.
Daniele Venzano's avatar
Daniele Venzano committed
92 93 94
* Move the REST API in the web process and add a ZeroMQ-based API between the web and the master.
* Move all user management in the web process.
* Use Postgresql to store the state
* Rename the zoe-web component in zoe-api to better describe its new role
Daniele Venzano's avatar
Daniele Venzano committed
* User authentication can be performed by a CSV text file or via LDAP

98 99 100 101 102
## Version 0.9.7

* Check application description version during validation.
* Bump application description version to 2 since we are going to make some major changes in the format
* Add fields `total_count`, `essential_count` and `startup_order` to service descriptions.
* Comment code related to the parsing of cluster statistics from Swarm. The data returned by API changes too often and parsing it consistently is too complex. A bug is open on the Swarm issue tracker.
104 105 106 107 108 109 110 111 112 113 114 115

## Version 0.9.6

* Workspaces: Zoe now supports starting containers with a directory from the hosts mounted as a volume. The directory is private for the user and is not wiped when the Zoe execution terminates. There are some issues with file permissions when the container images define users with arbitrary UIDs.
* Add an error status and error message visible to the user when Zoe fails starting an execution
* Add a Docker Compose file to help test deployments
* The gateway container image is now configurable
* Move applications to their own repository (zoe-applications)
* Move the Zoe logger code into its own repository
* Update the stats module to the latest Docker version. Since the Python Docker API refuses to provide machine readable output, we have to stay locked to Docker versions
* Add date and time to log output produced by Zoe processes
* Expand the web interface, users can now list, start, terminate and restart executions