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..657ca73 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,4 +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 diff --git a/A1_Mediator_standalone b/A1_Mediator_standalone new file mode 160000 index 0000000..3f0a612 --- /dev/null +++ b/A1_Mediator_standalone @@ -0,0 +1 @@ +Subproject commit 3f0a61269fda9293570342d8f07f693d8e4b37e6 diff --git a/README.md b/README.md index 07b8059..bbb51c3 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,47 @@ 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 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: + + | **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 +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 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/examples/xApp/c/kpm_rc_A1/xapp_kpm_rc_a1 +``` + + ## Further Resources ### Participation in 10th OpenAirInterface Anniversaray Workshop 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