Hardware requests :
Installation Environment:
Platform Environment:
## Become root user
sudo -i
output :
root@teep-ric:~#
apt-get update
## Install the Dependent Tools
apt-get install -y git vim curl net-tools openssh-server python3-pip nfs-common
output :
root@teep-ric:~# apt-get install -y git vim curl net-tools openssh-server python3-pip nfs-common
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
net-tools is already the newest version (1.60+git20181103.0eebece-1ubuntu5).
curl is already the newest version (7.81.0-1ubuntu1.15).
curl set to manually installed.
git is already the newest version (1:2.34.1-1ubuntu1.10).
git set to manually installed.
openssh-server is already the newest version (1:8.9p1-3ubuntu0.6).
vim is already the newest version (2:8.2.3995-1ubuntu2.15).
vim set to manually installed.
.
.
.
Running kernel seems to be up-to-date.
Restarting services...
Service restarts being deferred:
/etc/needrestart/restart.d/dbus.service
systemctl restart networkd-dispatcher.service
systemctl restart systemd-logind.service
systemctl restart unattended-upgrades.service
systemctl restart user@1000.service
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
cd ~
git clone https://gerrit.o-ran-sc.org/r/ric-plt/ric-dep -b i-release
output :
root@teep-ric:~# cd ~
git clone https://gerrit.o-ran-sc.org/r/ric-plt/ric-dep -b i-release
Cloning into 'ric-dep'...
remote: Total 2199 (delta 0), reused 2199 (delta 0)
Receiving objects: 100% (2199/2199), 879.62 KiB | 1.20 MiB/s, done.
Resolving deltas: 100% (906/906), done.
.
.
.
root@teep-ric:~# ll
total 32
drwx------ 5 root root 4096 Mar 18 15:39 ./
drwxr-xr-x 19 root root 4096 Mar 15 08:22 ../
-rw------- 1 root root 210 Mar 17 03:33 .bash_history
-rw-r--r-- 1 root root 3106 Oct 15 2021 .bashrc
-rw-r--r-- 1 root root 161 Jul 9 2019 .profile
drwxr-xr-x 11 root root 4096 Mar 18 15:39 ric-dep/
drwx------ 3 root root 4096 Mar 15 08:27 snap/
drwx------ 2 root root 4096 Mar 15 08:27 .ssh/
-rw-r--r-- 1 root root 0 Mar 15 14:27 .sudo_as_admin_successful
add repository alternative:
nano root/etc/apt/sources.list
adding to sources : ' deb https://mirrors.aliyun.com/kubernetes/apt kubernetes-xenial main '
continue command :
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | gpg --dearmor > /usr/share/keyrings/EXAMPLE.gpg
echo "deb [signed-by=/usr/share/keyrings/EXAMPLE.gpg] https://mirrors.aliyun.com/kubernetes/apt stable main" || sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
cd ric-dep/bin
./install_k8s_and_helm.sh
output :
root@teep-ric:~# cd ric-dep/bin
./install_k8s_and_helm.sh
+ KUBEV=1.16.0
+ KUBECNIV=0.7.5
+ HELMV=3.5.4
+ DOCKERV=20.10.21
+ echo running ./install_k8s_and_helm.sh
running ./install_k8s_and_helm.sh
+ getopts :k:d:e:n:c o
+ [[ 3.5.4 == 2.* ]]
+ set -x
+ export DEBIAN_FRONTEND=noninteractive
+ DEBIAN_FRONTEND=noninteractive
++ hostname -I
++ hostname
+ echo '192.168.0.155 ubuntu'
+ printenv
SHELL=/bin/bash
SUDO_GID=1000
SUDO_COMMAND=/bin/bash
SUDO_USER=ubuntu
PWD=/root/ric-dep/bin
LOGNAME=root
HOME=/root
LANG=en_US.UTF-8
.
.
.
+ echo '> waiting for 0/8 pods running in namespace [kube-system] with keyword [Running]'
> waiting for 0/8 pods running in namespace [kube-system] with keyword [Running]
+ '[' 0 -lt 8 ']'
+ sleep 5
.
.
.
+ '[' '' == teep-ric ']'
+ echo 'Done with master node setup'
Done with master node setup
+ [[ ! -z '' ]]
+ [[ ! -z '' ]]
+ [[ ! -z '' ]]
+ [[ 1 -gt 100 ]]
+ [[ 1 -gt 100 ]]
kubectl get pods -A
output :
root@teep-ric:~/ric-dep/bin# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-787d4945fb-5f5zs 1/1 Running 0 39s
kube-system coredns-787d4945fb-fx56v 1/1 Running 0 39s
kube-system etcd-teep-ric 1/1 Running 4 53s
kube-system kube-apiserver-teep-ric 1/1 Running 3 53s
kube-system kube-controller-manager-teep-ric 1/1 Running 3 52s
kube-system kube-flannel-ds-m6slx 1/1 Running 0 39s
kube-system kube-proxy-7m487 1/1 Running 0 39s
kube-system kube-scheduler-teep-ric 1/1 Running 3 53s
command:
./install_common_templates_to_helm.sh
output:
root@teep-ric:~/ric-dep/bin# ./install_common_templates_to_helm.sh
Installing servecm (Chart Manager) and common templates to helm3
Installed plugin: servecm
/root/.cache/helm/repository
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15.0M 100 15.0M 0 0 3460k 0 0:00:04 0:00:04 --:--:-- 4315k
linux-386/
linux-386/chartmuseum
linux-386/LICENSE
linux-386/README.md
servecm not yet running. sleeping for 2 seconds
nohup: appending output to 'nohup.out'
servcm up and running
/root/.cache/helm/repository
Successfully packaged chart and saved it to: /tmp/ric-common-3.3.2.tgz
Error: no repositories configured
"local" has been added to your repositories
checking that ric-common templates were added
NAME CHART VERSION APP VERSION DESCRIPTION
local/ric-common 3.3.2 Common templates for inclusion in other charts
command:
./setup-ric-common-template
output:
root@teep-ric:~/ric-dep/bin# ./setup-ric-common-template
Cloning into '../dep'...
remote: Counting objects: 318, done
remote: Finding sources: 100% (6989/6989)
remote: Total 6989 (delta 2787), reused 6952 (delta 2787)
Receiving objects: 100% (6989/6989), 3.81 MiB | 20.00 KiB/s, done.
Resolving deltas: 100% (2787/2787), done.
.
.
.
+ NONRTRIC_COMMON_CHART_VERSION=2.0.0
+ helm package -d /tmp /root/ric-dep/dep/bin/../ric-common/Common-Template/helm/nonrtric-common
Successfully packaged chart and saved it to: /tmp/nonrtric-common-2.0.0.tgz
+ cp /tmp/nonrtric-common-2.0.0.tgz /root/.cache/helm/repository/local/
+ helm repo index /root/.cache/helm/repository/local/
+ helm repo remove local
"local" has been removed from your repositories
+ helm repo add local http://127.0.0.1:8879/charts
"local" has been added to your repositories
command :
sudo nano ~/ric-dep/helm/appmgr/resources/appmgr.yaml
Add loglevel “DEBUG”:
Add loglevel : 4
"xapp":
#Namespace to install xAPPs
"namespace": __XAPP_NAMESPACE__
"tarDir": "/tmp"
"schema": "descriptors/schema.json"
"config": "config/config-file.json"
"tmpConfig": "/tmp/config-file.json"
"loglevel" : 4
Step 1:Modify the loglevel.txt section
command :
sudo nano ~/ric-dep/helm/a1mediator/templates/config.yaml
Change log-level: {{ .Values.loglevel }} to log-level: {{ .Values.a1mediator.loglevel }}
output :
loglevel.txt: |
log-level: {{ .Values.a1mediator.loglevel }}
Step 2:Change loglevel from INFO to DEBUG & change Component Connection
command :
sudo nano ~/ric-dep/helm/a1mediator/values.yaml
Change loglevel from INFO to DEBUG & add a1ei: ecs_ip_port: "http://<ecs_host>:<ecs_port>
output:
rmr_timeout_config:
a1_rcv_retry_times: 20
ins_del_no_resp_ttl: 5
ins_del_resp_ttl: 10
loglevel: "DEBUG"
a1ei:
ecs_ip_port: "http://<ecs_host>:<ecs_port>"
Step 1:Add ENV for A1EI
sudo nano ~/ric-dep/helm/a1mediator/templates/env.yaml
Add ECS_SERVICE_HOST: {{ .Values.a1mediator.a1ei.ecs_ip_port }}
output:
INSTANCE_DELETE_NO_RESP_TTL: "{{ .Values.a1mediator.rmr_timeout_config.ins_del_no_resp_ttl }}"
INSTANCE_DELETE_RESP_TTL: "{{ .Values.a1mediator.rmr_timeout_config.ins_del_resp_ttl }}"
CONFIG_MAP_NAME: "/opt/route/loglevel.txt"
ECS_SERVICE_HOST: {{ .Values.a1mediator.a1ei.ecs_ip_port }}
Change level from 3(Info) to 4(Debug):
sudo nano ~/ric-dep/helm/submgr/templates/configmap.yaml
output:
submgrcfg: |
"local":
"host": ":8080"
"logger":
"level": 4
"rmr":
"protPort" : "tcp:4560"
"maxSize": 8192
"numWorkers": 1
Step 1:Add new port for subscription in service file
sudo nano ~/ric-dep/helm/submgr/templates/service-http.yaml
Add Line 11 to 14
spec:
selector:
app: {{ include "common.namespace.platform" . }}-{{ include "common.name.submgr" . }}
release: {{ .Release.Name }}
clusterIP: None
ports:
- name: http
port: {{ include "common.serviceport.submgr.http" . }}
protocol: TCP
targetPort: http
- name: subscription
port: 8088
protocol: TCP
targetPort: 8088
Step 2:Add new port for subscription in deployment file
sudo nano ~/ric-dep/helm/submgr/templates/deployment.yaml
Add Line from 9 to 11
containers:
...
envFrom:
- configMapRef:
name: {{ include "common.configmapname.submgr" . }}-env
- configMapRef:
name: {{ include "common.configmapname.dbaas" . }}-appconfig
ports:
- name: subscription
containerPort: 8088
protocol: TCP
...
Add A1EI Msgtype and A1EI Routes:
sudo nano ~/ric-dep/helm/rtmgr/templates/config.yaml
Add Line from 3 to 7 & 12 to 13
"messagetypes": [
...
"A1_EI_QUERY_ALL=20013",
"A1_EI_QUERY_ALL_RESP=20014",
"A1_EI_CREATE_JOB=20015",
"A1_EI_CREATE_JOB_RESP=20016",
"A1_EI_DATA_DELIVERY=20017",
]
...
"PlatformRoutes": [
...
{ 'messagetype': 'A1_EI_QUERY_ALL','senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'A1MEDIATOR', 'meid': ''},
{ 'messagetype': 'A1_EI_CREATE_JOB','senderendpoint': '', 'subscriptionid': -1, 'endpoint': 'A1MEDIATOR', 'meid': ''},
]
Step 1:Change controls.promAlertManager.address
sudo nano ~/ric-dep/helm/alarmmanager/templates/configmap.yaml
change cpro-alertmanager:80 to r4-infrastructure-prometheus-alertmanager:80
controls": {
"promAlertManager": {
"address": "r4-infrastructure-prometheus-alertmanager:80",
"baseUrl": "api/v2",
"schemes": "http",
"alertInterval": 30000
},
Step 2:Add livenessProbe and readinessProbe
sudo nano ~/ric-dep/helm/alarmmanager/templates/deployment.yaml
Add Line from 10 to 25
spec:
hostname: {{ include "common.name.alarmmanager" . }}
imagePullSecrets:
- name: {{ include "common.dockerregistry.credential" $imagectx }}
serviceAccountName: {{ include "common.serviceaccountname.alarmmanager" . }}
containers:
- name: {{ include "common.containername.alarmmanager" . }}
image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.alarmmanager.image.name }}:{{ $imagetag }}
imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
readinessProbe:
failureThreshold: 3
httpGet:
path: ric/v1/health/ready
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 15
livenessProbe:
failureThreshold: 3
httpGet:
path: ric/v1/health/alive
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 15
...
Add livenessProbe and readinessProbe:
sudo nano ~/ric-dep/helm/o1mediator/templates/deployment.yaml
Add Line from 10 to 29
spec:
hostname: {{ include "common.name.o1mediator" . }}
imagePullSecrets:
- name: {{ include "common.dockerregistry.credential" $imagectx }}
serviceAccountName: {{ include "common.serviceaccountname.o1mediator" . }}
containers:
- name: {{ include "common.containername.o1mediator" . }}
image: {{ include "common.dockerregistry.url" $imagectx }}/{{ .Values.o1mediator.image.name }}:{{ .Values.o1mediator.image.tag }}
imagePullPolicy: {{ include "common.dockerregistry.pullpolicy" $pullpolicyctx }}
livenessProbe:
failureThreshold: 3
httpGet:
path: ric/v1/health/alive
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
httpGet:
path: ric/v1/health/ready
port: 8080
scheme: HTTP
initialDelaySeconds: 5
periodSeconds: 15
successThreshold: 1
timeoutSeconds: 1
...
kubectl create ns ricinfra
helm repo add stable https://charts.helm.sh/stable
helm install nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra
kubectl patch storageclass nfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
sudo apt install nfs-common
output :
root@teep-ric:~# kubectl create ns ricinfra
all nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra
kubectl patch storageclass nfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
sudo apt install nfs-commonnamespace/ricinfra created
root@teep-ric:~# helm repo add stable https://charts.helm.sh/stable
"stable" has been added to your repositories
root@teep-ric:~# helm install nfs-release-1 stable/nfs-server-provisioner --namespace ricinfra
WARNING: This chart is deprecated
NAME: nfs-release-1
LAST DEPLOYED: Tue Apr 2 11:08:00 2024
.
.
.
root@teep-ric:~# kubectl patch storageclass nfs -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
storageclass.storage.k8s.io/nfs patched
Find your IP of VM:
ip a
output:
root@teep-ric:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b6:64:fb:a9:11:fe brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 192.168.0.212/24 brd 192.168.0.255 scope global noprefixroute ens18
valid_lft forever preferred_lft forever
inet6 fe80::8afa:e23b:85c6:4d3e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:da:f3:d4:ee brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
4: flannel.1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue state UNKNOWN group default
link/ether ea:49:e0:af:53:f0 brd ff:ff:ff:ff:ff:ff
inet 10.244.0.0/32 scope global flannel.1
valid_lft forever preferred_lft forever
inet6 fe80::e849:e0ff:feaf:53f0/64 scope link
valid_lft forever preferred_lft forever
Modify the IP of RIC and AUX::
sudo nano ~/ric-dep/RECIPE_EXAMPLE/example_recipe_oran_i_release.yaml
output:
# Change the namespaces using the following options
# namespace:
# aux: ricaux
# platform: ricplt
# xapp: ricxapp
# infra: ricinfra
# ricip should be the ingress controller listening IP for the platform cluster
# auxip should be the ingress controller listening IP for the AUX cluster
extsvcplt:
ricip: "192.168.0.212"
auxip: "192.168.0.212"
Deploy the RIC Platform:
cd ~/ric-dep/bin
./install -f ../RECIPE_EXAMPLE/example_recipe_oran_i_release.yaml -c "jaegeradapter influxdb"
output:
root@teep-ric:~/ric-dep/bin# ./install -f ../RECIPE_EXAMPLE/example_recipe_oran_i_release.yaml -c "jaegeradapter influxdb"
namespace/ricplt created
namespace/ricxapp created
nfs storage exist
Deploying RIC infra components [infrastructure dbaas appmgr rtmgr e2mgr e2term a1mediator submgr vespamgr o1mediator alarmmanager jaegeradapter influxdb]
configmap/ricplt-recipe created
Add cluster roles
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "local" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 7 charts
.
.
.
InfluxDB 2 is deployed as a StatefulSet on your cluster.
You can access it by using the service name: r4-influxdb-influxdb2
To retrieve the password for the 'admin' user:
echo $(kubectl get secret r4-influxdb-influxdb2-auth -o "jsonpath={.data['admin-password']}" --namespace ricplt | base64 --decode)
Note: with enabled persistence, admin password is only set once during the initial deployment. The password is not changed when InfluxDB 2 is re-deployed with different password.
kubectl get pods -A
Output:
root@teep-ric:~/ric-dep/bin# kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-5644d7b6d9-88pl2 1/1 Running 0 39m
kube-system coredns-5644d7b6d9-v9pmm 1/1 Running 0 39m
kube-system etcd-teep-ric 1/1 Running 0 37m
kube-system kube-apiserver-teep-ric 1/1 Running 0 37m
kube-system kube-controller-manager-teep-ric 1/1 Running 0 38m
kube-system kube-flannel-ds-dp2hm 1/1 Running 0 39m
kube-system kube-proxy-6zz8v 1/1 Running 0 39m
kube-system kube-scheduler-teep-ric 1/1 Running 0 38m
ricinfra deployment-tiller-ricxapp-68f777c4d4-xw2m4 1/1 Running 0 12m
ricinfra nfs-release-1-nfs-server-provisioner-0 1/1 Running 0 13m
ricinfra tiller-secret-generator-hsttk 0/1 Completed 0 12m
ricplt deployment-ricplt-a1mediator-7d5b85ff7d-nnlmf 1/1 Running 0 10m
ricplt deployment-ricplt-alarmmanager-5b797c9484-klnvj 1/1 Running 0 9m17s
ricplt deployment-ricplt-appmgr-77986c9cbb-cxhcr 1/1 Running 0 11m
ricplt deployment-ricplt-e2mgr-78c987559f-pcz7j 1/1 Running 0 10m
ricplt deployment-ricplt-e2term-alpha-5dc768bcb7-smk8w 1/1 Running 0 10m
ricplt deployment-ricplt-jaegeradapter-76ddbf9c9-ljhgp 1/1 Running 0 9m
ricplt deployment-ricplt-rtmgr-78f768474-8bs4p 1/1 Running 6 11m
ricplt deployment-ricplt-submgr-547965db4c-7rhct 1/1 Running 0 10m
ricplt deployment-ricplt-vespamgr-84f7d87dfb-2tr2v 1/1 Running 0 9m49s
ricplt r4-influxdb-influxdb2-0 1/1 Running 0 8m52s
ricplt r4-infrastructure-kong-7995f4679b-pcdkt 2/2 Running 2 12m
ricplt r4-infrastructure-prometheus-alertmanager-5798b78f48-5wssd 2/2 Running 0 12m
ricplt r4-infrastructure-prometheus-server-c8ddcfdf5-bftkp 1/1 Running 0 12m
ricplt statefulset-ricplt-dbaas-server-0 1/1 Running 0 11m
Prepare source code:
docker run --rm -u 0 -it -d -p 8090:8080 -e DEBUG=1 -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/chart -v $(pwd)/charts:/charts chartmuseum/chartmuseum:latest
export CHART_REPO_URL=http://0.0.0.0:8090
git clone https://gerrit.o-ran-sc.org/r/ric-plt/appmgr -b i-release
output:
root@teep-ric:~/ric-dep/bin# docker run --rm -u 0 -it -d -p 8090:8080 -e DEBUG=1 -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/chart -v $(pwd)/charts:/charts chartmuseum/chartmuseum:latest
Unable to find image 'chartmuseum/chartmuseum:latest' locally
latest: Pulling from chartmuseum/chartmuseum
596ba82af5aa: Pull complete
97cda76ac4f8: Pull complete
7cd1b4b8c77a: Pull complete
Digest: sha256:7fb4cd65d68978b1280f39cedc8c4db8c96efe6f622160a109b425a95098615f
Status: Downloaded newer image for chartmuseum/chartmuseum:latest
e9995461ba3d653d45f6c3ffd2dad079bc8c54edf3febd1aeafa9bdad0bed4c7
root@teep-ric:~/ric-dep/bin# export CHART_REPO_URL=http://0.0.0.0:8090
root@teep-ric:~/ric-dep/bin# cd ~
root@teep-ric:~# git clone https://gerrit.o-ran-sc.org/r/ric-plt/appmgr -b i-release
Cloning into 'appmgr'...
remote: Counting objects: 13, done
remote: Total 790 (delta 0), reused 790 (delta 0)
Install DMS tool:
cd appmgr/xapp_orchestrater/dev/xapp_onboarder
apt-get install python3-pip
pip3 uninstall xapp_onboarder
pip3 install ./
chmod 755 /usr/local/bin/dms_cli
ls -la /usr/local/lib/ptyhon3.8
chmod -R 755 /usr/local/lib/python3.8
output:
root@teep-ric:~# cd appmgr/xapp_orchestrater/dev/xapp_onboarder
root@teep-ric:~/appmgr/xapp_orchestrater/dev/xapp_onboarder# apt-get install python3-pip
Reading package lists... Done
Building dependency tree
Reading state information... Done
python3-pip is already the newest version (20.0.2-5ubuntu1.10).
0 upgraded, 0 newly installed, 0 to remove and 82 not upgraded.
root@teep-ric:~/appmgr/xapp_orchestrater/dev/xapp_onboarder# pip3 uninstall xapp_onboarder
WARNING: Skipping xapp-onboarder as it is not installed.
root@teep-ric:~/appmgr/xapp_orchestrater/dev/xapp_onboarder#
.
.
.
root@teep-ric:~/appmgr/xapp_orchestrater/dev/xapp_onboarder# pip3 install ./
Processing /root/appmgr/xapp_orchestrater/dev/xapp_onboarder
Requirement already satisfied: Click==7.0 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (7.0)
Collecting Flask==1.1.1
Downloading Flask-1.1.1-py2.py3-none-any.whl (94 kB)
|████████████████████████████████| 94 kB 2.7 MB/s
.
.
.
root@teep-ric:~/appmgr/xapp_orchestrater/dev/xapp_onboarder# pip3 install ./
Processing /root/appmgr/xapp_orchestrater/dev/xapp_onboarder
Requirement already satisfied: Click==7.0 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (7.0)
Requirement already satisfied: Flask==1.1.1 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (1.1.1)
Requirement already satisfied: Jinja2==2.11.1 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (2.11.1)
Requirement already satisfied: MarkupSafe==1.1.1 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (1.1.1)
Requirement already satisfied: PyYAML==5.3 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (5.3)
Requirement already satisfied: Werkzeug==0.16.1 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (0.16.1)
Requirement already satisfied: aniso8601==8.0.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (8.0.0)
Requirement already satisfied: attrs==19.3.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (19.3.0)
Requirement already satisfied: certifi==2019.11.28 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (2019.11.28)
Requirement already satisfied: chardet==3.0.4 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (3.0.4)
Requirement already satisfied: fire==0.2.1 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (0.2.1)
Requirement already satisfied: flask-restplus==0.13.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (0.13.0)
Requirement already satisfied: idna==2.9 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (2.9)
Requirement already satisfied: importlib-metadata==1.5.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (1.5.0)
Requirement already satisfied: itsdangerous==1.1.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (1.1.0)
Requirement already satisfied: jsonschema==3.2.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (3.2.0)
Requirement already satisfied: pyrsistent==0.15.7 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (0.15.7)
Requirement already satisfied: pytz==2019.3 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (2019.3)
Requirement already satisfied: requests==2.23.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (2.23.0)
Requirement already satisfied: six==1.14.0 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (1.14.0)
Requirement already satisfied: termcolor==1.1.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (1.1.0)
Requirement already satisfied: urllib3==1.25.8 in /usr/lib/python3/dist-packages (from xapp-onboarder==1.0.0) (1.25.8)
Requirement already satisfied: zipp==3.0.0 in /usr/local/lib/python3.8/dist-packages (from xapp-onboarder==1.0.0) (3.0.0)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from jsonschema==3.2.0->xapp-onboarder==1.0.0) (45.2.0)
#Install KPI Monitoring
Aug 9, 2024The steps below assume a clean installation of Ubuntu 20.04 (no k8s, no docker, no helm)
Aug 5, 20245G’s O-RAN E2 interface workIntroduction Role of near-RT RIC and its functionalities E2 protocol stack E2AP Terminologies Constituents of an E2 Node Structure of E2AP General workflow on E2 interface A practitioner’s view of E2AP Protocol and challenges in adopting Near RT RIC and E2 Communication
Jul 8, 2024image
Jul 8, 2024or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up