Merge changes from topic "OAM-324"
[oam.git] / solution / README.md
index 1bd4e4b..74ccb9f 100644 (file)
@@ -24,8 +24,7 @@ with the following components.
   * **Controller** single node instance
 
     ... representing the NETCONF consumer on the Service Management and
-    Orchestration framework (SMO) for the O1 interface based on
-    ODL.
+    Orchestration framework (SMO) for O-RAN O1 interface and/or O-RAN OpenFronthaul Management Plane and/or other NETCONF/YANG schemas implemented by the OpenDaylight project.
 
   * **VES collector**
 
@@ -36,24 +35,59 @@ with the following components.
 
 ## Prerequisites
 
+### Operating (HOST) System
+
 ```
 $ cat /etc/os-release | grep PRETTY_NAME
-PRETTY_NAME="Ubuntu 22.04.1 LTS"
+PRETTY_NAME="Ubuntu 22.04.2 LTS"
+```
+
+### Docker
 
+```
 $ docker --version
-Docker version 20.10.12, build 20.10.12-0ubuntu4
+Docker version 23.0.1, build a5ee5b1
+```
+Please follow the required docker daemon configuration as documented in the following README.md:
+- [./smo/common/docker/README.md](./smo/common/docker/README.md)
 
-$ docker-compose version
-docker-compose version 1.29.2, build unknown
-docker-py version: <module 'docker.version' from '/usr/local/lib/python3.10/dist-packages/docker/version.py'>
-CPython version: 3.10.6
-OpenSSL version: OpenSSL 3.0.2 15 Mar 2022
+### Docker Compose
 
+```
+$ docker compose version
+Docker Compose version v2.17.2
+```
+
+### GIT
 
+```
 $ git --version
 git version 2.34.1
+```
 
+### Python
+
+```
+$ python3 --version
+Python 3.10.6
+```
+
+A python parser package is required.
+```
+sudo apt install python3-pip
+pip install jproperties
 ```
+
+It is beneficial (but not mandatory) adding the following line add the
+end of your ~/.bashrc file. I will suppress warnings when python script
+do not verify self signed certificates for HTTPS communication.
+
+```
+export PYTHONWARNINGS="ignore:Unverified HTTPS request"
+```
+
+### ETC Host (DNS function)
+
 Please modify the /etc/hosts of your system.
 
 * \<your-system>: is the hostname of the system, where the browser is started
@@ -78,67 +112,6 @@ $ cat /etc/hosts
 
 ```
 
-It is beneficial (but not mandatory) adding the following line add the
-end of your ~/.bashrc file. I will suppress warnings when python script
-do not verify self signed certificates for HTTPS communication.
-
-```
-export PYTHONWARNINGS="ignore:Unverified HTTPS request"
-```
-
-Please ensure that you download and copy the required 3GPP OpenAPIs for VES-stndDefined
-message validation into the folder './solution/operation-and-maintenance/smo/oam/ves-collector/externalRepo'.
-
-Please follow the instructions in ./solution/operation-and-maintenance/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/blob/Rel16/OpenAPI/README.md.
-
-The following tree shows the successfully tested folder structure. It combines different versions of the schemas ('Rel16' and 'SA88-Rel16') using 3GPP branch names.
-
-```
-$ tree solution/operation-and-maintenance/smo/oam/ves-collector/externalRepo/
-solution/operation-and-maintenance/smo/oam/ves-collector/externalRepo/
-├── 3gpp
-│   └── rep
-│       └── sa5
-│           └── MnS
-│               └── blob
-│                   ├── Rel16
-│                   │   └── OpenAPI
-│                   │       ├── README.md
-│                   │       ├── TS28532_FaultMnS.yaml
-│                   │       ├── TS28532_FileDataReportingMnS.yaml
-│                   │       ├── TS28532_HeartbeatNtf.yaml
-│                   │       ├── TS28532_PerfMnS.yaml
-│                   │       ├── TS28532_ProvMnS.yaml
-│                   │       ├── TS28532_StreamingDataMnS.yaml
-│                   │       ├── TS28536_CoslaNrm.yaml
-│                   │       ├── TS28541_5GcNrm.yaml
-│                   │       ├── TS28541_NrNrm.yaml
-│                   │       ├── TS28541_SliceNrm.yaml
-│                   │       ├── TS28550_PerfMeasJobCtrlMnS.yaml
-│                   │       ├── TS28623_ComDefs.yaml
-│                   │       ├── TS28623_GenericNrm.yaml
-│                   │       ├── TS29512_Npcf_SMPolicyControl.yaml
-│                   │       ├── TS29514_Npcf_PolicyAuthorization.yaml
-│                   │       └── TS29571_CommonData.yaml
-│                   └── SA88-Rel16
-│                       └── OpenAPI
-│                           ├── 5gcNrm.yaml
-│                           ├── PerDataFileReportMnS.yaml
-│                           ├── PerMeasJobCtlMnS.yaml
-│                           ├── PerThresMonMnS.yaml
-│                           ├── PerfDataStreamingMnS.yaml
-│                           ├── README.md
-│                           ├── comDefs.yaml
-│                           ├── coslaNrm.yaml
-│                           ├── faultMnS.yaml
-│                           ├── genericNrm.yaml
-│                           ├── heartbeatNtf.yaml
-│                           ├── nrNrm.yaml
-│                           ├── provMnS.yaml
-│                           ├── sliceNrm.yaml
-│                           └── streamingDataMnS.yaml
-```
-
 ## Expected Folder Structure
 
 The following figure show the expected folder structure for the different
@@ -153,13 +126,18 @@ docker-compose file and its configurations.
 │   ├── ntsim-ng-o-du
 │   └── ntsim-ng-o-ru
 └── smo
+    ├── apps
+    │   ├── .env
+    │   ├── docker-compose.yml
+    │   └── flows
     ├── common
     │   ├── .env
     │   ├── docker-compose.yml
     │   │
-    │   ├── messages
     │   ├── docker
+    │   ├── gateway
     │   ├── identity
+    │   ├── messages
     │   ├── kafka
     │   └── zookeeper
     └── oam
@@ -181,16 +159,16 @@ The following commands should be invoked. More detailed can be found in the
 next chapters.
 
 ```
