X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=solution%2FREADME.md;h=74ccb9f54fd3fed5b9a84f630614c351c2b027fa;hb=a289a48ee7b462456d1b27606e6ab576f94ea929;hp=1bd4e4b3d2b8b904ae7710bd3dc782060f3aa334;hpb=87c3c18efb2beaa36f5f4d429d69371e4ff48f27;p=oam.git diff --git a/solution/README.md b/solution/README.md index 1bd4e4b..74ccb9f 100644 --- a/solution/README.md +++ b/solution/README.md @@ -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: -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. * \: 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