Changelog
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
Unreleased
10.12.0
Update to ska-oso-scripting v18.0.0 with ODA v18.0.0
10.11.1
Ignore positional arguments from SBD to script. (Warning raised if supplied)
Updated default scripting environment to ska-oso-scripting v17.4.2
10.11.0
Updated default scripting environment to ska-oso-scripting v17.3.0
10.10.2
Improve test synchronisation to make tests more robust to slow CI/CD runners.
Disable ‘wait for QA ready’ by default. See documentation for details on how to enable QA, or use the OET UI.
10.10.1
[BUGFIX] Defer RUN(main) until procedure reaches READY state, fixing a race condition where main() was dispatched before init() completed (BTN-3188).
10.10.0
[BUGFIX] Script functions run on separate thread to unblock event loop, allowing incoming messages to be processed concurrently with the script.
[BUGFIX] Fixes an issue where SBD script args were being overwritten by empty command args
Add ‘operator-actions’ endpoint for QA override control: one-shot scan-level overrides, persistent enable/disable toggles via POST, and state query via GET.
10.9.0
Updates default scripting environment to ska-oso-scripting v17.2.0, ODA to v17.3.0
10.8.2
[BUGFIX] Fixes an issue where a commit hash given in an SBD activity was not used to prepare the procedure
10.8.1
[BUGFIX] Fixes an issue where custom environments cannot run with pytango >= 10.1. NOTE THAT ALL CUSTOM ENVIRONMENTS NOW USE THE SAME VERSION OF PYTANGO AS USED IN THE DEFAULT ENVIRONMENT!
10.8.0
Updates default scripting environment to ska-oso-scripting v17.0.1, ODA to v17.0.1 and SKUID to 5.0.0 (with ADR-129 SKUIDs).
10.7.0
Update default execution environment to use ska-oso-scripting v16.0.0.
10.6.0
Events on the ‘activity.lifecycle.statechange’ topic are published whenever activity state changes.
Modified API endpoint to support app2app communication between OST and OET.
10.5.1
[BUGFIX] Updates to ska-oso-scripting 15.2.1 with associated ska-db-oda v14.0.3 bugfix.
10.5.0
Update to ODA v14.0.0
Remove initial creation of SBI status as ODA now does this
10.4.0
Activity state now tracks procedure state, moving through PREPARING->READY->RUNNING->COMPLETE for standard happy path. Alternate end states are TERMINATED for aborted or curtailed scripts, and FAILED for execution failures.
History size for activities and procedures can now be bound via the OET_HISTORY_SIZE environment variable.
Allowed duration for API request/response before a timeout occurs can now be set via the OET_REQUEST_TIMEOUT environment variable.
10.3.1
Set
SDP_SCRIPT_TMDATAwithin an OET pod (fromglobal.oso.sdp_tmdataHelm value) used by oso-scripting when retrieving latest SDP script version.
10.3.0
[BUGFIX] Fixed an issue where race conditions could cause process cleanup before parent state had been initialised.
[BUGFIX] Fixed an issue where race conditions could cause the message handling thread could silently die due to invalid state.
Uses pip rather than poetry to install custom environment dependencies.
Virtual environment location is determined by convention and not by running another subprocess.
Fixed many sporadic test failures by increasing timeouts when coverage is being measured and using retry with exponential backoff.
Fixed several issues with the test’s usage of multiprocessing and resource cleanup.
[BUGFIX] Fixed an issue where application logs were missing from the OET REST pods.
[BUGFIX] Fixed an issue where custom environments incorrectly inherited modules from the base OET. installation, specifically for modules whose name overlapped with a stdlib module.
Update to oso-scripting 15.1.0 for the default environment, pulling in the ODA 13.1.1 bugfix.
10.2.0
[BUGFIX] Fix messages from scripts not being republished to the SSE stream.
[BUGFIX] Fix OET_URL set inside the application to include the subarray id.
Update to ODA v12.1.1, with new
PG_environment variables in the Helm charts and use of global helm values to configure the ODA.Update to oso-scripting 14.1.2 for the default environment.
10.1.0
Add heartbeat to stream to fix client issues.
Create initial SBI status when creating SBI.
Update ODA to v11.1.0, including PDM v19.1.0.
10.0.0
Support for multiple subarrays. Now an instance of the OET is deployed per subarray, and can only execute observations against that subarray (configured through the SUBARRAY_ID environment variable, which the OET now requires). The Helm chart will deploy an Ingress, Service and Stateful set for each subarray, configured through the
global.subarray_countHelm value. The SUBARRAY_ID environment variable is set within the Statefulset.The scripting interface has been formalised: subarray_id is a mandatory argument for the script init function and will be supplied at runtime by the OET from the SUBARRAY_ID environment variable, rather than letting users set it via script args.
Helm value changes: use global ODA values for postgres connection. Change central_node and subarray Helm values to central_node_trl and subarray_trl_prefix.
Deploy secret from ska-oso-oet chart for the ODA password, so it can be deployed in its own namespace.
9.0.0
[BREAKING] Added AAA to the API using ska-aaa-authhelpers. All requests now need to include a valid token with the correct roles and scopes for the API resource.
[BREAKING] Remove trailing slash from API resources.
8.0.1
Remove default for CENTRALNODE_TRL and SUBARRAYNODE_TRL_PREFIX environment variables in the Helm chart as OSO Scripting defines defaults that just depend on the telescope.
Update ska-oso-scripting dependency to 11.3.0.
8.0.0
Fixed an issue where child processes always saw libraries used by the parent (BTN-2667).
[BREAKING] Update ska-oso-scripting library version to 11.1.0 for the default script execution environment.
Set
SUBARRAYNODE_TRL_PREFIXandCENTRALNODE_TRLin the OET ConfigMap to support running oso-scripting with new TRLs.Update to ODA to v7.4.0 (python dependency and helm chart) and fastapi to v0.115.8.
7.0.0
Updating to use Pydantic BaseModels throughout the OET.
Update the REST server to use FastAPI rather than Flask, including the SSE /stream endpoint - see the Swagger UI for the use of the types.
[BREAKING] The GET responses previously returned an object like {”activity”:
}, and similar for the Procedure endpoints. Now they return the ActivitySummary without the nested object. [BREAKING] API validation errors against the Pydantic models now return the FastAPI default 422 UNPROCESSABLE ENTITY code rather than 400 BAD REQUEST.
[BREAKING] The error responses now just contain a single “detail” field rather than a “Message” and “type”.
Update the default OET client installed in the image to v1.2.1.
Remove Flask, Connexion and prance dependencies and all usage in the code. FlaskWorker is now completely replaced by the FastAPIWorker.
6.6.0
Update the Helm charts so that they have better defaults and require minimal changes in the makefile. See the docs Deployment > Configuration page.
Pull the ODA password from a k8s secret.
Update to ODA v7.3.0.
6.5.0
Updated Dockerfile to use poetry<2.0.0.
Removed
tangomodule andpytangodependency.Removed scan ID generators and scan ID management from OET’s
proceduremodule.Removed cloned oso-scripting repo from OET Dockerfile.
Updated ska-oso-scripting to version 11.0.0 for OET default environment.
Added ska-oso-scripting dependency to
pyproject.tomlinstead of installing it inDockerfile.Changed the
abort.pyscript to be pulled fromska-oso-scriptinginstead of containing a local copy.Added
SCRIPTS_LOCATIONenvironment variable for configuring location where static scripts are located.Updated to ODA v7.2.0, which updated the PDM dependency to 17.1.2.
Removed
user,scanandsubarraytopics as they are now part of oso-scripting.Updated
ska-oso-oet-clientto patch v.1.1.2.
6.4.1
Updated OET values.yaml and ConfigMap to include
VALIDATION_STRICTNESSto manage OSD validation strictness.
6.4.0
Update to use ODA v7.1.0.
6.3.3
Bump ODA minor version and scripting version in the dockerfile. Fixes the simpleeval dependency issue and is a temp fix for the issue where the PDM version from the site packages is used. It is a temp fix as it just brings the PDM versions in line, rather than fixing the underlying issue.
6.3.2
Properly fix issue where default image tag was not set to the chart version in the Helm chart.
6.3.1
Fix issue where default image tag was not set to the chart version in the Helm chart.
6.3.0
Updates OET to use RESTless ODA (v6.0.0).
6.2.0
Updates OET to use PyTango 9.5, ODA v5.0.1 and, indirectly, PDM v14.3.0.
6.1.0
Updates OET to use ODA v3.0.0 and PDM v12.0.1.
Exposes SKUID URL via ska-oso-oet.rest.skuid.url Helm variable.