Aller au contenu

Squash Orchestrator 6.0.0 Release Note

Introduction

Squash Orchestrator is a set of micro-services to perform automated test execution workflows described in a specific format.

This release note describes the changes of Squash Orchestrator version 6.0.0 compared to 5.1.0.

Squash Orchestrator 6.0.0 was released on May 5, 2025.

New features

  • Issue orchestrator #488 Allow to define the desired concurrency level for a given workflow or group of workflows
    Issue orchestrator #698 Emit Notifications on concurrency group changes
    Issue orchestrator #695 Improve error message if two tasks from the same workflow attempt to enter the same group concurrently
    It is now possible to define, for a workflow or a job, a concurrency group. This parameter is used to disable the concurrency between different workflows or jobs, based on the value set in the parameter. More information can be found here.

  • Issue orchestrator #644 Retention period for unreachable agents
    The orchestrator will now automatically remove unreachable agents after a certain time. This is done through the configurable parameter unreachable_deregistration_timeout_minutes, set by default to 60. It is now also possible to set the default value for the liveness probe, through the liveness_limit_seconds parameter. More information can be found here.

  • Issue orchestrator #455 A workflow affected to a deleted agent should be killed
    Deleting an agent will now stop the assigned workflow.

  • Issue orchestrator #471 Add a PENDING status for workflows
    Workflows can now have a PENDING status. It is used to define a workflow that has not done anything yet, for example if it is still waiting for an execution environment (and no job already started).

  • Issue orchestrator #668 Make the attachments retention period configurable
    A new context parameter retention_period_minutes is now available in the localstore to configure the attachment retention. A new environment variable RETENTION_PERIOD_MINUTES can also be used to control the value for both the localstore and the observer.

  • Issue python-toolkit #205 Provide a default /health endpoint
    Issue orchestrator #346 Add a health check endpoint
    A new GET /health endpoint has been added to all the services. This endpoint can be used to ping a service to check if it's alive and accessible. The request will return an OK, with a 204 status code. It is by default authenticated and it can be set as insecure if needed, through the enable_insecure_healthcheck_endpoint context parameter.

  • Issue orchestrator #667 The receptionist service should support inputs
    Issue python-toolkit #203 Allow validate_inputs to work with non-normalized declarations
    It is now possible to add inputs when running a workflow, the feature is no longer restricted to a reusable workflow.

  • Issue python-toolkit #199 Allow for 'choice' inputs
    A new type of input choice is now available, it is used to define a list of accepted values. Some examples can be found here.

  • Issue python-toolkit #196 Startup.sh should use JAVA_TRUSTSTORE, not assume default cacerts.
    In some cases, the default Java truststore could cause some permission issues, preventing the addition of a new certificate. It has now been moved to another location (in /app/security/cacerts) and a new environment variable JAVA_TRUSTSTORE is now available if necessary.

  • Issue orchestrator #678 Channel handlers should be more selective in the offer they make
    The orchestrator has been optimized to assign a workflow to the execution environment with the least tags, so that the more specialized environments are used in priority instead of the more generic ones.

  • Issue python-toolkit #207 Validate service descriptors
    Services (for example custom providers) could be launched even if the descriptor was incorrect. This could cause some errors during their utilization. The descriptor is now checked on startup.

  • Issue python-toolkit #193 Improve get_context_parameter
    The availability_check_delay context parameter of the sshchannel and the agentchannel has been renamed as availability_check_delay_seconds. The previous name is still available to keep the backward compatibility.

  • Issue orchestrator #656 Improve channel allocator
    The channel allocator has been improved to reduce the time necessary to assign a job to an execution environment.

  • Issue orchestrator #546 Expression errors in variables should cancel a workflow
    Expression errors in the variables section used to stop the workflow with a failure status. It is now cancelled instead to be more consistent with the other errors.

  • Issue orchestrator #665 Improve /GET datasources endpoint workflow statuses handling
    A call to the qualitygate on a workflow completed but with some workers still running will now show the results.

  • Issue python-toolkit #204 Add step ids to GeneratorResult events
    Depending on the implementation, generator plugins could create steps without ids, causing some issues with the datasource generation. Generators will now automatically add a step id if needed.

  • Issue python-toolkit #201 Extract category helpers
    Issue orchestrator #666 Add metadata.id field to Channel items in channel handlers notifications
    Some technical improvements and pre-emptive work for future features.


Bug fixes

  • Issue orchestrator #694 Insight collector does not include scope parameter in paginated requests
    In previous versions, reports generated by the insight collector could contain more tests than expected due to the scope parameter not being taken into account in paginated requests.

  • Issue python-toolkit #192 Temporary attachments for OPENTF_VARIABLES are not cleaned after use
    Some temporary files were not cleaned up in the orchestrator (in /tmp), they are now correctly removed after an execution.

  • Issue orchestrator #679 Workflows cancelled before first job start block insight collector
    The insight collector could be stuck when a workflow was cancelled before the first job even started, blocking also subsequent workflows. This has now been fixed.

  • Issue orchestrator #696 Providing inputs to a reusable workflow not expecting them pass silently
    No error was reported when undefined inputs were sent in a reusable workflow, the workflow will now stop with an explicit error.