Loading
Commits on Source 80
-
Konstantinos Togias authored
Use the developer-provided openop_tfsdk tree as the refactor baseline.
-
Konstantinos Togias authored
Use the proposed public action vocabulary and keep the Kubernetes surface limited to implemented actions.
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
TF-SDK loggers now come from structlog, so they follow the host process's structlog configuration (e.g. SRM), with no extra setup. Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: 68263cd13627df876c46c0b5da26c6694a9dbeaf Publication-Reason: ETSI requires the author to be a project member.
-
Konstantinos Togias authored
Both stay in the code but are unsupported in this release, as discussed in the 2026-10-08 meeting: there is no access to test them. Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: 861cb6e126159d4518f1b39a9e1d44942d31ac5d Publication-Reason: ETSI requires the author to be a project member.
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Dimitrios Gogos authored
-
Sergio Gimenez authored
CI installs isort 5.13.2 from requirements.txt, while pre-commit runs 6.0.1. With the black profile, 6.x keeps an import exploded when it ends in a trailing comma and 5.13 joins it back onto one line, so files the hook had formatted failed CI's check (9 of them on this branch). Pin 6.0.1 in requirements.txt so the hook and CI agree. kubernetes/client.py also had `from requests import Response` inside the first-party block; it moves up to the third-party imports, where both versions put it. Co-Authored-By:Claude Opus 5.5 <noreply@anthropic.com>
-
Konstantinos Togias authored
- Open5GCore looks up the QoS profile in the case it validated it in (T5). - QoD sends the device IPv6 address itself as ueIpv6Addr (T11). - Open5GS and Open5GCore reject an unsupported profile with an error the adapter reports as ValidationError (T11). - QoD uses the control path's notification_url as notificationDestination (T7). - A QoD device without an IPv4 or IPv6 address is rejected with ValidationError before the NEF is called (T8). Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: 6a1ae35edff047c58599a735b19996551eb8ecd3
-
Konstantinos Togias authored
- The adapter declares the container runtime kind. A container deployment unit runs its image from a small chart shipped with the adapter: a Deployment, plus a Service for the ports of its compute intent (NodePort when a port is external, ClusterIP otherwise). - Terminating a release helm does not know raises ResourceNotFound. - A missing helm binary raises DomainExecutionFailed instead of FileNotFoundError. - helm upgrade uses --atomic, like helm install. Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: b3977281a0167852c3a25940969fcc9ffd2264ba
-
Konstantinos Togias authored
- QoD activate reports active once the NEF created the subscription, as traffic influence does (TF-SDK-1). - QoD without a notification destination is rejected with ValidationError instead of sending "None" to the NEF (TF-SDK-2). The NEF then no longer stores "None", which also made reading the session back fail. - Open5GCore no longer overwrites the UE IPv4 with a hardcoded address (TF-SDK-3). - Validation errors keep their reason: the client's message, or the field and rule of a pydantic error (TF-SDK-6). - The OAI client no longer logs the UE's IP and external id with a non-ASCII arrow; on a non-UTF-8 console that log line failed the location request. Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: 149fdb0e5a2fcbc11ec2bebab8cae207c26e0ac5
-
Konstantinos Togias authored
- A location query raises SubscriberNotFound, UnsupportedIdentifier, TargetNotLocatable, MaxAgeUnsatisfiable or MaxSurfaceUnsatisfiable, the names SRM maps to CAMARA 404 and 422 (T1). - A subscriber the NEF does not know is SubscriberNotFound whether it was looked up by IPv4 or by network access identifier (T2). - The OAI client no longer reports a cell-only answer as a circle at (0, 0); the adapter raises TargetNotLocatable (T3). - DeviceTarget carries ipv4_private and ipv4_port (srm.params/v1). The OAI location lookup and the Open5GS/Open5GCore QoD request use the private address, the one the core knows the UE by; without it nothing changes (T4). - A location older than max_age_seconds or larger than max_surface_sqm is refused with MaxAgeUnsatisfiable or MaxSurfaceUnsatisfiable (T5). - The location fix time is the NEF's ueLocationTimestamp when present (I1). Original-Author: Igli <kociaj4@gmail.com> Reviewed-Commit: 908134ee3b13b61302772ea99c7e4a2ced92c2a3
-
Konstantinos Togias authored
Reviewed-Commit: 80548ca4fbfb7133c6fa7e46aa11708668c018f8
-
Konstantinos Togias authored
fix(ci): check imports with the same isort as pre-commit See merge request !202
-
Sergio Gimenez authored
The adapter used the deployment unit ref as the release name. Charts name their Services after the release, and a Service name must be a DNS-1035 label: lowercase, starting with a letter. SRM passes instance UUIDs (about 10 in 16 start with a digit) and instance names with '_', so those installs failed with a Service "... is invalid" that the logs reported only as helm_command_failed. release_name() lowercases the ref, turns anything but letters, digits and '-' into '-', puts "r-" in front when it doesn't start with a letter, and keeps to helm's 53 characters. A ref that is already valid keeps its name, and terminate, update and status follow the external id activate returns, so existing releases are unaffected. helm's "is invalid" errors now log as invalid_kubernetes_object. Co-Authored-By:Claude Opus 5.5 <noreply@anthropic.com>
-
Konstantinos Togias authored
fix(kubernetes): derive Helm names accepted by Kubernetes See merge request !201
-
Konstantinos Togias authored
-
Konstantinos Togias authored
The project is now the OpenOP TF SDK. The README, the contribution guide, the O-RAN file headers and the package metadata use that name, and the issue tracker link points to the work items of the ETSI repository. The legacy kubernetes client keeps its old names until it is removed.
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Pin Black 26.10.1 and Flake8 7.4.1 with their required dependencies. Apply the formatter-only migration with identical Python ASTs. Verify hooks and 137 offline SDK tests on Python 3.10 through 3.13.
-
Konstantinos Togias authored
SRM resolves the traffic influence application server from the endpoints a workload reports at deploy, but the adapter returned none. After helm install, a container with external ports now reports one endpoint per port: the node port Kubernetes assigned, read with kubectl, and the host configured as endpoint_host in the control path. Without endpoint_host, or when kubectl is missing or fails, the result has no endpoints as before and the deploy still succeeds.
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Use per-adapter kubeconfig and context for Helm lifecycle operations and Service observation. Capture compatibility defaults at construction, isolate client and subprocess configuration, and reject unresolved or unusable explicit connections. Verify simultaneous control paths, failure isolation and service-account execution.
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Paris Stentoumis authored
-
Paris Stentoumis authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
feat: Compute resource (required) support for container type See merge request !206
-
Konstantinos Togias authored
fix: configure OAI QoD profiles per control path See merge request !207
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Return Helm workload NodePort endpoints for Release 2.0.0 See merge request !208
-
Konstantinos Togias authored
Prepare TF-SDK for release 2.0.0 See merge request !205
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Prepare TF-SDK 2.0.0rc4 candidate See merge request !210
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Simplify release approval and collect CI reports See merge request !211
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Automate SDK package publication See merge request !212
-
Paris Stentoumis authored
-
Paris Stentoumis authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
-
Konstantinos Togias authored
feat: adding logs to warn the reason for empty endpoints See merge request !213
-
Konstantinos Togias authored
fix: rename of appInstanceId field to appServerIp to correctly name what it is See merge request !214
-
Konstantinos Togias authored
Prepare TF-SDK 2.0.0 and publish releases after main merges See merge request !215
-
Konstantinos Togias authored
-
Konstantinos Togias authored
Run dependency audits automatically See merge request !216
-
Konstantinos Togias authored
Release TF-SDK 2.0.0 See merge request !209