-docker-compose -f smo/common/docker-compose.yml up -d
+docker compose -f smo/common/docker-compose.yml up -d
 # wait until the cpu load is low again
 python smo/common/identity/config.py
 
-docker-compose -f smo/oam/docker-compose.yml up -d
-docker-compose -f smo/apps/docker-compose.yml up -d
+docker compose -f smo/oam/docker-compose.yml up -d
+docker compose -f smo/apps/docker-compose.yml up -d
 
 # wait until the cpu load is low again
 
-docker-compose -f network/docker-compose.yml up -d
+docker compose -f network/docker-compose.yml up -d
 # wait about 2min
 docker restart ntsim-ng-o-du-1122
 python network/config.py
@@ -212,7 +190,7 @@ before starting further docker images.
 The several docker-compose yml files must be started in the right order as listed below:
 
 ```
-docker-compose -f smo/common/docker-compose.yml up -d
+docker compose -f smo/common/docker-compose.yml up -d
 python smo/common/identity/config.py
 ```
 
@@ -221,7 +199,7 @@ A system user (%USER) is also created with administration rights.
 
 
 ```
-docker-compose -f smo/oam/docker-compose.yml up -d
+docker compose -f smo/oam/docker-compose.yml up -d
 ```
 
 Looking into the ONAP SDN-R logs will give you the startup procedure.
@@ -233,13 +211,13 @@ docker logs -f controller
 If you see the login page (https://odlux.oam.smo.o-ran-sc.org) you are good to go and can start the (simulated) network.
 
 ```
-docker-compose -f network/docker-compose.yml up -d
+docker compose -f network/docker-compose.yml up -d
 ```
 
 Usually the first ves:event gets lost. Please restart the O-DU docker container(s) to send a second ves:pnfRegistration.
 
 ```
-docker-compose -f network/docker-compose.yml restart ntsim-ng-o-du-1122
+docker compose -f network/docker-compose.yml restart ntsim-ng-o-du-1122
 python network/config.py
 ```
 
@@ -296,10 +274,10 @@ In case of trouble, please update the commands with your customized '.env' file.
 To stop all container please respect the following order
 
 ```
-docker-compose -f network/docker-compose.yml down
-docker-compose -f smo/apps/docker-compose.yml down
-docker-compose -f smo/oam/docker-compose.yml down
-docker-compose -f smo/common/docker-compose.yml down
+docker compose -f network/docker-compose.yml down
+docker compose -f smo/apps/docker-compose.yml down
+docker compose -f smo/oam/docker-compose.yml down
+docker compose -f smo/common/docker-compose.yml down
 ```
 
 ### Cleanup