v0.22.80
Pre-releaseThis release brings major improvements to AliECS, including a new trivial HTTP API in Apricot for shell scripts and users to access real time inventory information via HTTP (i.e. a plain curl call from anywhere), improvements and additions to the template system, and miscellaneous bug fixes. It also introduces workflow template hiding and dynamic input widget hints, used in the GUI to greatly improve workflow discoverability and usability. A new Integrated Services API is also provided to track the status of DCS, DD scheduler and ODC, and the plugin system itself now ensures that all integration plugins promptly reconnect in case of interruption.
-
Apricot trivial configuration endpoint (returns inventory on http://:47188/inventory/flps):
- [apricot] Apricot's new Http service is separated from the already existing service.
- [apricot] First uncomplete attempt at creating a Web Api for Apricot.
- [apricot] GetHostInventory returns an error variable as well as the hosts list.
- [apricot] GetHostInventory is called when needed, but isn't returning a result.
- [apricot] GetHostInventory is better optimised.
- [apricot] Host inventory is retrieved by http service, and converted to json or plain text.
- [apricot] Http service should 'gracefully' shutdown on exit signals.
- [apricot] Protofile takes the new GetHostInventory function into account.
- [apricot] Result of make generate after modifying the Protofile.
- [apricot] Temporary fix for having a working make all. No solution found to call for Service inside of ServiceHttp.
- [apricot] Temporary setup for tests.
- [apricot] The Http Service is linked to Apricot and is set up to be able to handle the inventory.
- [apricot] The HTTP Server is shut down using the Shutdown() function associated to it.
- [apricot] The function GetHostInventory is 'registered' in the configuration service.
- [apricot] The project builds after 'registering' the function GetHostInventory.
- [apricot] The HTTP Server returns the flps in either text or json depending on the format requested.
- [apricot] The HTTP Service is functional for FLPs and detector FLPs, for JSON and text format.
- [apricot] The Http Service is working after rebase.
- [apricot] The HTTP service can return FLPs associated to a requested detector.
- [apricot] The HTTP Service returns keys only once when it is both a key and a key prefix.
- [apricot] service.go doesn't have any unused imports.
- [apricot] Tab indentation is now replaced by spaces.
-
Workflow template hiding and dynamic input widget hints:
- [coconut] Update
templ listwith--all-workflowsflag - [core] Document VarSpec entries and make string the default type
- [core] Set default varspec type to string
- [protos] Add VarSpec message extending WorkflowTemplateInfo
- [repos] Prefer join over manual concatenation
- [repos] Filter invalid repo dirs
- [repos] Only list public workflows by default
- [repos] Add missing "tasks"
- [repos] Use path instead of filePath for repo identifier
- [repos] Care for missing trailing slash in repolist
- [repos] Move convenience functions to repoutils.go
- [repos] Add functions to parse public workflow variable info
- [repos] Remove AllowedKeyValues from VarSpec
- [repos] Fix case whoops
- [server] Update default widget and vartype values
- [server|coconut] Don't return variable information for coconut requests
- [server] Update vartype enum converter
- [server] Fix bool number in vartype enum
- [server] Include public variable info in GetWorkflowTemplates
- [coconut] Update
-
Integrated Services API:
- [coconut] Print Integrated Services information on coconut info
- [core] Expand plugin system with access functions for API calls
- [core] Integrated Services API call
- [core] Document IntegratedServices API values
-
Integration plugin improvements:
- [core] Reconnect all plugins continuously
- [core] Use keepalive with backoff for gRPC clients
- [core] Regenerate protofiles
-
Workflow template system improvements and fixes:
- [core] Ensure all contexts get the environment_id variable
- [core] Report a channel mismatch error on bad channel configuration
- [core] Add task information in channel config generator error
- [core] CreateEnvironment avoid overwrite error on failed deployment
- [core] Ensure task class defaults are template-processed
- [task] Consistent TaskClassIdentifier string construction
-
Miscellaneous:
- [common] Introduce runtype.RunType enum, matches DCS Protobuf RunType
- [core] Support multivalued Mesos attributes split by comma
- [core] Generate strings for system.ID enum values with enumer