Transformation Function SDK¶
| Version | 2.0.0 (tag v2.0.0, 2026-10-23) |
| Artefact | Python package openop-tfsdk==2.0.0 in the ETSI GitLab package registry |
| Specs | tf-sdk/ |
| Support matrix | TF-SDK support matrix for Release 2.0.0 |
| Changes | v1.0.0-release...v2.0.0 |
The Transformation Function SDK (TF-SDK) is the Python library that SRM uses to carry out one resolved operation on one backend, such as a Kubernetes cluster or a 5G core NEF. It returns a normalized result or a typed error. It runs inside SRM, not as a service.
New in this release¶
- Contract package
openop_tfsdk.contract. Every adapter offers the same execution methods (activate,update,terminate,query,read_runtime_state), chosen by capability kind.capability_surface()reports what each adapter supports. - Topology discovery through a separate read-only interface (
get_zones,get_domains,get_capabilities,get_control_path_bindings). - Control-path bootstrap. One file declares every control path and its connection. An adapter only accepts requests addressed to its own control path.
- Adapters:
adapter_type |
Backend | Capability kinds |
|---|---|---|
kubernetes |
Kubernetes, through Helm | workload (Helm chart or single container) |
oai |
EURECOM NEF | qod_session, traffic_influence, location_context |
open5gs |
Open5GS NEF | qod_session, location_context |
open5gcore |
Open5GCore NEF | qod_session |
The i2edge and i2cat_ric clients are still shipped but advertise no capabilities in this release.
Breaking changes¶
-
New name. The package
sunrise6g-opensdk(sunrise6g_opensdk) is nowopenop-tfsdk(openop_tfsdk), published in the ETSI registry, not on PyPI: -
Python 3.10 to 3.13.
- SRM uses the contract, not the per-domain clients. Callers of the old clients must move to the contract interfaces.
- Kubernetes connections are explicit: a kubeconfig, context and namespace, or in-cluster mode with a namespace. Kubeconfig credential plugins are rejected.
- No implicit defaults. OAI QoD profiles are set per control path, and a bootstrap file that is not a mapping is rejected.
- Field renames. In the Traffic Influence request the
oaiadapter sends to the NEF, the fieldappInstanceIdisappServerIp(the CAMARA API still usesappInstanceId); container resources arecpu_millicoresandmemory_mb, both optional.
Upgrade notes¶
Upgrade TF-SDK, SRM and the SRM chart values together: SRM 2.0.0 pins openop-tfsdk==2.0.0.
Known limitations¶
- No
can_serve_target. SRM cannot choose between several backends of the same capability kind, so keep one network domain per kind unless requests name a zone and domain. - Lab coverage. The release lab tests
kubernetesandoai;open5gsandopen5gcoreare not tested by it. See the support matrix. - The repository README still shows the 1.x support matrix. Use the support matrix above.