Commit b6720a23 authored by Miguel Catalan's avatar Miguel Catalan
Browse files

merged with main - oop

parents 94823a9d 02fa8d1a
Loading
Loading
Loading
Loading
Loading

.github/workflows/ci.yaml

deleted100644 → 0
+0 −52
Original line number Diff line number Diff line
name: CI Pipeline

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  tests:
    name: Run tests
    runs-on: ubuntu-latest
    container:
      image: python:3.12-slim

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        pip install -r requirements.txt
        pip install -e .

    - name: "Run test: validate edge cloud clients instantiation"
      run: pytest -v tests/common/test_invoke_edgecloud_clients.py

    - name: "Run test: validate network clients instantiation"
      run: pytest -v tests/common/test_invoke_network_clients.py

  lint:
    name: Run linters
    if: github.event_name == 'pull_request'
    runs-on: ubuntu-latest
    container:
      image: python:3.12-slim

    steps:
    - name: Checkout code
      uses: actions/checkout@v4

    - name: Install dependencies
      run: pip install -r requirements.txt

    - name: isort check
      run: isort src tests --check --profile black --filter-files

    - name: black check
      run: black src tests --check --line-length=100

    - name: flake8 check
      run: flake8 src tests
+34 −31
Original line number Diff line number Diff line
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml" title="CI Status">
  <img src="https://github.com/SunriseOpenOperatorPlatform/open-sdk/actions/workflows/ci.yaml/badge.svg">
<a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/pipelines" title="Pipeline Status">
  <img src="https://labs.etsi.org/rep/oop/code/tf-sdk/badges/main/pipeline.svg" alt="pipeline status">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/commits/" title="Last Commit">
  <img src="https://img.shields.io/github/last-commit/SunriseOpenOperatorPlatform/open-sdk?style=plastic">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/issues" title="Open Issues">
  <img src="https://img.shields.io/github/issues/SunriseOpenOperatorPlatform/open-sdk?style=plastic">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/pulls" title="Open Pull Requests">
  <img src="https://img.shields.io/github/issues-pr/SunriseOpenOperatorPlatform/open-sdk?style=plastic">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/graphs/contributors" title="Contributors">
  <img src="https://img.shields.io/github/contributors/SunriseOpenOperatorPlatform/open-sdk?style=plastic">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/blob/main/LICENSE" title="License">
  <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic">
</a>
<a href="https://github.com/SunriseOpenOperatorPlatform/open-sdk/releases/latest" title="Latest Release">
  <img src="https://img.shields.io/github/release/SunriseOpenOperatorPlatform/open-sdk?style=plastic">
<a href="https://labs.etsi.org/rep/oop/code/tf-sdk/-/blob/main/LICENSE" title="License">
  <img src="https://img.shields.io/badge/License-Apache%202.0-green.svg?style=plastic" alt="license">
</a>


# OpenSDK
# TF SDK

Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and O-RAN solutions.

## Features

- Abstract CAMARA Transformation Functions (TFs)
- Unified Python SDK for interacting with Edge Cloud platforms, 5G Core solutions, and O-RAN solutions.
- Abstract CAMARA NBI & GSMA E/WBI Transformation Functions (TFs)
- Unified Python SDK for interacting with Edge Cloud platforms, 5G Core solutions, and O-RAN controllers.
- Modular and extensible adapter structure


@@ -45,21 +31,35 @@ Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge
| Location Retrieval        | [v0.4.0](https://raw.githubusercontent.com/camaraproject/DeviceLocation/refs/tags/r2.2/code/API_definitions/location-retrieval.yaml) |
| Traffic Influence         | [v0.8.1](https://raw.githubusercontent.com/camaraproject/EdgeCloud/v0.8.1/code/API_definitions/Traffic_Influence.yaml) |

### Federation APIs (E/WBI GSMA OPG)

| API Name                  | Version |
|---------------------------|---------|
|  Federation Management Service | [1.2.0](https://www.gsma.com/solutions-and-impact/technologies/networks/wp-content/uploads/2023/07/OPG.04-v3.0-GSMA-Operator-Platform-Group-East-Westbound-Interface-APIs-Version-3.0.pdf)

### EdgeCloud Platforms

| Platform   | Status     |
| Platform   | Supported     |
|------------|------------|
| Kubernetes |   |
| i2Edge     |   |
| aerOS      |   |
| Kubernetes | Yes  |
| i2Edge     | Yes  |
| aerOS      | Yes  |

### Network Adapters

| Platform     | NEF Version | QoD | Location Retrieval | Traffic Influence |
|--------------|-------------|-----|---------------------|--------------------|
| Open5GS      | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅  | ✅                  | ❌                 |
| Open5GCore   | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅  | ❌                  | ❌                 |
| OAI          | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | ✅  | ❌                  | ✅                 |
| Open5GS      | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes  | Yes                  |                  |
| Open5GCore   | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes  |                   |                  |
| OAI          | [v1.2.3](https://www.3gpp.org/ftp/Specs/archive/29_series/29.122/29122-hc0.zip) TS 29.122 (v17.12.0) | Yes  |                   | Yes                 |

### O-RAN Adapters

| Platform   | Supported     |
|------------|------------|
| Juniper O-RAN controller | WIP  |
| i2CAT O-RAN controller     | WIP  |


### O-RAN Platforms

@@ -126,12 +126,12 @@ Please follow our full [Contributing Guidelines](docs/CONTRIBUTING.md) for furth

```mermaid
sequenceDiagram
title Application Deployment using the Open SDK
title Application Deployment using the TF SDK

actor AP as Application Vertical Provider
box Module implementing CAMARA APIs
    participant API as CAMARA Edge Application Management API
    participant SDK as Open SDK
    participant SDK as TF SDK
end
participant K8s as Kubernetes

@@ -158,7 +158,7 @@ title QoS Session Creation over Open5GS
actor AP as Application Vertical Provider
box Module implementing CAMARA APIs
    participant API as CAMARA QoS Management API
    participant SDK as Open SDK
    participant SDK as TF SDK
end
participant NEF as NEF
participant 5GS as Open5GS
@@ -174,12 +174,15 @@ API ->> SDK: network_client.create_qos_session(QOS_SESSION_REQUEST)
SDK ->> NEF: Equivalent endpoint
NEF ->> 5GS: QoS session creation
```
<<<<<<< HEAD
---

## Roadmap for Open SDK 2nd release

- [ ] Add support to GSMA OPG.02 TFs
- [x] Include JUNIPER O-RAN adapter
=======
>>>>>>> main

---

+1 −1
Original line number Diff line number Diff line
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "sunrise6g-opensdk"
version = "1.0.7"
version = "1.0.18"
description = "Open source SDK to abstract CAMARA/GSMA Transformation Functions (TFs) for Edge Cloud platforms, 5G network cores and Open RAN solutions."
keywords = [
  "Federation",
+1 −1
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-
##
# This file is part of the Open SDK
# This file is part of the TF SDK
#
# Contributors:
#   - Adrián Pino Martínez (adrian.pino@i2cat.net)
+1 −1
Original line number Diff line number Diff line
# -*- coding: utf-8 -*-
##
# This file is part of the Open SDK
# This file is part of the TF SDK
#
# Contributors:
#   - Adrián Pino Martínez (adrian.pino@i2cat.net)
Loading