All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Slurm job information is now fetched from both the Slurm DB and the Slurm queue allowing to include ineligible jobs' data.
- Fixed issue with health check liveness at deployment time.
⚠️ Configuration Breakingdata_operationanddata_transfersettings are now configurable independently for each cluster.⚠️ Configuration Breakingdatatransfer_jobs_directivessetting is now underdata_operation.
⚠️ API Breaking Fix transfer directives serialization, now properties names are properly camelcased (see issue: #162).- Returns an error if the
transfer_methodchosen for large data transfer is not available. - Documentation about
streamerandwormholedata transfer methods. buffer_limitfor/filesystem/<system>/ops/*operation is now adapted to the value ofsettings.data_operation.max_ops_file_size(it was set to the value by default of 5MB).- Updated Demo launcher configuration.
- Fix error for PBS jobs when no nodes are assigned to it.
- Handle job arrays in PBS. Job IDs will be strings, and not integers anymore in the API responses.
- Remove hardcoded jfrog link from the wormhole download endpoint.
- Customizable Response's headers tracing log.
- File target check in S3 file transfer job for external file upload.
cluster.scheduler.connection_modesetting to configure how the client connects to the scheduler backend (ssh,restorhybrid)- Get jobs now allows to specify the account parameter.
- Fine grained probing services per cluster.
- Large file download via s3 no longer appends uuid to file name.
- File transfer examples with .NET
- Auto-selection of expected signature algorithm when alg attribute is not set in IdP JWKs endpoint.
- Firecrest streamer now computes checksums to validate data transfer
- Firecrest streamer transfer end-point returns immediate errors if target paths have issues.
- Firecrest Streamer no longer allows to overwrite existing files.
- Get jobs shows jobs up to one week.
- Firecrest streamer improved error handling, including remote errors.
- SLURM RESTAPI now validates the username claim on the access token from the
authconfiguration.
- Demo Launcher now is adapted correctly to the
data_operationsetup introduced in2.4.0 - Old link to the installation documentation
- Timeout value for commands executed via
filesystems/opsandstatusis now configured with command execution timeout setting - Stdout, stderr path are now fully expanded
probingconfiguration is optional now for theclusterssettings- Updated documentation for large data upload
- Compress and Extract end-points now support multiple compression types (none, bz2, gzip, and xz).
- Support for Magic Wormhole data transfer method
- The System Name path parameter and the corresponding Cluster name configuration are case insensitive.
-
Fixed Slurm sacct integration and data parsing.
-
Docker Compose startup: Added dependency for Slurm to wait for Keycloak health check before starting, preventing JWT certificate download failures.
-
Upload and Download transfer endpoints now require to specify transfer directives
-
Installation docs:
- Helm charts: FirecREST settings are all included in values.yaml file
- Changed documentation name from Deployment to Install
-
Improved direct upload endpoints size limit checks
- New data_operation setting to replace storage. The new setting decouples the max_ops_file_size parameter from the data_transfer settings that are now a child parameter of data_operation. Also, data_transfer can be of multiple types.
- Certificates debug information when SSH connection fails
- Add support for the OpenPBS scheduler.
- Add support for the DeiC ssh certificate authority.
- Allows to set the JWT claim that contains the username.
/filesystem/cluster-slurm-ssh/ops/viewendpoint now acceptssizeandoffsetparameters to read an arbitrary chunk of a file
- Refactor FastAPI models for Slurm, in order to make it easier to add new schedulers.
- Make cp recursive so that directories can also be copied and add the option to keep symbolic links.
- Support for clusters configuration files on option in Helm Chart: if enabled the a
firecrest-cluster-configsConfigMap is expected to expose YAML files for clusters configuration.
- Fixed Slurm timestamps parsing issues, timezone was not properly handled.
- Query parameter
allusersinGET /compute/jobsto show all visible jobs for the user in the scheduler - Environment variable
UVICORN_LOG_CONFIGto enable Uvicorn log configuration file path (analog to--log-config)
- Show nodes from hidden partitions using Slurm CLI
- Fixed reservation start and end datatime parsing.
- Handles instances where no Job exit status is provided.
- Fixed unnecessary user keys retrieval with SSH connection pool.
- Fixed proper SSH process termination on timeout.
UVICORN_LOG_CONFIGvalue on helm chart
accountoptional parameter to job submission requestscript_pathoptional parameter for submitting jobs from a remote file- JupyterHub example
- Documentation for logging architecture
- Workflow orchestrator example
- UI browser app example
- POST and PUT bodies request examples
- Documentation and examples in C# .NET
- Documentation for logging architecture
- Images for documentation
- Description of API definition
- Log for request and command execution tracing
- Fix health check for older versions of Slurm REST API (< v0.0.42)
- Slurm health check now uses "scontrol ping"
- Disabled cluster health checks won't cause errors
- Github pages changed to allow mkdocs syntax for notes and code samples
- New /status/liveness end-point (no auth is required)
- Improved health checker reliability
- Fixed Demo launcher when no public certificate is provided
- Demo launcher ssh login node checks socket connection instead executing a ping
- Removed deprecated keycloak configuration from docker dev environment
- FirecREST Web UI has been added to the demo image.
- Templates for upload and download using
filesystems/transferendpoint. - Return error code 408 when basic commands timeout on the cluster.
- Added
/filesystem/{system_name}/transfer/compressand/filesystem/{system_name}/transfer/extractcompressoperations (ontransferandopsendpoints) acceptmatch_patternparameter to compress files usingregexsyntax.
- Added new FirecREST demo image.
- Added support for private key passphrase.
- Images are now built for multiple platforms: linux/amd64, linux/arm64
Helm Chart now allows to dynamically set volumes and annotations.
Initial release.