From 068c57e2c1fb4055d77ceea5d077c335a97ffca7 Mon Sep 17 00:00:00 2001 From: kamilkociszewski Date: Thu, 28 Nov 2024 11:24:33 +0100 Subject: [PATCH 1/6] A1_Mediator release --- .gitignore | 5 +++++ .gitmodules | 3 +++ A1_Mediator_standalone | 1 + 3 files changed, 9 insertions(+) create mode 100644 .gitignore create mode 160000 A1_Mediator_standalone diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..015924a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +################################################################################ +# Ten plik .gitignore został utworzony automatycznie przez Microsoft(R) Visual Studio. +################################################################################ + +/.vs diff --git a/.gitmodules b/.gitmodules index 3c9f48b..002e5b5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -6,3 +6,6 @@ path = ns-3-mmwave-oran url = https://github.com/MinaYonan123/ns-3-mmwave-oran.git branch = release +[submodule "A1_Mediator_standalone"] + path = A1_Mediator_standalone + url = https://github.com/kamilkociszewski/A1_Mediator_standalone.git \ No newline at end of file diff --git a/A1_Mediator_standalone b/A1_Mediator_standalone new file mode 160000 index 0000000..fea8c7d --- /dev/null +++ b/A1_Mediator_standalone @@ -0,0 +1 @@ +Subproject commit fea8c7d836315574b4d0f0adfa134d7a4b380edf From bed8dfa1efc7be0d15678fe29f465b4361f80b42 Mon Sep 17 00:00:00 2001 From: kamilkociszewski Date: Thu, 28 Nov 2024 11:59:24 +0100 Subject: [PATCH 2/6] Update README --- README.md | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 07b8059..fb4734e 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## Project Introduction -Given the importance of obtaining a capable and fully open-source platform for xApp operation testing, especially for the complex use-cases. Orange Innovation Egypt(OIE) team Successfully integrated FlexRIC from EURECOM with ns-O-RAN simulator that originally developed by the institute for the Wireless Internet of Things (WIoT) and Mavenir. The team updated the ns-O-RAN simulator to be a fully compliant with E2AP v1.01, KPM v3 and RC v1.03. This platform will pave the way to test the use-cases that need a rich LTE/5G simulator to be verified. What's more, we propose Graphical User Interface for ns3 which allows to run and observe simulations in user-friendly way. The original project of ns-O-RAN in +Given the importance of obtaining a capable and fully open-source platform for xApp operation testing, especially for the complex use-cases. Orange Innovation Egypt(OIE) team Successfully integrated FlexRIC from EURECOM with ns-O-RAN simulator that originally developed by the institute for the Wireless Internet of Things (WIoT) and Mavenir. The team updated the ns-O-RAN simulator to be a fully compliant with E2AP v1.01, KPM v3 and RC v1.03. This platform will pave the way to test the use-cases that need a rich LTE/5G simulator to be verified. What's more, we propose Graphical User Interface for ns3 which allows to run and observe simulations in user-friendly way. For integration with Non-RT RIC, we include our A1 Mediator which allows to exchange policies between xApps and rApps. The original project of ns-O-RAN in [OpenRAN-Gym](https://openrangym.com/tutorials/ns-o-ran). ![alt text](fig/1.png) @@ -77,7 +77,7 @@ The ns-O-RAN is composed by three main components, as shown in the figure below: 3. Cell deep-sleep implementation (In-Progress) -4. **New run flags:** +4. New run flags: ``` --KPM_E2functionID=(double) @@ -281,6 +281,43 @@ And if everything goes as intended we should be able to see in order the followi ![ns-O-RAN](fig/7.png) + #### A1 mediator for RIC TaaP + A1_mediator_standalone base on OSC A1 Mediator. A1 mediator allows to store and exchange policies between xApps and rApps using O-RAN standarized A1 interface methods. + + Repository includes also local FlexRIC build with example xapp_kpm_rc_a1 xApp and API. + + Supported A1 API calls: + + | **Method** | **Endpoint** | **Description** | +|------------|-------------------------------------------------------------|--------------------------------| +| GET | /a1-p/policytypes | List Policy Types | +| GET | /a1-p/policytypes/(policy_type_id) | Get Policy Type | +| PUT | /a1-p/policytypes/(policy_type_id) | Create Policy Type | +| DELETE | /a1-p/policytypes/(policy_type_id) | Delete Policy Type | +| GET | /a1-p/policytypes/(policy_type_id)/policies | List Policy Instances | +| PUT | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id) | Create Policy Instance | +| DELETE | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id) | Delete Policy Instance | +| GET | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id)/status | Get Policy Instance Status | + +**Run A1 Mediator** +``` +cd A1_Mediator_standalone/A1_Mediator +pip3 install -r requirements.txt +cd app +python3 main.py +type in browser: (host_ip):9000/docs #to see available APIs +``` +**Run test xApp with local FlexRIC build:** +``` +build FlexRIC following repo instructions +run FlexRIC: +./A1_Mediator_standalone/flexric-a1-xapp-A1_integration_RIC_TaaP/build/examples/ric/nearRT-RIC +run ns3 with FlexRIC connection +run xapp_kpm_rc_a1 xApp: +./A1_Mediator_standalone/flexric-a1-xapp-A1_integration_RIC_TaaP/build/examples/xApp/c/kpm_rc_A1/xapp_kpm_rc_a1 +``` + + ## Further Resources ### Participation in 10th OpenAirInterface Anniversaray Workshop From ae098d9767aa55451a9e1eb373c4dbde68be7468 Mon Sep 17 00:00:00 2001 From: Kamil Kociszewski Date: Mon, 2 Dec 2024 11:54:58 +0100 Subject: [PATCH 3/6] Update .gitmodules --- .gitmodules | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 002e5b5..657ca73 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,7 +5,7 @@ [submodule "ns-3-mmwave-oran"] path = ns-3-mmwave-oran url = https://github.com/MinaYonan123/ns-3-mmwave-oran.git - branch = release + branch = A1_GUI_EXTENSION [submodule "A1_Mediator_standalone"] path = A1_Mediator_standalone - url = https://github.com/kamilkociszewski/A1_Mediator_standalone.git \ No newline at end of file + url = https://github.com/kamilkociszewski/A1_Mediator_standalone.git From bd066756584f2a9ab962020891bf0fe9f36577d9 Mon Sep 17 00:00:00 2001 From: kamilkociszewski Date: Mon, 2 Dec 2024 12:37:51 +0100 Subject: [PATCH 4/6] fix submodules --- A1_Mediator_standalone | 2 +- e2sim-kpmv3 | 2 +- ns-3-mmwave-oran | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/A1_Mediator_standalone b/A1_Mediator_standalone index fea8c7d..b436129 160000 --- a/A1_Mediator_standalone +++ b/A1_Mediator_standalone @@ -1 +1 @@ -Subproject commit fea8c7d836315574b4d0f0adfa134d7a4b380edf +Subproject commit b43612997f9d8fa438f663275b2da1d478629d8a diff --git a/e2sim-kpmv3 b/e2sim-kpmv3 index 645536e..661ee23 160000 --- a/e2sim-kpmv3 +++ b/e2sim-kpmv3 @@ -1 +1 @@ -Subproject commit 645536e1911d8bee9400ff741d3cfdb1596b15fe +Subproject commit 661ee23f685a315a8e311343502491e64d063c84 diff --git a/ns-3-mmwave-oran b/ns-3-mmwave-oran index 90fbd02..9ca5b86 160000 --- a/ns-3-mmwave-oran +++ b/ns-3-mmwave-oran @@ -1 +1 @@ -Subproject commit 90fbd02b66389307a54a0684953c4263d46c2e77 +Subproject commit 9ca5b86984e9fab8dec10f6b95aad448099c73c4 From 43bc3e8801c2e8f45e1323e2994b5fd659d2540b Mon Sep 17 00:00:00 2001 From: kamilkociszewski Date: Mon, 2 Dec 2024 15:17:31 +0100 Subject: [PATCH 5/6] Update "A1 mediator for RIC TaaP" section in README.md --- README.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index fb4734e..bbb51c3 100644 --- a/README.md +++ b/README.md @@ -282,9 +282,8 @@ And if everything goes as intended we should be able to see in order the followi ![ns-O-RAN](fig/7.png) #### A1 mediator for RIC TaaP - A1_mediator_standalone base on OSC A1 Mediator. A1 mediator allows to store and exchange policies between xApps and rApps using O-RAN standarized A1 interface methods. - - Repository includes also local FlexRIC build with example xapp_kpm_rc_a1 xApp and API. + A1 mediator allows to store and exchange policies between xApps and rApps using O-RAN standarized A1 interface methods.
+ Please see sub-repository [A1_Mediator_standalone](https://github.com/kamilkociszewski/A1_Mediator_standalone.git) README for more details. Supported A1 API calls: @@ -299,22 +298,27 @@ And if everything goes as intended we should be able to see in order the followi | DELETE | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id) | Delete Policy Instance | | GET | /a1-p/policytypes/(policy_type_id)/policies/(policy_instance_id)/status | Get Policy Instance Status | -**Run A1 Mediator** + +Run A1 Mediator ``` -cd A1_Mediator_standalone/A1_Mediator +cd A1_Mediator pip3 install -r requirements.txt cd app python3 main.py type in browser: (host_ip):9000/docs #to see available APIs ``` -**Run test xApp with local FlexRIC build:** + +Run test xApp with FlexRIC: +1. Clone custom FlexRIC dev build from here: [FlexRIC](https://gitlab.eurecom.fr/Kociszz/flexric-a1-xapp/-/tree/A1_integration_RIC_TaaP?ref_type=heads) +2. Build FlexRIC following repo instructions +3. Start **RIC** +``` +./build/examples/ric/nearRT-RIC +``` +4. Run **ns3** simulation with RIC connection +5. Start **xapp_kpm_rc_a1** xApp ``` -build FlexRIC following repo instructions -run FlexRIC: -./A1_Mediator_standalone/flexric-a1-xapp-A1_integration_RIC_TaaP/build/examples/ric/nearRT-RIC -run ns3 with FlexRIC connection -run xapp_kpm_rc_a1 xApp: -./A1_Mediator_standalone/flexric-a1-xapp-A1_integration_RIC_TaaP/build/examples/xApp/c/kpm_rc_A1/xapp_kpm_rc_a1 +./build/examples/xApp/c/kpm_rc_A1/xapp_kpm_rc_a1 ``` From c35a8fd25509c6095ef853a9697ff17521226875 Mon Sep 17 00:00:00 2001 From: kamilkociszewski Date: Mon, 2 Dec 2024 15:22:33 +0100 Subject: [PATCH 6/6] Update A1 submodule --- A1_Mediator_standalone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/A1_Mediator_standalone b/A1_Mediator_standalone index b436129..3f0a612 160000 --- a/A1_Mediator_standalone +++ b/A1_Mediator_standalone @@ -1 +1 @@ -Subproject commit b43612997f9d8fa438f663275b2da1d478629d8a +Subproject commit 3f0a61269fda9293570342d8f07f693d8e4b37e6