Merge "Create script for SBOM and Vulnerabilities analysis of docker images."
diff --git a/solution/README-O-RU-Controller.md b/solution/README-O-RU-Controller.md
index e5f6bd3..50f0760 100644
--- a/solution/README-O-RU-Controller.md
+++ b/solution/README-O-RU-Controller.md
@@ -5,24 +5,58 @@
## 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 --version
-Docker version 20.10.12, build 20.10.12-0ubuntu4
-
-$ 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
-
-
-$ git --version
-git version 2.34.1
+### Docker
```
+$ docker --version
+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
+
+```
+$ docker-compose version
+Docker Compose version v2.16.0
+```
+
+### GIT
+
+```
+$ git --version
+git version 2.34.1
+```
+
+### Python
+
+```
+$ python3 --version
+Python 3.10.6
+
+```
+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
@@ -46,6 +80,7 @@
<deployment-system-ipv4> controller.oam.smo.o-ran-sc.org
```
+
## Bring Up Solution
The following commands should be invoked. More detailed can be found in the
@@ -59,7 +94,6 @@
python network/config.py
```
-
## Verification Solution
### Login into O-RU-Controller UI
diff --git a/solution/README.md b/solution/README.md
index 1bd4e4b..90d7ff7 100644
--- a/solution/README.md
+++ b/solution/README.md
@@ -24,8 +24,7 @@
* **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 @@
## 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 --version
-Docker version 20.10.12, build 20.10.12-0ubuntu4
-
-$ 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
-
-
-$ git --version
-git version 2.34.1
+### Docker
```
+$ docker --version
+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
+
+```
+$ docker-compose version
+Docker Compose version v2.16.0
+```
+
+### 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,20 +112,14 @@
```
-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"
-```
+### VES Schemas
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'.
+message validation into the folder [./smo/oam/ves-collector/externalRepo](./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.
+Please follow the instructions in [./smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/OpenAPI/README.md](./smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/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.
+The following tree shows the successfully tested folder structure. It combines different versions of the schemas ('Rel16' ) using 3GPP branch names.
```
$ tree solution/operation-and-maintenance/smo/oam/ves-collector/externalRepo/
@@ -100,43 +128,26 @@
│ └── 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
+│ └── raw
+│ └── Rel-16
+│ └── 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
```
## Expected Folder Structure
@@ -153,13 +164,18 @@
│ ├── 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
diff --git a/solution/network/.env b/solution/network/.env
index 6888fa6..03600dd 100644
--- a/solution/network/.env
+++ b/solution/network/.env
@@ -32,7 +32,7 @@
# NTS NG settings
NEXUS3_DOCKER_REPO=nexus3.o-ran-sc.org:10004/o-ran-sc/
NTS_MANAGER_PORT=8300
-NTS_BUILD_VERSION=1.5.2
+NTS_BUILD_VERSION=1.6.1
IPv6_ENABLED=true
SSH_CONNECTIONS=1
@@ -56,3 +56,5 @@
VES_ENDPOINT_AUTH_METHOD=basic-auth
VES_ENDPOINT_USERNAME=sample1
VES_ENDPOINT_PASSWORD=sample1
+
+HOST_IP=AA.BB.CC.DD
diff --git a/solution/network/docker-compose.yml b/solution/network/docker-compose.yml
index 7ad9a40..6a29fa3 100755
--- a/solution/network/docker-compose.yml
+++ b/solution/network/docker-compose.yml
@@ -56,6 +56,10 @@
x-nf: &common_nf
stop_grace_period: 5m
+ extra_hosts:
+ - "identity.smo.o-ran-sc.org:${HOST_IP}"
+ - "controller.oam.smo.o-ran-sc.org:${HOST_IP}"
+ - "ves-collector.oam.smo.o-ran-sc.org:${HOST_IP}"
cap_add:
- SYS_ADMIN
- SYS_PTRACE
diff --git a/solution/smo/common/docker/README.md b/solution/smo/common/docker/README.md
index 814084d..d6110b2 100644
--- a/solution/smo/common/docker/README.md
+++ b/solution/smo/common/docker/README.md
@@ -10,7 +10,6 @@
```
{
- "dns": ["1.1.1.1"],
"registry-mirrors": [
"https://nexus3.o-ran-sc.org:10002",
"https://nexus3.onap.org:10001"
diff --git a/solution/smo/common/docker/daemon.json b/solution/smo/common/docker/daemon.json
index bed1ae3..3b5ac62 100644
--- a/solution/smo/common/docker/daemon.json
+++ b/solution/smo/common/docker/daemon.json
@@ -1,5 +1,4 @@
{
- "dns": ["1.1.1.1"],
"registry-mirrors": [
"https://nexus3.o-ran-sc.org:10002",
"https://nexus3.onap.org:10001"
diff --git a/solution/smo/oam/.env b/solution/smo/oam/.env
index c410a2a..9ad6728 100644
--- a/solution/smo/oam/.env
+++ b/solution/smo/oam/.env
@@ -52,4 +52,6 @@
VES_ENDPOINT_PORT=8080
VES_ENDPOINT_AUTH_METHOD=basic-auth
VES_ENDPOINT_USERNAME=sample1
-VES_ENDPOINT_PASSWORD=sample1
\ No newline at end of file
+VES_ENDPOINT_PASSWORD=sample1
+
+HOST_IP=AA.BB.CC.DD
diff --git a/solution/smo/oam/docker-compose.yml b/solution/smo/oam/docker-compose.yml
index 9d2c5b5..a052e95 100755
--- a/solution/smo/oam/docker-compose.yml
+++ b/solution/smo/oam/docker-compose.yml
@@ -28,6 +28,8 @@
image: ${SDNC_IMAGE}
container_name: controller
hostname: controller
+ extra_hosts:
+ - "identity.smo.o-ran-sc.org:${HOST_IP}"
healthcheck:
test: wget -U ${ADMIN_USERNAME}:${ADMIN_PASSWORD} --no-verbose --tries=1 --spider http://localhost:${SDNC_REST_PORT}/ready || exit 1
start_period: 60s
@@ -111,4 +113,4 @@
driver: default
config:
- subnet: "${NETWORK_SUBNET_OAM_IPv6}"
- gateway: "${NETWORK_GATEWAY_OAM_IPv6}"
\ No newline at end of file
+ gateway: "${NETWORK_GATEWAY_OAM_IPv6}"
diff --git a/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-16/OpenAPI/README.md b/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-16/OpenAPI/README.md
index 4241b37..e786083 100644
--- a/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-16/OpenAPI/README.md
+++ b/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-16/OpenAPI/README.md
@@ -1,4 +1,4 @@
-# 3gpp Release 16
+# 3GPP Release 16
This folder should contain the 3GPP YAML files. Such files are used be the VES
Collector to valid VES messages for domain 'stndDefined'.
@@ -8,7 +8,7 @@
https://forge.3gpp.org/rep/sa5/MnS/tree/Rel-16/OpenAPI
```
-For G-Release only the following schemas ...
+The following schemas ...
* TS28623_ComDefs.yaml
* TS28532_FaultMnS.yaml
diff --git a/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/OpenAPI/README.md b/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/OpenAPI/README.md
index d366c2f..0e792ce 100644
--- a/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/OpenAPI/README.md
+++ b/solution/smo/oam/ves-collector/externalRepo/3gpp/rep/sa5/MnS/raw/Rel-18/OpenAPI/README.md
@@ -1,4 +1,4 @@
-# 3gpp Release 18
+# 3GPP Release 18
This folder should contain the 3GPP YAML files. Such files are used be the VES
Collector to valid VES messages for domain 'stndDefined'.
@@ -8,7 +8,7 @@
https://forge.3gpp.org/rep/sa5/MnS/tree/Rel-18/OpenAPI
```
-For H-Release only the following schemas ...
+The following schemas ...
* TS28623_ComDefs.yaml
* TS28532_FaultMnS.yaml